#システム管理

0 フォロワー · 225 投稿

システム管理とは、1つ以上のハードウェアおよびソフトウェアシステムの管理のことを示します。  InterSystemsシステム管理についてのドキュメント

記事 Mihoko Iijima · 2021年6月9日 8m read

これは InterSystems FAQ サイトの記事です。

管理ポータルで設定できるメモリ関連の項目は、以下の通りです。
(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。)

管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定]

古いバージョンのメニューは以下の通りです。

【バージョン5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容
* データベースキャッシュ用メモリ
* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】
管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定]

【バージョン 5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリ詳細設定] の設定内容
* 一般メモリヒープ【gmheap】
* ロックテーブル【locksiz】
* IJCバッファ【ijcbuff】
* IJCデバイス【ijcnum】※カテゴリ:IO
* 照合テーブル最大数【nlstab】

設定の詳細は以下の通りです。

2023/9/1更新 添付のPDFに古い記載がありましたので、本文内を最新情報に更新しています。添付ではなく本文をご参照ください。


0
0 541
記事 Mihoko Iijima · 2021年1月29日 4m read

これは InterSystems FAQ サイトの記事です。

%SYS.Journal.File クラスの ByTimeReverseOrder クエリ と %SYS.Journal.Record クラスの List クエリを使用して検索することができます。

それぞれのクエリの役割は以下の通りです。

A) %SYS.Journal.File クラスの ByTimeReverseOrder クエリ

ジャーナルファイル名を取得できます。ジャーナルファイル名の降順で結果が返ります。​​

USER>set##class

バージョン2018.1未満のバージョンでは以下の方法をご利用ください。

USER>set##class

B) %SYS.Journal.Record クラスの List クエリ

特定のジャーナルファイルのジャーナルレコードを取得できます。

バージョン2022.2以降でお試しいただく場合は、%SQL.Statementクラスをご利用ください。

バージョン2022.2未満でお試しいただく場合は、%ResultSetクラスをご利用ください。

USER>

メモ: A) で取得したジャーナルファイル名を B)のクエリ実行時の引数として指定します。

0
0 537
記事 Megumi Kakechi · 2022年8月30日 4m read

これは InterSystems FAQ サイトの記事です。
InterSystems IRIS Data Platform(以下IRISと表記)ではマルチモデルのサポートにより、データに対して様々なアクセス手法を使用することができます。

主だったアクセス手法としてダイレクトアクセスSQLアクセスオブジェクトアクセスがあります。
 

ダイレクトアクセス は、IRISのネイティブ構造であるグローバルと呼ばれるキーバリュー型のデータに直接アクセスする方法です。

SQLアクセス は、リレーショナルデータベースシステムにアクセスするための標準言語であるSQLを使用してデータにアクセスする方法です。

オブジェクトアクセス は、オブジェクト指向言語でオブジェクトを操作するための表記法として幅広く利用されるドット記法を使用してデータにアクセスする方法です。


ダイレクトアクセスとSQLアクセスおよびオブジェクトアクセスでは、処理の抽象度が異なります。

抽象度が高くなるに伴い、内部的な処理のオーバヘッドが増加するため、単純な1スレッド単位でのアクセススピードの速さについては、ダイレクトアクセスが、SQLアクセスとオブジェクトアクセスに比較して速い場合が多いです。

しかしながら、今後SQLアクセスに関してより高速に処理できるよう様々な開発が進行中です。

0
0 528
記事 Hiroshi Sato · 2021年7月27日 4m read

これは InterSystems FAQ サイトの記事です。
 

スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。


これらは下記のようにiniファイルを作成・編集することで設定可能です。

==============================
設定ファイルの場所
==============================

デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。


Windows 64bitの場合:C:\Program Files (x86)\Common Files\InterSystems\IRIS\SSLdefs.ini
            C:\Program Files (x86)\Common Files\InterSystems\Cache\SSLdefs.ini 
Windows 32bitの場合:C:\Program Files\Common Files\InterSystems\Cache\SSLdefs.

0
0 523
記事 Tomohiro Iwamoto · 2020年5月7日 15m read

