クリアフィルター
記事
Megumi Kakechi · 2021年6月1日
これは InterSystems FAQ サイトの記事です。
OSのコマンド実行する場合、$ZF(-100) を使用します。
do $ZF(-100,"",program,args) // Windows コマンドを【同期】実行します。
do $ZF(-100,"/ASYNC",program,args) // Windows コマンドを【非同期】実行します。
mkdir, copy などのOSシェルコマンドを実行する場合は、/SHELL もあわせて指定します。
do $zf(-100,"/shell /async","mkdir","c:\temp\x")
詳細は以下のドキュメントを参照してください。
$ZF(-100) について【IRIS】$ZF(-100) について
記事
Tomoko Furuzono · 2021年10月19日
これは、InterSystems FAQサイトの記事です。システムをアップグレードした後、管理ポータルを開こうとすると、下記のエラーが表示される場合があります。
ERROR #5001: Server version of object does not match version sent from the client: %ZEN.Component.vgroup
このエラーは、ブラウザのキャシュに古い情報が残っているために発生しています。
ブラウザのキャッシュをクリアすることでエラーを解消することができます。
記事
Hiroshi Sato · 2020年9月28日
これはInterSystems FAQ サイトの記事です。
言語バインディングなどのサーバクライアント型で接続した場合、クライアントのマシン名は以下の処理で取得できます。
set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName
クライアントのIPアドレスは以下の処理で取得できます。
set ip=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress
* サーバーとクライアントが同一マシンの場合、上記で取得できるIPアドレスは、127.0.0.1になります。
記事
Mihoko Iijima · 2020年11月12日
これはInterSystems FAQ サイトの記事です。
システムルーチン ^DBSIZE を利用するとバックアップファイルサイズを見積もることができます(メモ1もご参照ください)。
^DBSIZE は、データベース・バックアップ・リストに選択されたデータベースを対象に、フルバックアップ/累積バックアップ/差分バックアップそれぞれのファイルサイズを見積もります。
なお、データベース・バックアップ・リストは、管理ポータルの [システム管理] > [構成] > [データベースバックアップ] > [データベース・バックアップ・リスト] から作成します。
詳細については、下記ドキュメントもご参照ください。
^DBSIZEによるバックアップ・サイズの見積もり【IRIS】
^DBSIZEによるバックアップ・サイズの見積もり
実行例は、以下の通りです。
USER>set $namespace="%SYS" //または zn "%SYS"
%SYS>do ^DBSIZE
Incremental Backup Size Estimator
What kind of backup:
1. Full backup of all in-use blocks
2. Incremental since last backup
3. Cumulative incremental since last full backup
4. Exit the backup program
1 => 1
In-Use Block
Directory Blocks Size
c:\intersystems\iris1\mgr\fs\ 2,668 (8KB)
c:\intersystems\iris1\mgr\irisaudit\ 102 (8KB)
--------------
Total number of database blocks: 2,770
Total backup size, including overhead of volume and pass labels:
For a disk file:
Number of 512-byte blocks: 46,068 (23,586,816 bytes)
For magnetic media:
Number of 58KB blocks: 398 (23,638,016 bytes)
%SYS>
メモ1:^DBSIZE ルーチンは、オンラインバックアップを使用してデータベースのバックアップを行っている環境に有効な方法です。
メモ2:オンラインバックアップ とは?
弊社製品(Caché/Ensemble/HealthShare/IRIS)の内部ツールを使用してデータベースの使用済ブロックをオンラインでバックアップする方法のことです。
この他にも、データベースファイルをオンラインでバックアップする方法もあります。バックアップ手法の違いについてはFAQトピック「データベースのバックアップにはどのような方法がありますか?」もご参照ください。
記事
Megumi Kakechi · 2021年3月25日
これは InterSystems FAQ サイトの記事です。
^%GSIZE ユーティリティでは、グローバルのサイズを算出することができます。
このユーティリティで出力される各項目の意味について説明します。
例えば、USERネームスペースのグローバルについて do ^%GSIZE を実行し、以下のように出力結果を得られたとします。
USER>do ^%GSIZE Directory name: c:\intersystems\iris\mgr\user\ => // サイズを確認したいデータベースディレクトリ All Globals? No => yes // 全てのグローバルサイズを確認する場合は yes 100 items selected from100 available globalsShow details?? No => yes // 詳細情報を表示したい場合は yesDevice: // 画面出力はそのまま <Enter>。出力ファイルパス指定も可Right margin: 80 =>:directory: c:\intersystems\iris\mgr\user\Page: 1 GLOBAL SIZE 03 Sep 2020 10:15 AM Global Blocks Bytes Used Packing Contig. -------- -------- --------------- ------- ------- A 1 12 0 % 0 B 59 432,028 90 % 42 :
「Blocks」は、 グローバルが格納されているブロックの総数になります。 グローバルAは1ブロック(1*8192Byte)使用しているということになります。 グローバルBは59ブロック(59*8192Byte)使用しているということになります。
「Bytes Used」は、 グローバルに使用されている総バイト数になります。 グローバルAは12Byte、Bは432,028Byte使用しているということになります。
「Packing」は、 グローバルの充填率を示します。この値は、以下の計算式で求められます。
Bytes Used /(Blocks * Block Size) * 100 B : 432,028 /(59 x 8192) * 100 ≒ 90 %
「Contig」は、 グローバルが使用しているブロックで一番大きな連続領域のブロック数を示します。 グローバルB では 42個のブロックが一番大きく連続して確保された領域であることを示しています。
※ ^%GSIZE ユーティリティについては、【FAQ】 データサイズを調べる方法はありますか? もあわせてご覧ください。
質問
松川 幸久 · 2022年12月19日
こんにちは、普段はスタジオを使っているのですが、サーバCSPフォルダ内のHTMLファイルを編集する事があり、便利なのでたまにVSCODEを利用しています。以前はHTMLファイルも表示していたと思うのですが、何をやらかしたのかCSP,CSS,MACのみになりました。int,html,jsなどの他のファイルを表示する設定をご存知の方いらっしゃいましたらご教授お願い致します。
InterSystems Language Serverv2.1.4 InterSystems ObjectScriptv2.2.0 InterSystems Server Managerv3.2.1vscodeVersion: 1.74.1 (user setup)Commit: 1ad8d514439d5077d2b0b7ee64d2ce82a9308e5aDate: 2022-12-14T10:30:51.966ZElectron: 19.1.8Chromium: 102.0.5005.167Node.js: 16.14.2V8: 10.2.154.15-electron.0OS: Windows_NT x64 10.0.18363Sandboxed: No
こんにちは。
私はCSPの変更の経験がないので同様の現象になったことが無いのですが、症状から見るに、Cache'というよりかはVScodeの設定の話かなと思いました。
VScodeにはExcludeという設定があり、指定したパターンに該当する項目を非表示にする仕組みがあります。こちらに該当していたりしないでしょうか?
https://dlrecord.hatenablog.com/entry/2020/11/22/144540 Ohata様。お声がけ下さりありがとうございます。Excludeなるものがあるんですね。早速調べてみました。
うーん該当しそうな拡張子はなさそうです。Cache'のプロジェクト機能は普段利用している気はないのですが
スタジオのワークスペースからその他にファイル単位で追加すると追加した分がみえました。これではなーって感じです。自分はプロジェクトの機能を理解していないのでこの辺りに問題があるのかな?と疑っています。
Excludeの設定教えて下さりありがとうございました。
追記
ワークスペーススベースのへ追加をやり直しました。EDIT WEB APPLICATION FILESを選択し直した所解決しました。ありがとうございました。
記事
Megumi Kakechi · 2022年11月3日
これは InterSystems FAQ サイトの記事です。
Question:
IRISという製品名を選んだのはなぜですか?
Answer:
IRISは、インターシステムズの製品開発者がソフトウェアを開発する際に常に念頭に置くべき以下の4つの原則の先頭文字を表しています。
[ I ] Interoperable:他のソフトウェアと連携して動作すること [ R ] Reliable:信頼性が高いこと [ I ] Intuitive:直観的に使用できること [ S ] Scalable:スケール(拡張性が高い)すること
ディスカッション
Miqueias Santos · 2023年5月18日
こんにちは、大丈夫ですか?
助けを求めに来ました。インターシステムズ ポルトガル語のコンテストに参加しているので、リンクからこの記事を作成しました。私の記事にアクセスしてフィードバックをいただけますか。「いいね!」も歓迎です。
ここ: https://pt.community.intersystems.com/post/veremos-seguir-como-o-intersystems-iris-aliado-com-machine-learning-pode-transformar-para
読むには、ブラジル系ポルトガル語からあなたの言語に翻訳するだけです。
記事
Toshihiko Minamoto · 2021年12月14日
着想: @Evgeny.Shvarovとその記事より
**[Deploying InterSystems IRIS Embedded Python Solutions with ZPM Package Manager](https://community.intersystems.com/post/deploying-intersystems-iris-embedded-python-solutions-zpm-package-manager)**
このアイデアを発展させ、同じことを**Node.js.**のモジュールで行ってみました。
このケースは、私の「[IRIS Native API for Node.js](https://community.intersystems.com/post/websocket-client-js-iris-native-api-docker-micro-server)」の例に基づいています。
InterSystems IRIS は[クライアント](https://docs.intersystems.com/irislatestj/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&PRIVATE=1&SYSTEM=0&CLASSNAME=%25Net.WebSocket.Client)としてネイティブでWebSocketsをサポートしているというわかりきった返答を期待して:
その通りです。そして、[私がその昔書いた関連記事](https://community.intersystems.com/post/websocket-client-iris-internal)と[OEXのサンプル](https://openexchange.intersystems.com/package/IRIS-internal-WebSocket-Client)へのリンクはこちらです。
ZPMで適用される原理は、Pythonの場合と似ており、完全に機能します。
**変更内容**
* その他すべての**必須**Node.jsコンポーネントは、ランタイム時にインストールできるようになりました。
* Dockerビルド中には、_intersystems-iris-native_モジュールのみがプリインストールされます。
* Node.jsが起動すると、デバッグ目的でそのプロセスIDが表示されます。
* 一部の視覚的な外観とランタイムが改善されました。
Node.jsでは、追加の必須コンポーネントをインストールする際に、npmを使用して、十分な権限でインストールしなければならないという課題に直面します。
このステップとアクセス権の調整は、Dockerfileでカバーされています。
しかし、すべての .jsモジュールを処理するのは、**ZPM**です。
この例のロジックは変更されていません。
* Nodes.jsサービスが開始される
* 選択したエコーサーバーのアドレスがそれに渡される > **E**
* 送信されるテキストを作成する > **N**
* それを送信して、返信がどのようにドロップされるかを確認する > **S**
* サービスを停止して終了する > **X**
元の例とは異なり、サービスはバックグラウンドで実行しています。
従って、その出力は見えませんが、アクションによって表示できるログファイルに書き込まれます > **L**
## 前提条件
gitとDocker desktopがインストールされていることを確認してください。
## インストール
このリポジトリを任意のローカルディレクトリにClone/git pullします。
$ git clone https://github.com/rcemper/Using-ZPM-for-Node.js
このディレクトリでターミナルを開き、以下を実行します。
$ docker-compose build
これが完了するまでしばらく時間が掛かることがあります。
このプロジェクトで IRIS コンテナを実行します。
$ docker-compose up -d
## テスト方法
IRIS ターミナルを使用します。
$ docker-compose exec iris iris session iris "##class(rccjs.WSockNodeJs).Run()"
*** Welcome to WebSocket by Node.js Native API Demo ***
********* Node.js process id = 1650 *********
Known Hosts (*=Exit) [1]:
1 ws://echo.websocket.org/
2 --- server 2 ----
3 --- server 3 ----
select (1): 1 ==> ws://echo.websocket.org/
#
Enter text to get echoed from WebSocketClient Service
Terminate with * at first position
or get generated text by %
or append new text with @
1 hello this is connected over
2 IRIS Native API for Node.js
3 -----------------
4 *
Select action for WebClient Service
New EchoServer (E), New Text(N), Send+Listen(S)
Show Log (L), Exit+Stop WsClient(X) [S] :s
%%%%%%%%%%%%%%%%%%%%%%%%%%
******* 3 Replies *******
1 hello this is connecte over
2 IRIS Native API for Node.js
3 -----------------
Select action for WebClient Service
New EchoServer (E), New Text(N), Send+Listen(S)
Show Log (L), Exit+Stop WsClient(X) [S] <strong>:<span style="font-size:16px;">L</span></strong>
%%%%%%%%%%%%%%%%%%%%%%%%%%
platform = linux: ubuntu
*****************************
*** no IRIS host defined ****
Connect to IRIS on: localhost
Successfully connected to InterSystems IRIS.
*** wait 3sec for request ***
******* Startup done ********
*** wait 3sec for request ***
*** wait 3sec for request ***
*** wait 3sec for request ***
*** wait 3sec for request ***
echoserver: ws://echo.websocket.org/
** Lines to process: 3 **
********* next turn *********
* WebSocket Client connected *
****** Client is ready ******
Line: 1 text> 'hello this is connecte over '
Received: 1 > 'hello this is connecte over '
Line: 2 text> 'IRIS Native API for Node.js '
Received: 2 > 'IRIS Native API for Node.js '
Line: 3 text> '----------------- '
Received: 3 > '----------------- '
******* lines sent: 3 ******
*** replies received: 3 ****
*** wait 3sec for request ***
*** wait 3sec for request ***
Select action for WebClient Service
New EchoServer (E), New Text(N), Send+Listen(S)
Show Log (L), Exit+Stop WsClient(X) [S] :x
%%%%%%%%%%%%%%%%%%%%%%%%%%
記事
Tomoko Furuzono · 2021年5月26日
これは、InterSystems FAQサイトの記事です。
iris コマンドを使用して、InterSystems IRIS のインスタンスを制御できます。iris コマンドは多くの機能をサポートします。以下の構文を使用します。
iris <ファンクション名> <インスタンス名> [引数]
irisコマンドの詳細は下記ドキュメントをご参照ください。InterSystems IRIS インスタンスの制御このirisコマンドのrunw というファンクションを使用して、同期実行や戻り値を取得することができます。コマンド実行例は以下の通りです。
iris runw インスタンス名 tag^routine([parameter-list]) ネームスペース名iris runw インスタンス名 ##CLASS(package.class).method([parameter-list]) ネームスペース名
バッチスクリプトへの戻り値の指定は、ルーチンやメソッド終了時に指定する QUIT や RETURN コマンドに引数を指定する方法ではなく、IRIS 内の処理終了時に %SYSTEM.Process クラスの Terminate() メソッドを使用して errorlevel 変数に値を返す方法を使用します。値は、0~255 を指定できます。ルーチンサンプルは以下の通りです。
// ルーチン名をTest.macとしますstart1() public { hang 5 // 5秒待つ //第2引数に指定した数値がシェルスクリプトに戻ります set st=$system.Process.Terminate($JOB,11)}
クラスメソッドサンプルは以下の通りです。
Class Test.Class1{ClassMethod test(){ hang 5 // 5秒待つ //第2引数に指定した数値がシェルスクリプトに戻ります set st=$system.Process.Terminate($JOB,12)}}
上記ルーチンとクラスメソッドを起動するバッチスクリプト例は以下の通りです。※インスタンス名=IRIS1
cd c:\intersystems\IRIS1\biniris runw IRIS1 start1^^Test() USERecho %errorlevel% iris runw IRIS1 ##class(Test.Class1).test() USERecho %errorlevel% pause Furuzonoさん、情報ありがとうございます。Windowsマシンで試したのですが、OS認証をONにするのを忘れてハマってしまったので、念のため情報共有しておきます。OS認証をONにする方法
システム管理ポータルの「システム管理」「セキュリティ」「システムセキュリティ」「認証/ウェブセッションオプション」メニューをクリックします。
以下のページが表示されますので、「OS認証を許可」をチェックし、「保存」ボタンをクリックします。
システム管理ポータルの「システム管理」「セキュリティ」「サービス」メニューをクリックします。
「%Service_Console」をクリックし、表示されるダイアログにて「オペレーティングシステム」をチェック、「保存」ボタンをクリックします。
あとはWindowsユーザと同じ名前のユーザを作成すれば(インストール時のWindowsユーザであれば自動的に作成されています)、バッチファイルからirisコマンドでルーチンやクラスが起動できました。
お知らせ
Yoichi Miyashita · 2021年11月2日
対象バージョン 2020.1.0以降のInterSystems IRISおよびInterSystems IRIS for Healthのすべてのメジャー・リリースおよびメンテナンス・バージョン 対象プラットフォーム 全て
発生する問題 分散型キャッシュ・クラスタ(ECP 構成) でアプリケーションのロック保証に違反し、アプリケーションの整合性に問題が生じる可能性があります。
問題の詳細 この問題は、データサーバの再起動またはフェイルオーバー後に、アプリケーションサーバがECPリカバリを正常に実行した場合にのみ発生します。以下のようなケースです。
再起動時またはフェイルオーバー時に、アプリケーションサーバ上で実行されているプロセスがデータサーバ上のデータベースに対して合計255個以上のロックを保持している場合、これらのロックの一部がデータサーバのロックテーブルに記録されないことがあります。
データサーバはクラスタ全体に分散するのロックを管理しているため、他のアプリケーションサーバ上のプロセスやデータサーバ自身が、アプリケーションサーバが保持するロックのいずれかと競合するロックを同時に取得する可能性があり、アプリケーションの整合性に問題が発生する可能性があります。
* ECPリカバリについては、こちらのドキュメントを参照してください。
* ロックと並行処理の詳細については、こちらのドキュメントを参照してください。解決方法 この問題は、修正ID: SML2930 で修正されます。この修正は、InterSystems IRIS および InterSystems IRIS for Health 2020.1.2 および 2021.1.1 を含む、今後リリースされるすべての製品に含まれています。
また、お客様のご要望により、修正を現在お使いのEM(Extended Maintenance) リリースの製品に対するパッチとして個別に作成してご提供することが可能です。
お使いのシステムに対するパッチが必要な場合は、バージョン情報とライセンスキー情報をご確認の上、インターシステムズカスタマーサポートセンターまでお知らせ下さい。
HealthShare をお使いのお客様への注意事項 HealthShareファミリーの製品では、分散型キャッシュクラスターを直接使用することはありませんが、分散型キャッシュクラスタを使用して、HealthShareの別のインスタンス上のデータにアクセスすることをサポートしています。この機能を使用しているお客様は、この不具合による影響があるかどうかを判断するために、設定を確認する必要があります。
記事
Mihoko Iijima · 2020年11月20日
これはInterSystems FAQ サイトの記事です。
バックアップには、以下4種類の方法があります。
外部バックアップ
オンラインバックアップ(コンカレントバックアップ)
コールドバックアップ
レガシー並行外部バックアップ
詳細は、以下ドキュメントをご参照ください。
バックアップの方法について【IRIS】バックアップの方法について
1、2、4は、インスタンスを停止せずにバックアップが行えます(末尾の関連情報もご参照ください)。3 は、インスタンスを停止した後でバックアップを行う方法です。
またシステム構成や障害バターンを基にバックアップを設計、計画する上での注意点、自動化のサンプルやバックアップを実施する上で役立つ各種関連技術についてはInterSystems Symposia 2014 発表資料 をご参照ください(※1)。
※1:InterSystems Symposia 2014でご紹介した内容で、Cachéと記載がありますがバックアップ方法についてはIRISも同様です。
【関連情報】(コミュニティ/FAQトピックをリンクしています)
データベースをバックアップする際の停止時間をできるだけ短くしたいのですが。
ジャーナルファイルを削除するにはどのようにしたらいいですか?
稼働中のインスタンスを停止せずにバックアップを行う方法
オンラインバックアップでのバックアップサイズを見積もる方法
オンラインバックアップ保存先にネットワークドライブ(NAS等)を指定することはできますか?
累積バックアップと差分バックアップの違いを教えてください
オンラインバックアップをコマンドから実行する方法を教えてください
記事
Mihoko Iijima · 2021年2月25日
これは InterSystems FAQ サイトの記事です
復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。
その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。
ツール使用方法については、PDF または以下ビデオでご紹介しています。
※ InterSystems IRIS / IRIS for Health をご利用の方は、こちらの記事をご参照ください。
ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。
ビデオの目次(YouTubeでもご覧いただけます)
0:00~1:40 情報収集ツールを使用する上での大事なポイント
1:41~2:15 ツールの種類について
2:15~3:45 どのツールを実行したらいいか困った時の考え方
3:45~5:04 管理ポータルの診断レポートの例
5:04~6:00 ^Buttonsの実行例(Cache)
6:00~7:12 ^Buttonsの実行例(Ensemble / Cacheベースの HealthConnect)
7:12~8:27 CacheHungスクリプトの実行例(Windowsの例)
8:27~9:30 CacheHungスクリプトの実行例(Linuxの例)
9:30~10:05 ツールから生成されたHTMLのファイル名について
10:05~11:39 ツールから生成されたHTMLの中身について
11:39~ まとめ
記事
Megumi Kakechi · 2020年12月17日
これはInterSystems FAQ サイトの記事です。
選択性(または Selectivity)の数値とは、カラムに対するユニークデータの割合を示す数値です。
例) Person テーブルの個別値である PID カラム、住所のうち都道府県名が入る Pref カラム Pref カラムの選択性 = 約 2% PID カラム(ユニーク属性のカラム)の選択性 = 1
InterSystems製品のクエリオプティマイザは、クエリ実行経路(プラン)とインデックスの選択を決定するため、エクステントサイズ(テーブル内のレコード数)と選択性の数値を使用します。
詳細は下記ドキュメントページをご参照ください。
テーブルの最適化【IRIS】
テーブルの最適化
なお、選択性の数値は、テーブル単位に計算するまで設定されていません。
計算方法については関連トピックをご参照ください。
【関連情報】(コミュニティ/FAQトピックをリンクしています)
クエリをチューニングするにはどのような方法がありますか?
SQL パフォーマンスリソース・リンク集(関連するトピックをまとめてご紹介しています)
外れ値について
知っておくと便利なクエリパフォーマンスのコツ - Tune Table