記事 Megumi Kakechi · 2024年8月15日 2m read IRISでエクスポートしたクラスやルーチンをCacheにインポートする方法 通常、Caché でエクスポートしたクラスやルーチンをIRISにインポートすることは可能ですが、IRISよりエクスポートしたクラスやルーチンを Caché にインポートすることはできません。 Caché にインポートしようとすると、以下のようなエラーになります。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 2 0 27
記事 Megumi Kakechi · 2024年8月20日 3m read messages.logに「Updates may become suspended due to low available buffers」のエラーが出ています これは InterSystems FAQ サイトの記事です。messages.logに「Updates may become suspended due to low available buffers」のエラーが出ている場合、このインスタンスのバッファ利用可能サイズが低下していることが考えられます。 上記メッセージが頻繁に出力するようであれば以下の対処をご検討ください。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 9
記事 Mihoko Iijima · 2024年2月29日 5m read インデックス再構築が終わるまで新しく定義したインデックスを使用させない方法 これは InterSystems FAQ サイトの記事です。 新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。 インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。) これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。 ※ 2024/8/2: 2024.1以降から利用できる方法を追加しました。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 105
記事 Megumi Kakechi · 2024年7月28日 2m read SQLでレコードをSelectするとSQLエラー -114 が発生します これは InterSystems FAQ サイトの記事です。通常SQLCODE -114(一致する行が既に別のユーザにロックされています)のエラーはロックが競合した場合に発生します。 こちらはレコードロック競合があったり、ロック閾値を超える更新を行いテーブルロックに昇格した際に、そのテーブルレコードに対して別のプロセスよりSelectを行い共有ロックを取ろうとして失敗した(ロック待ちがタイムアウトとなった)場合に発生します。 Selectで共有ロックを取る場合というのは、IRIS の ISOLATION LEVEL がREAD COMMITTED(デフォルトはREAD UNCOMMITTED)で、Selectを行った場合です。 #SQL #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 19
記事 Megumi Kakechi · 2024年7月23日 4m read リンクテーブルと外部テーブルについて これは InterSystems FAQ サイトの記事です。 JDBC および ODBC 経由でInterSystemsIRISから外部データベースにアクセスしたい場合、SQLゲートウェイを使用しリンクテーブルを作成して接続できます。 2023.1以降のバージョンでは、リンクテーブルに加えて、外部テーブル/FOREIGN TABLE を使用することが可能となりました(2024.1時点で実験的機能)。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 42
記事 Hiroshi Sato · 2021年10月7日 3m read ジャーナルファイルの内容を管理ポータル以外で参照する方法 これは InterSystems FAQ サイトの記事です。ジャーナルファイルのサイズが大きすぎて、管理ポータルで検索やフィルタリング等できない場合、以下の2つの方法で参照することができます。 ① ^JRNDUMP ユーティリティを使用する方法② プログラムで参照する方法 ============================================================ ① ^JRNDUMP ユーティリティを使用する方法 例えば、グローバル参照 ^ABC を含むジャーナルファイルのすべてのレコードを選択する場合は、以下のようになります。 ※以下、すべてのコマンドは %SYS ネームスペースで実行してください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 352
記事 Mihoko Iijima · 2024年7月16日 9m read 管理ポータルのウェブ・アプリケーションメニューの設定をプログラムで作成する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。 以下シナリオに合わせたセキュリティ設定例をご紹介します。 シナリオ:RESTアプリケーション用設定を作成する 事前準備 シナリオの中で使用するソースを2種類インポートします。 アプリケーション用RESTディスパッチクラスをインポートします。 #ObjectScript #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 40
記事 Megumi Kakechi · 2024年7月16日 2m read プログラムでSQLゲートウェイ接続設定を作成する方法 これは InterSystems FAQ サイトの記事です。 SQLゲートウェイの接続設定は管理ポータルで作成できますが、プログラムでも作成が可能です。 管理ポータル:[システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] こちらのトピックでは、ODBC/JDBCそれぞれの設定をプログラムで行う方法をご紹介します。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 27
記事 Mihoko Iijima · 2024年7月11日 4m read 管理ポータルのユーザ設定をプログラムで作成する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。 #ObjectScript #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 30
記事 Megumi Kakechi · 2024年7月10日 5m read IRISでシャドウイングの代わりにミラーリングを構成する方法-プログラム編 これは InterSystems FAQ サイトの記事です。 こちらの記事では、「IRISでシャドウイングの代わりにミラーリングを構成する方法」を紹介しました。 今回は、「プログラムでシャドウイングの代わりにミラーリングを構成する方法(Windows版)」を紹介します。【今回のサンプル・ミラー構成について】 #Mirroring #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 30
記事 Mihoko Iijima · 2024年7月9日 2m read WriteDaemon Alertが出力される原因について これは InterSystems FAQ サイトの記事です。 メッセージログ(messages.log)/コンソールログ(cconsole.log) に以下のようなメッセージが表示される場合があります。 03/22/18-14:27:34:624 (1851) 2 [SYSTEM MONITOR] WriteDaemon Alert: Write Daemon still on pass 320186 このメッセージ出力は、ライトデーモンのデータベースファイルへの書き込み処理の遅延を示しています。その原因としては、ディスクI/O負荷が高く、そのI/O要求量に対してディスク処理性能が不足していることが考えられます。 ディスクI/O負荷の原因としては以下が考えられます。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 27
記事 Mihoko Iijima · 2024年7月7日 4m read 監査ログをファイル出力する方法 これは InterSystems FAQ サイトの記事です。 監査ログはシステムDB内テーブル(%SYS.Audit)に記録されていますので、そのテーブルに対するクエリを実行して抽出したり、%SYS.Auditテーブルに用意されていストアドプロシージャを利用して情報を取得しファイル出力するようにプログラムを用意することもできます。 以下にご紹介する内容は「監査ログをプログラムで出力(ユーザやイベント指定など)する方法」に関連した内容で、監査ログのファイル出力を管理ポータルの機能を利用した例とプログラムを利用した例でご紹介します。 #ObjectScript #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 24
記事 Mihoko Iijima · 2024年7月4日 9m read Embedded Python利用時にエラーが発生した場合の対応方法のご紹介 これは InterSystems FAQ サイトの記事です。 PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。 説明使用するコードや資料PDFは公開しています👉 test1.py、FS.Utilsクラス、コードのコピー元、ビデオで解説している資料PDF Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。 各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開! #Embedded Python #ObjectScript #Python #エラーハンドリング #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 44
記事 Mihoko Iijima · 2024年7月4日 2m read ファイルに入力された文字列をバイト単位で読み込む方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品のサーバサイドでファイル入出力を行うと、文字列はシステムで設定されたファイル入出力用文字コードに自動変換され、文字単位でREADします。 ファイルから入力する文字をバイト単位で操作するためには、自動変換を行わない無変換の状態でファイル入力を行い指定バイトずつ読みながら読んだ分だけUnicodeに手動で変換していく必要があります。 変換には$ZCONVERT()関数を使用します。($ZCONVERT()には省略形があり$ZCVT()でも同様の操作が行えます。) #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 26
記事 Megumi Kakechi · 2024年7月1日 6m read This CPU is not supported by this version of IRIS***, which requires "AVX" and "BMI" CPU instructions. これは InterSystems FAQ サイトの記事です。 IRIS2024.1以降のバージョンをインストールしようとした際に、以下のようなエラーになることがあります。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 91
記事 Mihoko Iijima · 2024年3月11日 2m read Embedded Pythonで$LIST()形式のデータを扱う方法 これは InterSystems FAQ サイトの記事です。 現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。 ※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。 WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。 ※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。 #Embedded Python #ObjectScript #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 1 1 94
記事 Megumi Kakechi · 2024年6月23日 6m read IRISでシャドウイングの代わりにミラーリングを構成する方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS では、シャドウイングは非推奨機能となりました。 こちらのトピックでは、これまでにCachéでシャドウイングを使用していたお客様に対して、IRISへの移行後に、代わりに使用できるミラーリングの構成方法をご紹介します。 ミラーリングには機能的に2つの種類があります。 1.同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー) 2.非同期ミラー(シャドウイングと同様の機能を提供) - DR非同期(DR構成で利用、フェールオーバーへの昇格が可能、複製DBへの書き込み不可) - レポーティング非同期(データマイニング/BIアプリでの利用、複製DBへの書き込み可能) シャドウイングに代わって、IRISでは「プライマリ・フェイルオーバー」+「非同期ミラー」でミラーリングを構成する機能を利用することができます。 #ヒントとコツ #高可用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 44
記事 Megumi Kakechi · 2024年6月11日 6m read スーパーサーバポートを SSL/TLS 設定した後、管理ポータルに接続できなくなった場合の対処方法 SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成した際に、「管理ポータルに接続できなくなった」というお問い合わせを時々いただきます。こちらの記事では、その際の対処法をご案内します。 スーパーサーバを SSL/TLS 化するために、以下のドキュメントにある方法を設定されると思います。TLS を使用するための InterSystems IRIS スーパーサーバの構成 その際に、SSL/TLSサポートレベル を 「必須」にしてしまうと、管理ポータルに接続できなくなる場合があります。 #システム管理 #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 48
記事 Megumi Kakechi · 2024年5月27日 4m read Linuxで SSL/TLS を使用して ODBC 接続を行う方法 こちら の記事では、LinuxでODBC接続を行う方法 をご紹介しました。 今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、ODBCで SSL/TLS 接続をする方法をご紹介します。 LinuxでODBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでODBC接続できる環境を用意していることを前提にご説明します。 手順は以下のようになります。手順の詳細は、この後で説明します。 #ODBC #SSL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 85
記事 Megumi Kakechi · 2024年5月24日 4m read Linuxで SSL/TLS を使用して JDBC 接続を行う方法 こちら の記事では、LinuxでJDBC接続を行う方法 をご紹介しました。 今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、JDBCで SSL/TLS 接続をする方法をご紹介します。 LinuxでJDBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでJDBC接続できる環境を用意していることを前提にご説明します。 手順は以下のようになります。手順の詳細は、この後で説明します。 #Java #SQL #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 139
記事 Mihoko Iijima · 2024年5月20日 2m read コールドバックアップとリストア方法について InterSystems製品のバックアップ方法の中の4つの目方法は「コールドバックアップ」です。 InterSystems製品を停止できるときに利用できるバックアップ方法です。別サーバに環境を移植するときや、コミュニティエディションから製品版キットのインストール環境にデータベースを移植する場合などにもお使いいただけます。 バックアップ手順 1. InterSystems製品を停止する 2. バックアップしたいデータベースを退避する 3. InterSystems製品を開始する 既存環境から新環境へ移植する場合などの手順 1. 既存環境のInterSystems製品を停止する。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Mihoko Iijima · 2024年5月20日 5m read 並行外部バックアップの仕組みとバックアップとリストア方法について InterSystems製品のバックアップ方法の中の3つの目方法は、「並行外部バックアップ」についてです。 この方法は外部バックアップと異なり、スナップショットなどのストレージ機能がない環境に向いている方法でオンラインバックアップよりも高速にバックアップできます。(古いバージョンのInterSystems製品でも利用できるバックアップ方法です。) ただし、バックアップやリストア手順が複雑になります。 並行外部バックアップの利用を検討される際は、事前にリストア手順についてもテスト環境などでご確認いただくことを推奨します。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 53
記事 Mihoko Iijima · 2024年5月16日 27m read オンラインバックアップの仕組みとバックアップとリストア方法について この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。 オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。 InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 88
記事 Mihoko Iijima · 2024年5月16日 26m read 外部バックアップの仕組みとバックアップとリストア方法について 開発者の皆さん、こんにちは。 この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「外部バックアップ」の仕組みと、バックアップ・リストア手順について解説します。 まず、「外部バックアップ」とは、InterSystems製品の専用ルーチン使用せず、InterSystems製品以外のバックアップソリューションを使用してデータベースをバックアップする方法で、現時点の推奨されるバックアップ方法です。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 56
記事 Mihoko Iijima · 2024年5月16日 9m read インターシステムズ製品をバックアップする前に確認したいこと 開発者の皆さん、こんにちは。 この記事では、InterSystems製品のバックアップ方法(4種類)のご紹介と、バックアップを行う前に確認しておきたい内容について解説します。 また、この記事に続くシリーズ記事では、それぞれのバックアップの仕組みと操作例を交えたバックアップとリストア手順を解説していきます。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 46
記事 Toshihiko Minamoto · 2024年5月14日 8m read ライセンスの予約 「30 秒も経ってるのにサービスを受けられないなんて、 あり得ない! もう結構!」 #ObjectScript #アクセス制御 #システム管理 #セキュリティ #ヒントとコツ #認証 #InterSystems IRIS 1 0 1 54
記事 Toshihiko Minamoto · 2024年5月9日 3m read VS Code の統合ターミナルで ObjectScript コマンドを実行する方法 VS Code でファイルを編集しているときに、グローバル値のチェックやいくつかの ObjectScript コマンドの実行が必要だったことはありませんか? これが可能になりました。しかもセットアップは不要です! vscode-objectscript 拡張機能バージョン 2.10.0 以上を持っており、InterSystems IRIS 2023.3 以降に接続している場合は、サーバーの場所に関係なくサーバーへのターミナル接続を開けるようになりました。 この新しいターミナルを開く方法には 3 つあります。 #ターミナル #ヒントとコツ #ベストプラクティス #開発環境 #InterSystems IRIS #VSCode 2 0 0 84
記事 Megumi Kakechi · 2024年5月6日 4m read LinuxでJDBC接続を行う方法 前回、LinuxでODBC接続を行う方法 をご紹介しました。 今回は、LinuxでJDBC接続を行う方法 をご紹介します。作業は、root ユーザ で行います。 はじめに、Linuxのバージョンを確認します。 #JDBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 354
記事 Megumi Kakechi · 2024年5月2日 3m read LinuxでODBC接続を行う方法 こちらの記事では、LinuxでODBC接続の設定を行う方法をご紹介します。 はじめに、Linuxのバージョンを確認します。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 195
記事 Megumi Kakechi · 2024年4月25日 2m read 大きいデータを持つフィールドに対してインデックスを作成する方法 大きなサイズのデータを持つフィールドに対してインデックスを作成すると、<SUBSCRIPT>エラーとなることがあります。 これは、グローバルの添え字(サブスクリプト)のサイズには制限があり、制限を超えるとエラーとなるためです。 例えば、以下のようなインデックスの場合、 ^Sample.PersonI("NameIdx"," xxx...xxx",1) = "" グローバル名+サブスクリプト部(=の左側)が、エンコード文字数で最長 511 文字を超えるとエラーとなります(日本語の場合はもっと小さな文字数です)。 ※ご参考:グローバル参照の最大長 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 52