Cachéの優れた可用性とスケーリング機能の1つは、エンタープライズキャッシュプロトコル(ECP)です。 アプリケーション開発中に考慮することにより、ECPを使用した分散処理は、Cachéアプリケーションのスケールアウトアーキテクチャを可能にします。 アプリケーション処理は、アプリケーションを変更することなく、単一のアプリケーションサーバーから最大255台といった非常に高いレートにまで、アプリケーションサーバー処理能力を拡張できます。 

ECPは、私が関与していたTrakCareのデプロイメントで長年広く使用されていました。 10年前は、主要ベンダーの1つが提供する「大きな」x86サーバーは、合計で8つのコアしか備えていなかったかもしれません。 大規模なデプロイメントの場合、ECPは、高価な大型コンピュータを使う単一のエンタープライズサーバーではなく、コモディティサーバーでの処理をスケールアウトする方法でした。 コア数の多いエンタープライズサーバーでさえ制限があったため、ECPはそれらのサーバーへのデプロイメントのスケーリングにも使用されました。 

現在、ほとんどの新しいTrakCareのデプロイメントや主流ハードウェアへのアップグレードは、ECPでのスケーリングを必要としません。 現行の2ソケットx86プロダクションサーバーは、数十のコアと巨大なメモリを持つことができます。

0
0 505
記事 Megumi Kakechi · 2020年9月30日 2m read

これはInterSystems FAQ サイトの記事です。

DBLatency の Warning メッセージは、ヘルス・モニタプロセスが定期的にデータベースからのランダム読み取りが完了するまでに要した時間(ミリ秒)を計測していて、設定されている閾値(1000 msec)を超えた場合に出力されます。

mm/dd/yy-18:31:15:060 (2932) 1 [SYSTEM MONITOR] DBLatency(c:\xxx\) Warning: DBLatency = 1510 ( Warnvalue is 1000).


上記例では、C:\xxx\IRIS.DAT(または C:\xxx\CACHE.DAT)へのディスク読み取り I/O に 1510 msec かかったことを示していて、メッセージ出力時のディスク I/O 応答速度が遅いことが考えられます。

ディスク I/O 応答速度が遅い原因としては、ディスク I/O 負荷が高いことが考えられます。

  • 大量のデータ登録や変更を行う処理が実施されていた。
  • 弊社製品以外のソフト(アンチウイルスソフト、バックアップソフト)が動作していた。
  • 弊社製品以外のアプリケーションによるディスク負荷など。
  • 仮想環境の場合に、他の仮想マシン(VM)で上記のような負荷の高い処理が行われ、その影響を受けていた。
0
0 505
記事 Megumi Kakechi · 2020年11月13日 2m read

これは InterSystems FAQ サイトの記事です。
 

管理ポータルから行う手動のパージ(Purge)と、タスクを利用する方法があります。

データを手動でパージするには、[Interoperability] > [管理] > [管理データの削除] ページを使用します。
(このページではバックグラウンド・ジョブとしてパージを実行しますので、ページがタイムアウトしても問題ありません。)

タスクでパージする場合は、[システムオペレーション] > [タスクマネージャ] > [新しいタスク] の画面でInteroperabilityプロダクションのネームスペースを指定し、タスクタイプに「Ens.Util.Tasks.Purge」を指定します。

タスクの場合は、「TypesToPurge」の項目で以下のパージ対象タイプを選択できます(図参照)。

  • イベント・ログ (Events)
  • メッセージ (Messages)
  • ビジネス・プロセス・ログ (Business Processes)
  • ビジネス・ルール・ログ (Rule Logs)
  • I/O アーカイブ・ログ (I/O Logs)
  • モニター・カウンター (Host Monitor Data)
  • 管理対象アラート (Managed Alerts)  



詳細は、以下のドキュメントをご参照ください。

0
0 497
記事 Toshihiko Minamoto · 2020年11月11日 22m read

こんにちは! この記事は「Prometheus で InterSystems Caché を監視する」の続きになります。 ここでは ^mgstat ツールの動作結果を視覚化する方法を見ていきます。 このツールを使用すると、Caché のパフォーマンス統計、具体的なグローバルとルーチンの呼び出し数(ローカルおよびECP 経由)、書き込みデーモンのキュー長、ディスクに保存されるブロックと読み取られるブロックの数、ECP トラフィックの量などを取得できます。 ^mgstat は(対話的に、またはジョブによって)単独で起動したり、別のパフォーマンス測定ツールである ^pButtons と並行して起動したりできます。

