記事 Megumi Kakechi · 2021年7月19日 3m read <STORE>エラーが発生する場合の対処法について これは InterSystems FAQ サイトの記事です。 <STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。 この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。 但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。システム全体の資源管理を念頭に置き慎重な使用をお勧めします。 設定値詳細については以下ドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 534
記事 Mihoko Iijima · 2021年7月13日 1m read 管理ポータルにログインできない場合の確認項目 これは InterSystems FAQ サイトの記事です。 管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。 Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。 ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 325
記事 Megumi Kakechi · 2021年6月30日 2m read 管理ポータルのライセンス消費に関する仕様変更について(2012.1以降) これは InterSystems FAQ サイトの記事です。 2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。 これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。 この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。 特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。 管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。 a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。 b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。 #CSP #システム管理 #ヒントとコツ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 275
記事 Toshihiko Minamoto · 2021年6月17日 4m read Yape - さらに別のpButtonsエクストラクタ(チャートを自動作成) 注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください。 注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。 #システム管理 #パフォーマンス #ヒントとコツ #ベストプラクティス #監視 #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 98
記事 Megumi Kakechi · 2021年6月15日 2m read ローカル変数は最大どのくらいまで使うことができるのか これは InterSystems FAQ サイトの記事です。 ローカル変数の容量は、プロセスに許可する最大メモリ割り当て容量によって制限されます。 この値は、システム構成パラメータの bbsiz で設定します(設定方法は記事の後半にあります)。 既定値は、1プロセスあたり、262,144 KB です。※IRIS 2022.1 以降は、既定値が -1(最大値:制限なし) になりました。※Caché/Ensemble 2012.1以前では 16,384 KB でした。 値は 256KB からスタートし、プロセスがより大きな領域を必要とする場合は、bbsiz で設定した値まで拡張します。(バージョン2012.1以前では 128KB~49,536KB の範囲で設定できます。) この値を超えるようなローカル変数の使用があると、 エラーが発生します。 現在のプロセスに残っている使用可能なメモリ量は、$STORAGE 変数で確認できます(バイト単位)。詳細は以下ドキュメントページをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 472
記事 Tomoko Furuzono · 2021年6月15日 1m read マシン名(ホスト名)を変更後OSを再起動すると、InterSystems IRIS が開始しなくなる これは、InterSystems FAQサイトの記事です。マシン名の変更後に InterSystems IRIS(以降IRIS) を停止せずにOSを再起動すると、IRISが開始できないという問題が発生します。 開始するためには、<インストールディレクトリ>\mgr\iris.ids ファイルを削除してください。 iris.ids には、起動したノード名や共有メモリの情報(共有メモリID)が格納されていて、IRIS 開始時に作成され、停止時(iris stop または iris force を実施した場合)に削除されます。 #システム管理 #InterSystems IRIS 0 0 1 162
記事 Mihoko Iijima · 2021年6月14日 1m read TCP接続(OPEN)した際のクライアントのアドレス取得方法 これは InterSystems FAQ サイトの記事です。 接続先クライアントのIPアドレス取得するには、以下の方法で %SYS.ProcessQuery クラスを使用します。 (a) 対象プロセス ID を指定して、ClientIPAddress プロパティ を参照します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 89
記事 Megumi Kakechi · 2021年6月14日 2m read %付ルーチンインポートの際に <PROTECT> エラーが発生した場合の対処方法 これは InterSystems FAQ サイトの記事です。 <PROTECT> エラーを解消するには、システム全体のライブラリデータベース(※)の読み込み専用属性を外します。 ※ InterSystems IRIS の場合は IRISLIB、Caché/Ensemble/HealthShare(Cachéベース) の場合は CACHELIB ルーチンのインポートが完了しましたら、読み込み専用に忘れずに戻すようにしてください。 【バージョン2013.1~】[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]データベース名のリンクから「読み込み専用でマウント」のチェックを外します。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 138
記事 Mihoko Iijima · 2021年6月9日 8m read 管理ポータルのメモリ関連設定項目について これは InterSystems FAQ サイトの記事です。 管理ポータルで設定できるメモリ関連の項目は、以下の通りです。(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。) 管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定] 古いバージョンのメニューは以下の通りです。 【バージョン5.1~2010.x】システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容* データベースキャッシュ用メモリ* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定] #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 305
記事 Toshihiko Minamoto · 2021年6月3日 4m read コンテナ - コンテナとは? コンテナ InterSystems IRIS Data Platformの公開により、Dockerコンテナでも製品を提供しています。 コンテナとは一体何でしょうか。 基本的なコンテナの定義は、プロセスのサンドボックスの定義です。 コンテナは、たとえば実行できるという点において、仮想マシン(VM)に似た部分を持つソフトウェア定義パッケージです。 コンテナは、完全なOSエミュレーションを使わずに分離することができるため、 VMよりもはるかに軽量です。 本質的に、コンテナは、どのようにアプリケーションをシステムから別のシステムに確実に移動し、それが動作することを保証できるのかという問題に対する答えと言えます。 アプリケーションのすべての依存関係をコンテナにカプセル化し、プロセス分離領域を作成することにより、アプリケーションソリューションがプラットフォーム間で移動した場合でも動作するという高い保証を得ることができます。 #Docker #クラウド #コンテナ化 #システム管理 #ベストプラクティス #InterSystems IRIS 0 0 0 293
記事 Mihoko Iijima · 2021年5月27日 2m read HL7 プロダクションでサイズの大きなグローバルがある場合の削除方法について これは InterSystems FAQ サイトの記事です。 HL7 メッセージの送受信を行うプロダクションでは、以下3個のグローバルが非常に大きくなることがあります。 グローバルの大きさを確認する場合は、^%GSIZEユーティリティを利用します。詳細は関連トピック/記事をご参照ください。 ^EnsHL7.Segment^EnsLib.H.MessageD^EnsLib.H.MessageI HL7メッセージは EnsLib.HL7.Message.cls で定義されます。^EnsLib.H.MessageD はデータを保存するグローバル、^EnsLib.H.MessageI はインデックスを保存するグローバルです。 また、HL7メッセージは多数のセグメントで構成されており、メッセージデータを含むそれらのセグメントは ^EnsHL7.Segment に保存されます。 #HL7 #グローバル #システム管理 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS for Health 0 0 0 123
記事 Megumi Kakechi · 2021年5月27日 1m read Windows上での共有メモリの割り当てについて これは InterSystems FAQ サイトの記事です。 InterSystems Data Platformは、データベースキャッシュやルーチンキャッシュなどの共有メモリを、起動時に割り当てます。 バージョン2007.1以降をWindows上で動作させる際、Windows特有の共有メモリに関する問題が生じることが判明しています。 詳細については、以下の技術資料をご参照ください。 Windows上での共有メモリの割り当てについて また、以下の記事もあわせてご覧ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 387
記事 Tomoko Furuzono · 2021年5月26日 2m read オンラインバックアップをコマンドから実行する方法 これは、InterSystems FAQサイトの記事です。 オンラインバックアップの API である BACKUP^DBACK ルーチンを使用して実行できます。フルバックアップを実行する例は以下の通りです。 #システム管理 #InterSystems IRIS 0 0 0 259
記事 Megumi Kakechi · 2021年5月13日 1m read ロックテーブルの使用状況を簡単に確認する方法 これは InterSystems FAQ サイトの記事です。 システムクラス SYS.Lock のメソッド GetLockSpaceInfo() にてロックテーブルの空きサイズ、使用サイズが取得可能です。 %SYS>w ##class(SYS.Lock).GetLockSpaceInfo()4717392,4712512,1200 戻り値は、“AvailableSpace, UsableSpace, UsedSpace” になり、それぞれByte単位の値を表しています。 AvailableSpace:ロックテーブルサイズから使用サイズ(UsedSpace)を引いたサイズ #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 178
記事 Mihoko Iijima · 2021年4月30日 2m read InterSystems IRIS が正常に動作していることを Linux から確認する際の監視対象プロセス名 これは InterSystems FAQ サイトの記事です。 監視対象プロセスについては以下の表をご参照ください。 ※利用環境によって、出現しないプロセスもあります。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 190
記事 Megumi Kakechi · 2021年4月29日 1m read ミラーリングの機能について これは InterSystems FAQ サイトの記事です。 InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。 自動フェイルオーバ ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製 1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 417
記事 Toshihiko Minamoto · 2021年4月19日 12m read 仮想IPアドレスを使用しないデータベースミラーリング ++更新日:2018年8月1日 Cachéデータベースミラーリングに組み込まれているInterSystems仮想IP(VIP)アドレスの使用には、特定の制限があります。 具体的に言うと、ミラーメンバーが同じネットワークサブネットに存在する場合にのみ使用できるというところです。 複数のデータセンターを使用した場合は、ネットワークの複雑さが増すため、ネットワークサブネットが物理的なデータセンターを越えて「延伸」されることはさほどありません(より詳細な説明はこちらです)。 同様の理由で、データベースがクラウドでホストされている場合、仮想IPは使用できないことがよくあります。 ロードバランサー(物理的または仮想)などのネットワークトラフィック管理のアプライアンスを使用して、クライアントアプリケーションやデバイスに単一のアドレスを提示することで、同レベルの透過性を実現できます。 ネットワークトラフィックマネージャは、クライアントを現在のミラープライマリの実際のIPアドレスに自動的にリダイレクトします。 この自動化は、災害後のHAフェイルオーバーとDRプロモーションの両方のニーズを満たすことを目的としています。 #Mirroring #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #システム管理 #フェイルオーバー #高可用性 #Caché 0 0 0 339
記事 Megumi Kakechi · 2021年4月16日 4m read エラー解消後もジャーナル切り替えタスクの状態が Suspend Leave になっている場合の対処方法 これは InterSystems FAQ サイトの記事です。 ジャーナル切り替えのタスクが実行時にエラー(例:FILEFULL)となり、その原因となるエラーを解消後も一時停止(Suspend Leave)状態となっているのであれば、以下の操作により復旧可能です。 管理ポータル: [システムオペレーション] > [タスクマネージャ] > [タスクスケジュール表示] より、以下の操作を行います。 ジャーナル切り替え(Switch Journal) "詳細" をクリック "一時停止" をクリック タスク実行が一時停止された場合にタスクを再スケジュールしますか? はい "すぐに実行する" をクリック "再開" をクリック "すぐに実行する" タスク詳細にて "一時停止:"が空欄になり、"次回スケジュール時刻:" が再開後の次のスケジュール(例えば2021-04-17 00:00) になっていれば、復旧完了です。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 218
記事 Mihoko Iijima · 2021年4月15日 2m read アプリケーションでロックタイムアウトエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。 他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。 トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。 #SQL #システム管理 #データベース #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 557
記事 Mihoko Iijima · 2021年4月2日 2m read コンソールログに "Failed to allocate xxxMB shared memory using large pages..." のエラーメッセージが出ているとき これは InterSystems FAQ サイトの記事です。 MM/DD-hh:mm:ss:938 ( 0) 1 Failed to allocate xxxMB shared memory using large pages. Switching to small pages.MM/DD-hh:mm:ss:938 ( 0) 0 Allocated xxxMB shared memory: yyyMB global buffers, zzzMB routine buffers コンソールログ(cconsole.log/messages.log)に上記のようなメッセージがある場合は、Large Page でのメモリ確保に失敗して、Small Page でメモリを確保したことを示しています。 Allocated xxxMB が設定サイズと同じ場合、Small Pageでメモリ確保ができていますので、設定サイズを減らす必要はありません。 #Microsoft Windows #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.5K
記事 Mihoko Iijima · 2021年4月2日 1m read データベースアクセス中にデータベース設定を変更できるかどうか これは InterSystems FAQ サイトの記事です。 アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。 しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 123
記事 Mihoko Iijima · 2021年3月26日 2m read Linux のシェルスクリプトでルーチンやメソッドの戻り値を取得する方法 これは InterSystems FAQ サイトの記事です。 Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。 詳細はドキュメント「インスタンスの接続について」 をご参照ください。 コマンド記述例は以下の通りです。 iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド" #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1K
記事 Megumi Kakechi · 2021年3月25日 3m read ^%GSIZE で出力される各項目の意味 これは InterSystems FAQ サイトの記事です。 ^%GSIZE ユーティリティでは、グローバルのサイズを算出することができます。 このユーティリティで出力される各項目の意味について説明します。 例えば、USERネームスペースのグローバルについて do ^%GSIZE を実行し、以下のように出力結果を得られたとします。 #ObjectScript #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 382
記事 Mihoko Iijima · 2021年3月5日 2m read 累積バックアップと差分バックアップの違いについて これは InterSystems FAQ サイトの記事です。 ※ ここで説明するバックアップ方法は、外部バックアップ(##class(Backup.General).ExternalFreeze()を使用する方法)ではご利用いただけません。 その1(差分) 毎週日曜日1時にフルバックアップ、月曜日~土曜日の1時に差分バックアップを取得しているとします。 差分バックアップは、前日の1時に取得したバックアップからの更新ブロックが含まれるバックアップです。 #システム管理 #バックアップ #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 470
記事 Megumi Kakechi · 2021年3月2日 2m read データベースの空き容量をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル:システムオペレーション > データベース にあるオプションボタン(ラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。 次のようなコードでクエリを実行します。 例:(%SYSネームスペースにて作成、実行します) #システム管理 #ツール #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 210
記事 Mihoko Iijima · 2021年2月26日 2m read プロセス一覧をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 %SYS.ProcessQuery クラスの AllFields クエリを使用すると取得できます。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 180
記事 Mihoko Iijima · 2021年2月25日 2m read 【Caché ベース】トラブル発生時の情報収集方法(Caché / Ensemble / HealthConnect 編) これは InterSystems FAQ サイトの記事です 復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。 その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。 ツール使用方法については、PDF または以下ビデオでご紹介しています。 #システム管理 #ツール #ビデオ #Caché #Ensemble #HealthShare 0 0 0 133
記事 Mihoko Iijima · 2021年2月25日 1m read 【IRISベース】トラブル発生時の情報収集方法(IRIS / IRIS for Health / UCR 編) これは InterSystems FAQ サイトの記事です。 復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。 その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。 ツール使用方法については、PDF または以下ビデオでご紹介しています。 #システム管理 #ツール #ビデオ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 256
記事 Mihoko Iijima · 2021年2月19日 2m read InterSystems のガベージコレクション機能について(Java のガベージコレクションとの違い) これは InterSystems FAQ サイトの記事です。 Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。 IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。 通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。 その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。 #Java #システム管理 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 89
記事 Megumi Kakechi · 2021年2月15日 7m read データベースキャッシュおよびルーチンキャッシュの最適値の設定方法 これは InterSystems FAQ サイトの記事です。 データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。 (1) データベースキャッシュ 現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。 Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。 実行例) #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 354