ここでは 2 つのパートに分けて説明したいと思います。最初のパートでは ^mgstat によって収集された統計を図示し、2 番目のパートではこの統計を正確に収集する方法を集中して取り上げます。 手短に言えば、ここでは $zu関数 を使用しています。 ただし、SYS.Stats パッケージのクラス経由で収集できる大部分のパラメーターに対応したオブジェクトインターフェースがあります。 ^mgstat に表示されるのは、収集できるパラメーターのほんの一部です。 その後、Grafana ダッシュボードですべてのパラメーターを表示してみましょう。

0
0 495
記事 Megumi Kakechi · 2022年8月18日 1m read

これは InterSystems FAQ サイトの記事です。

クライアントからターミナルにログイン(接続)できない時、ターミナル接続を可能にするサービスが有効になっていないことが原因として考えられます。

ターミナル接続を可能にするサービスが有効になっていないことが原因として考えられます。

管理ポータル :[ホーム] > [システム管理] > [サービス] 

有効になっていない場合は、リンクをクリックしてサービス定義編集画面を開き、"サービス有効"にチェックを入れて保存します。

もう一つの原因としてはOSのファイアウォールによりターミナル接続が遮断されている場合が考えられます。

リモートでターミナル接続される場合はファイアウォールの設定を無効にしてお使い下さい。

0
0 494
記事 Hiroshi Sato · 2021年7月27日 1m read

これは InterSystems FAQ サイトの記事です。
 

InterSystemsでサポートを保証するバージョンは、最小サポートバージョン(ミニマムサポートバージョン)となります。
最小サポートバージョンは、通常リリース後 2 年以内のバージョンになります。
保守契約のあるお客様には、最小サポートバージョンより前のバージョンに対しても技術的なご質問や障害時の対応は可能な限りさせていたいただきますが、その保守対応はベストエフォートとなり、深刻な問題に対してもそのバージョンに対応したワークアラウンドや修正(パッチ)のご提供が難しくなります。

そのような場合には、最新バージョンへのバージョンアップをお勧めいたします。

最小サポートバージョンについては、以下のドキュメントをご覧ください。

最小サポートバージョン

0
0 493
記事 Megumi Kakechi · 2022年3月3日 3m read

これは、InterSystems FAQサイトの記事です。
ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。
IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。

IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。

一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。
一時グローバルと IRISTEMP データベース


一時グローバルとして使用されるグローバルには以下のようなものがあります。

1. システムテンポラリグローバル(^IRIS.Temp*、^%cspSession、^CacheTemp*、^mtemp* など)
2. ユーザが設定したIRISTEMP/CACHETEMPへのマッピングによる一時グローバル
3. プロセスプライベートグローバル (^||name、^|"^"|name、^["^"]name、^["^",""]name など

4.

0
1 493
記事 Toshihiko Minamoto · 2024年6月14日 5m read

(この記事は 2021 年 2 月にレビューされたものです。現在でも Caché ベースのインストールに関連性があり、同様に IRIS ベースのインストールに適用されます。)

この記事では、停電やオペレーティングシステムのクラッシュが発生した場合にシステムをデータ損失または破損の危険にさらす可能性のある Windows の書き込みキャッシュ設定について説明しています。この設定は一部の Windows 構成においてデフォルトでオンになっています。

0
0 491
記事 Mihoko Iijima · 2020年9月16日 2m read

これはInterSystems FAQ サイトの記事です。

InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。

具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。

  • データベースファイル(IRIS.DAT/CACHE.DAT)
  • <インストールディレクトリ>/bin 内の実行可能ファイル(EXE) 
  • ライトイメージジャーナル(WIJ)
  • ジャーナルディレクトリ内のジャーナルファイル

上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」 のようなエラーが発生する場合があります。

このエラーは、実際にハード的なディスク障害が原因であることもありますが、それ以外にアンチウィルスソフトのウィルスチェックなどによって、ディスクへの書き込みが阻止された場合にも起こります。

詳細は、下記ドキュメントページをご参照ください。

インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法【IRIS】
インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法

0
0 490
記事 Megumi Kakechi · 2021年6月30日 2m read

これは InterSystems FAQ サイトの記事です。

2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。

これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。

この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。

特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。
 

管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。

a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。

b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。

この待ち時間はライセンスの意図的な規約違反を防ぐための措置であるため、設定等で変更できないようになっています。

c) ポータルを開き、ブラウザのXボタンやAlt+F4等のショートカットでページを強制的に閉じた場合は、デフォルトでは8時間後にライセンスの解放が行われます。
 

ライセンスの解放の時間は以下の操作で変更することができます。

0
0 473
記事 Hiroshi Sato · 2021年9月29日 2m read

これは InterSystems FAQ サイトの記事です。
こちらでは、タスクスケジュールを登録・参照するサンプルコードをご紹介します。

①タスクスケジュール登録のサンプル

※毎日 am1:00に do ^TEST を実行するタスクを作成します。 

 set task=##class(%SYS.Task).%New()
 set task.Name="MyTask1"
 set taskDescription="毎日夜中1:00に^xxx実行" // 任意
 set task.NameSpace="USER"
 set task.TimePeriod=0
 set task.DailyFrequency=0
 set task.DailyFrequencyTime=""
 set task.DailyIncrement=""
 set task.DailyStartTime=$ZTimeh("01:00:00")
 set task.DailyEndTime=""
 set task.TaskClass="%SYS.Task.RunLegacyTask"
 set task.Settings=$LB("ExecuteCode","do ^TEST") // RunLegacyTask の場合は ExecuteCode を設定 
 write task.
0
0 470
記事 Mihoko Iijima · 2024年5月16日 26m read

開発者の皆さん、こんにちは。

この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「外部バックアップ」の仕組みと、バックアップ・リストア手順について解説します。

まず、「外部バックアップ」とは、InterSystems製品の専用ルーチン使用せず、InterSystems製品以外のバックアップソリューションを使用してデータベースをバックアップする方法で、現時点の推奨されるバックアップ方法です。

詳細な説明、手順については、ドキュメント「外部バックアップ」をご参照ください。

外部バックアップでは、主に、論理ディスク・ボリュームの有効な "スナップショット" を迅速に作成するテクノロジと共に使用します。

例えば、

  • Windowsサーバの場合は、VSS(ボリューム・シャドウ・コピー・サービス)と組み合わせて利用する
  • AWSのEBS Snapshotと組み合わせて利用する

スナップショット・テクノロジが使用できないシステムであっても、後述する「特別な考慮」で対応できればご利用いただけます。

それでは早速、外部バックアップの前後で必要となるIRIS側の手続きと、バックアップとリストアについて確認していきましょう!

0
0 464
記事 Mihoko Iijima · 2024年5月16日 26m read

この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。

オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。

InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。

データ量が増えればバックアップファイルサイズも大きくなります。 また、データ量の増加に伴いバックアップ時間も長くなります。

バックアップ時間に制限のない環境や、ユーザからのアクセスがない環境(例:ディザスタリカバリの目的で配置しているミラーリングの非同期メンバ)のバックアップ方法としては最適ですが、バックアップ時間に制限がある場合は不向きです。

バックアップ時間をできるだけ短くしたい場合は、推奨方法である「外部バックアップ」や、手順が少し複雑になりますが「並行外部バックアップ」を取り入れるなどご検討ください。

0
0 464
記事 Yoichi Miyashita · 2023年3月3日 3m read

2022.1 及び 2021.2 から 新たにジャーナルファイルの自動圧縮機能がサポートされました。
この機能によって、わずかなCPUコストでジャーナルファイルが占有するDisk容量を大幅に削減する事が可能になります。
実際のお客様環境でジャーナル・ファイルの圧縮率85%という非常に高い効果が確認出来たケースもございます。
(圧縮効果はジャーナル・ファイルに記録される更新データの内容に依存します)
圧縮はミラージャーナル・ファイルに対しても行われます。

動作メカニズム

  1. 現在書き込み対象となっている “アクティブ” なジャーナル・ファイルのサイズが規定サイズに達し、ジャーナル・ファイルの切替が発生すると、それ以降に発生するジャーナル・レコードは新しいジャーナル・ファイルへ書き込まれるようになります。   

  2. 今迄書き込み対象となっていたジャーナル・ファイルはこれ以降は書き込みされない、”非アクティブ”、すなわち、更新のない静的なファイルとなった為、システム・プロセスによりジャーナル圧縮処理が開始されます。   

  3. 圧縮が完了すると、圧縮前の非アクティブな元のジャーナル・ファイルは削除されます。 そして圧縮されたジャーナル・ファイルはファイル名の末尾に “z” が付加されます。

一連の処理は、IRISシステム・プロセスが自動的に行います。

0
0 464
記事 Tomohiro Iwamoto · 2020年6月29日 32m read

ここ数年の間、ハイパーコンバージドインフラストラクチャ(HCI)ソリューションが勢いを増しており、導入件数が急速に増加しています。 IT部門の意思決定者は、VMware上ですでに仮想化されているアプリケーションなどに対し、新規導入やハードウェアの更新を検討する際にHCIを考慮に入れています。 HCIを選択する理由は、単一ベンダーと取引できること、すべてのハードウェアおよびソフトウェアコンポーネント間の相互運用性が検証済みであること、IO面を中心とした高いパフォーマンス、単純にホストを追加するだけで拡張できること、導入や管理の手順が単純であることが挙げられます。 

この記事はHCIソリューションの一般的な機能を取り上げ、HCIを初めて使用する読者に紹介するために執筆しました。 その後はデータベースアプリケーションの具体的な例を使用し、InterSystems データプラットフォーム上に構築されたアプリケーションを配置する際の、キャパシティプランニングとパフォーマンスに関する構成の選択肢と推奨事項を確認します。 HCIソリューションはパフォーマンスを向上させるためにフラッシュストレージを利用しているため、選択されたフラッシュストレージオプションの特性と使用例に関するセクションも含めています。

0
0 455
記事 Shintaro Kaminaka · 2020年7月3日 8m read

IRIS 2019.4以降の製品には、Prometheus形式でIRISのメトリックを公開する/api/monitorサービス機能が実装されています。 IRISのメトリックを監視・警告ソリューションの一部として使用したい人にとっては大きなニュースです。 このAPIは、IRISの次期バージョンでリリースされる予定の新しいIRIS System Alerting and Monitoring (SAM) ソリューションのコンポーネントです。 

ただし、IRISインスタンスを監視するためにSAMがこのAPIの計画と実証実験を開始するのを待つ必要はありません。 今後の投稿では利用可能なメトリックとその意味についてさらに掘り下げ、対話型ダッシュボードの例を示します。 しかし、まずは背景の説明といくつかの質問と回答から始めましょう。 

IRIS(およびCaché)は常に自分自身とその実行プラットフォームに関する数十のメトリックを収集しています。 これらのメトリックを収集し、CachéとIRISを監視する方法は常に複数存在します 。 また、IRISとCachéの組み込みソリューションを使用しているインストール環境はほとんどないことが分かっています。 例えば、History Monitorはパフォーマンスとシステムの使用状況に関するメトリックの履歴データベースとして長い間利用されてきました。

0
0 453
記事 Toshihiko Minamoto · 2021年6月3日 4m read

コンテナ

InterSystems IRIS Data Platformの公開により、Dockerコンテナでも製品を提供しています。 コンテナとは一体何でしょうか。

基本的なコンテナの定義は、プロセスのサンドボックスの定義です。  

コンテナは、たとえば実行できるという点において、仮想マシン(VM)に似た部分を持つソフトウェア定義パッケージです。 

コンテナは、完全なOSエミュレーションを使わずに分離することができるため、 VMよりもはるかに軽量です。 

本質的に、コンテナは、どのようにアプリケーションをシステムから別のシステムに確実に移動し、それが動作することを保証できるのかという問題に対する答えと言えます。 アプリケーションのすべての依存関係をコンテナにカプセル化し、プロセス分離領域を作成することにより、アプリケーションソリューションがプラットフォーム間で移動した場合でも動作するという高い保証を得ることができます。  

プロセスは、オペレーティングシステムによって実行が可能です。 これらのプロセスはアドレス領域、ネームスペース、cgroupなどを共有し、通常、OSの環境全体にアクセスすることができます。それらのスケジュールと管理は、OSが行います。

0
0 446
記事 Megumi Kakechi · 2021年2月2日 2m read

これは InterSystems FAQ サイトの記事です。


※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。

グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
DataCheckの概要【IRIS】

DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。
 

***

ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。

以下は、管理ポータルでの使用方法になります。

例えば、以下ルーチンがUSERネームスペースにあるとします。

test() public{
 quit "hello"
}

以下ルーチンがUSER2ネームスペースにあるとします。

test() public{
 quit "こんにちは"
}

以下は、USERネームスペースに接続したターミナルで %RCOM を実行した結果になります。

※ Compare: にルーチン名を記述し、 with: に比較したいルーチン名を記載します。
  別ネームスペースにあるルーチンを指定する場合は |"ネームスペース名"|ルーチン名.MAC で指定します。

USER>do ^%RCMP
 
Compare: comptest.
0
0 445
記事 Mihoko Iijima · 2024年1月25日 12m read

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、ApacheをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

同一サーバ上にApacheとInterSystems製品をインストールする場合、事前にApacheをインストールしておくとApacheに必要なWebゲートウェイのインストールとIRISへの接続設定をインストーラーが自動で行います。

以降の説明では、以下のインストール方法について解説します。

※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。

0
0 443
記事 Toshihiko Minamoto · 2021年10月26日 10m read

InterSystems IRISを初めて使用し始める際には、最低限のセキュリティレベルでのみシステムをインストールするのが通例です。 パスワードを入力する回数が少なくて済むため、初めて作業を始めるときに、開発サービスやWebアプリケーションの操作がより簡単になるからです。 また、開発済みのプロジェクトまたはソリューションをデプロイする際には、最小限のセキュリティを適用している方が便利な場合があります。 それでも、プロジェクトを開発環境から非常に敵対的な可能性のあるインターネット環境に移行する時が来れば、本番環境にデプロイされる前に、最大限のセキュリティ設定(つまり、完全なロックダウン状態)でテストしなければなりません。 これがこの記事の論点です。 InterSystems Caché、Ensemble、およびIRISにおけるDBMSセキュリティ問題をさらに包括的に説明した記事については、私の別の記事、「Recommendations on installing the InterSystems Caché DBMS for a production environment」(本番環境向けにInterSystems Caché DBMS をインストールするための推奨事項)をご覧ください。 InterSystems IRISのセキュリティシステムは、さまざまなカテゴリ(ユーザー、サービス、リソース、特権、およびアプリケーション)に異なるセキュリティ設定を適用する概念に基づいています。 ユーザーにはロールを割り当てることができます。 ユーザーとロールには、データベース、サービス、およびアプリケーションといったリソースに対し、さまざまな読み取り、書き込み、および使用の権限を付与することができます。 ユーザーとロールには、データベースのSQLテーブルに対するSQL特権も与えられます。

0
0 431
記事 Mihoko Iijima · 2024年1月25日 7m read

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。

  • 任意の場所にWebサーバを用意する
  • Webゲートウェイ用コンテナを利用する

この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。

【任意の場所にWebサーバを用意する】場合に必要となる情報については、下記ドキュメントをご参照ください。


Webゲートウェイコンテナを利用したWebアクセス例

  • 事前準備:このサンプルを使用して動作させるために必要な準備を説明します。
  • 開始するコンテナ:開始する2つのコンテナがどのように接続しているか説明します。
    • IRISのコンテナ:オリジナルのコンテナイメージの作成の流れを説明します。
0
0 420
記事 Megumi Kakechi · 2024年7月1日 6m read

これは InterSystems FAQ サイトの記事です。
 

IRIS2024.1以降のバージョンをインストールしようとした際に、以下のようなエラーになることがあります。

This CPU is not supported by this version of IRISHealth, which requires “AVX” and “BMI” CPU instructions.


これは、2024.1以降のバージョンより最小CPUの条件として、AVX および BMI 拡張命令が含まれることが条件となっているのですが、ご使用の環境に含まれない(仮想環境やFTサーバ等の特殊なシステムでは無効化されている場合も)ときに出力されるエラーです。

最小CPUサポートバージョンについては、以下のドキュメントをご覧ください。
Minimum Supported CPU

現在使用中のCPUの拡張命令セットの情報の確認方法については、以下のDC記事をご覧ください。
CPU のマイクロアーキテクチャファミリと命令セットの判定方法


Linuxの場合は、lscpuコマンド、または lshw -class processor コマンドで確認できます。

0
0 419
記事 Mihoko Iijima · 2020年12月1日 2m read

これは、InterSystems FAQサイトの記事です。

プログラムでロック情報を取得するには以下2種類の方法があります。

  1. %SYS.LockQuery クラス を使用する方法
  2. SSVN(構造化システム変数)を使用する方法

1.  %SYS.LockQuery クラス を使用する方法

 #dim rset As 


より詳細なロック情報を取得する場合には List クエリではなく Detail クエリを使用します。

set st=stmt.%PrepareClassQuery("%SYS.LockQuery","List")  を

set st=stmt.%PrepareClassQuery("%SYS.LockQuery","Detail") に変更します。
 

その他 条件を指定してロック情報を取得する事が出来ます。詳細についてはクラスリファレンス(%SYS.LockQuery)【IRIS】をご参照ください。
クラスリファレンス(%SYS.LockQuery)


2. SSVN(構造化システム変数)を使用する方法

以下サンプルは、現在のネームスペースにあるロックを検索し表示します。またローカル変数 LOCKET の配列に検索で見つかったロック名を設定しています。

 SET 

詳細は、^$LOCKについて【IRIS】

0
0 417
記事 Tomoko Furuzono · 2021年5月26日 2m read

これは、InterSystems FAQサイトの記事です。
 

オンラインバックアップの API である BACKUP^DBACK ルーチンを使用して実行できます。
フルバックアップを実行する例は以下の通りです。

set status=$$BACKUP^DBACK("","F","full backup","c:\backup\full.cbk","Y","c:\backup\full-log.log","NOINPUT","Y","Y","","")


バックアップ成功時は戻り値に 1 が返り、失敗時は 0 が返ります。
失敗時の詳細は、ログファイルをご参照ください。

また、第2引数の TYPE に C を指定すると累積バックアップ、I を指定すると差分バックアップを指定できます。
ルーチン例は以下の通りです。

 FULL() public {
    set cbk="c:\kit\InterSystemsFull"_$ZDATE($Horolog,8)_".cbk"
    set log="c:\kit\InterSystemsFullLog"_$ZDATE($Horolog,8)_".
0
0 416
記事 Megumi Kakechi · 2020年10月29日 1m read

これはInterSystems FAQ サイトの記事です。

1変数に最大 3,641,144 文字まで格納できます。

この制限は、InterSystems IRIS上で取り扱う全ての文字列が対象となるため、ローカル変数やメソッドの引数・戻り値も対象となります。

最大文字について詳しくは、以下ドキュメントをご参照ください。

最大文字列長について

0
0 415
記事 Hiroshi Sato · 2021年9月9日 2m read

これは InterSystems FAQ サイトの記事です。
システムクラス  Config.MapGlobals を使用して登録することができます。

ネームスペース USER からデフォルトデータベース以外のデータベース SAMPLES にある ^Sample.PersonD をグローバルマッピングする方法は以下の通りです(ターミナルでの実行例)。

USER>zn "%SYS"  %SYS>set ns="USER"  %SYS>set glo="Sample.PersonD"
 
%SYS>set vals("Database")="SAMPLES"
 
%SYS>set st=##class(Config.MapGlobals).Create(ns,glo,.vals) ※ Config.MapGlobals クラスの Create()メソッドの第3引数は参照渡しのため、変数名前にピリオド(.)を付与して指定します。

Config.MapGlobals クラスを使用する方法以外に、インストールマニフェストクラスを利用して定義することもできます。

インストールマニフェストクラスの作成方法詳細については添付をご参照ください。

以下例は、インストールマニフェストでの定義例です(クラス定義は添付内に含まれています)。

0
0 406