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

コンソールログファイル (※1) に、以下のメッセージが表示されることがあります。

05/14/19-09:32:14:056 (6888) 0 System routine buffer (64 KB) shortage is detected, 430 routine buffers configured, adjusted per process cached rtn to 71

(※1)
コンソールログファイルは、[管理ポータル] > [システムオペレーション] > [システムログ] > [コンソール・ログ] から参照できます。
または、以下ファイルを直接参照することもできます。


 

<インストールディレクトリ>\mgr\cconsole.log 

上記メッセージでは、ルーチンバッファサイズのうちの 64KB バッファの不足が検出されています。

0 0
0 166

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

先日、RESTのクラスを使って、PDFなどのファイルをアップロード、ダウンロードするサンプルをお送りしたお客さんからご質問を頂きました。
ダウンロード機能を使ってmp4などの動画を表示させた場合、以下のようにvideoの画面下のスライダーを移動しても、再生を進めたり戻したりができませんでした

やはり、以下のようにスライダを動かすと、その時点の画像が表示されたほうが良いですね。

4 0
0 1.5K
記事
· 2021年6月15日 11m read
MonCaché - MongoDB としての Caché

MonCaché — InterSystems Caché での MongoDB API 実装

免責事項:この記事は筆者の私見を反映したものであり、InterSystemsの公式見解とは関係ありません。

構想

プロジェクトの構想は、クライアント側のコードを変更せずに MongoDB の代わりに InterSystems Caché を使用できるように、ドキュメントを検索、保存、更新、および削除するための基本的な MongoDB(v2.4.9) API 機能を実装するところにあります。

0 0
0 84

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

ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。

クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。

メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。

0 0
0 184

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

ジャーナルファイルの削除は、自動削除と手動削除が選択できます。


「自動削除」については、以下2つの方法が選択できます。

A) タスクスケジュールを使用して指定時間に自動削除する方法
B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法

A) タスクスケジュールを使用して指定時間に自動削除する方法

インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。
自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。

0 0
0 907

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

管理ポータルの SQL 画面(管理ポータル > システムエクスプローラ > SQL)で、任意の SQL を実行した後、結果の行数などが表示されいる行の右端にある「印刷」のリンクから、CSVファイル出力を選択できます。

「クエリ印刷」画面で「ファイルにエクスポート」をチェックすると「ファイル形式」の欄が表示されます。

形式に「CSV」を指定し、出力ファイル名を指定したあと「エクスポート」ボタンをクリックすると出力できます。

注意:古いバージョンでは正しくCSV出力が行えない場合もあります。新しいバージョンをぜひご利用ください。

0 0
0 336

先週のディスカッションでは、1つのファイルのデータ入力に基づく単純なグラフを作成しました。 ご存知のように、解析して相関付けるデータファイルが複数あることがあります。 そこで今週は、perfmonデータを追加して読み込み、それを同じグラフにプロットする方法について学習しましょう。 生成したグラフをレポートやWebページで使用する可能性があるため、生成したグラフのエクスポート方法についても説明します。

Windowsのperfmonデータを読み込む

標準のpButtonsレポートから抽出されたperfmonデータは、少し独特なデータ形式です。 一見すると、かなり単純なCSVファイルで、 最初の行には列のヘッダーがあり、それ以降の行にはデータポイントが含まれています。 ただし、ここでの目的のために、値エントリーを囲む引用符をどうにかする必要があります。 標準的なアプローチを使用してファイルをPythonに解析すると、文字列オブジェクトの列ができてしまい、うまくグラフ化できません。

0 0
0 128

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

マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。

【例1】クラスリストを取得してコンパイル

do $System.OBJ.GetClassList(.list,"/mapped")
// build your list starting from .list
do $System.OBJ.Compile(.list)

【例2】全てのクラスをコンパイル

0 0
0 104

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

バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを
 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」
の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。

この状況を回復するためには、以下2つの設定をする必要があります。

0 0
0 326

Caché/Ensemble 時代からご使用のお客様にはなじみの機能だと思いますが、IRISには「システムがインスタンスのメッセージログ/messages.log(Cachéの場合は コンソールログ/cconsole.log) を監視し、ログ・レベル2(重大なエラー) 以上 のアラートを受け取るとメールを送信する」ログ・モニター機能があります。
この機能を使用すると、アラートログ (alerts.log)へのログ書き込み管理のほかに、メールを送信することもできます。

メール送信の設定は、^MONMGR ユーティリティを使用して簡単に行えます。

以下に、サンプルをご案内します。

0 0
0 208

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

バージョン2017.2以降から、CREATE TABLE文で作成したテーブル定義のデータを格納するグローバル変数の命名ルールが変わり ^EPgS.D8T6.1 のようなハッシュ化したグローバル変数名が設定されます。(この変更はパフォーマンス向上のために追加されました。)

※ バージョン2017.1以前については、永続クラス定義のルールと同一です。詳細は関連記事「永続クラス定義のデータが格納されるグローバル変数名について」をご参照ください。

以下のテーブル定義を作成すると、同名の永続クラス定義が作成されます。

0 0
0 161
記事
· 2023年6月27日 13m read
REST の設計と開発

はじめに

今日の相互運用性分野に従事する多くの人にとって、REST は最高峰にあります。 REST API 開発用のツールとアプローチが溢れかえる中、コードを書き始める前に、どのツールを選び、何を計画する必要があるでしょうか? この記事では、堅牢性、適応性、および一貫性に優れた REST API を構築できるようにする設計パターンと考慮事項を焦点としています。 CORS サポートと認証管理の課題に他する実行可能なアプローチについて、REST API 開発の全段階に適用できる様々なヒントとテクニック、最適なツールを織り交ぜながら説明します。 InterSystems IRIS Data Platform で利用できるオープンソース REST API と複雑化し続ける API の課題にどのように取り組むかについてお読みください。 これは、同じトピックに関する最近のウェビナーを記事にしたものです。

0 0
1 223

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

クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。

ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。

0 0
0 26

** 2018年2月12日改訂

この記事はInterSystems IRISに関するものですが、Caché、Ensemble、およびHealthShareのディストリビューションにも適用されます。

概要

メモリはページ単位で管理されます。 Linuxシステムでは、デフォルトのページサイズは4KBです。 Red Hat Enterprise Linux 6、SUSE Linux Enterprise Server 11、およびOracle Linux 6では、HugePageと呼ばれるシステム構成に応じて、ページサイズを2MBまたは1GBに増やす方法が導入されました。

0 0
0 1.5K

最近の大規模なベンチマーク活動で、アプリケーションのスケーリングに悪影響を与える過度の %sys CPU 時間が観察されました。

問題

TZ 環境変数が設定されていないため、 localtime() システムコールに多くの時間が費やされていることがわかりました。 観察結果を確認するための単純なテストルーチンが作成されましたが、TZ が設定されている場合と TZ が未設定の場合とでは経過時間と必要な CPUリソースが驚くほど違っていました。 TZ が設定されていない場合、localtime() から /etc/local_time への stat() システムコールの継承使用は非常に負荷が高いことがわかりました。

推奨事項

InterSystems は、x86 または Linux on Power のいずれの Linux インストール環境でも、TZ 環境変数を適切に設定して最適なパフォーマンスを確保することを強く推奨しています。 詳細については、「man tzset」を参照してください。

0 0
0 158

これは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になります。

0 0
0 534

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

InterSystems OpenExchangeのVS Code用のプラグインを利用することでVS Code上でクラス定義の編集が可能です。

(今後は、AtelierではなくVS Codeの使用を推奨しています。)


詳細は、以下ページをご参照ください。


vscode-objectscript

また、逆にテーブル定義からクラス定義を生成することも可能です。

方法①として、他社RDBMS用に作成したDDL文をインターシステムズ製品上で実行、またはインポートする方法があります。


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

0 0
0 238
記事
· 2020年11月16日 1m read
メソッドのオーバロードについて

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

InterSystems ObjectScript言語では引数の異なる同名のメソッドを定義することはできません。

InterSystems ObjectScript言語は一般的に動的言語と呼ばれるプログラミング言語に分類されます。

ObjectScriptではメソッド実行時にどの引数を使用するかどうかは自由に制御可能ですので、動的プログラミング言語ではないJava等の言語と異なり、コンパイルの段階で厳密に引数の数でメソッドを区別する必要がありません。

従って ObjectScript言語は、オーバーロードと一般に呼ばれる言語仕様を含んでいません。

Java等で記述されたプログラムを移植する際にオーバーロード相当の機能を実現するには、

ClassMethod test(args... as %String)

のように引数の後ろに ... を付加します。

0 0
0 111

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

$SYSTEM.Process.TerminalPrompt() を使用してターミナルのプロンプトを変更できます。

プロンプトの表示形式は、以下情報の組み合わせで指定できます。

  1. ホスト名
  2. 現在のネームスペース
  3. 構成名
  4. 現在の時刻
  5. PID: オペレーティングシステム上でのプロセスID
  6. ユーザーネーム
  7. 最後のコマンドを実行してからの経過時間

例えば、Do $SYSTEM.Process.TerminalPrompt(1,3) ではホスト名と構成名をターミナルのプロンプトとして表示します。

*実行例は、ホスト名="HOST1"、構成名="IRIS"*

USER>Do $SYSTEM.Process.TerminalPrompt(1,3)
HOST1:IRIS>
0 0
0 172

古くなった MUMPS アプリケーションの新たな生命を吹き込みたいとお考えでしたら、以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

今回ご紹介する例には、パート 1 ではカバーしなかった内容を 4 つないし 5 つ程度盛り込んでいます。

その後は親子マッピングの例を紹介して完結となります。それを修得したらマッピングはもう完璧でしょう。

前回と同じ免責事項: これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。

グローバルをクラスにマッピングするステップ。

1 0
0 197

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

Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。

IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。

通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。

その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。

0 0
0 85

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

タイムアウトを無効にするためには、DSNの設定でクエリタイムアウト無効に設定します。

Windowsコントロールパネル > [管理ツール] > [データソース(ODBC)] > [システムDSN]の構成


で クエリタイムアウト無効 にチェックを入れますと、タイムアウトは無効になります。

アプリケーション側で変更する場合は、ODBC APIレベルで設定することが可能です。


ODBCのSQLSetStmtAttr関数をコールする際に、SQL_ATTR_QUERY_TIMEOUT属性を設定してから、データソースに接続してください。

2 0
0 8.3K

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

管理ポータルを使用して確認する場合は、以下の手順で参照できます。

管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。

0 0
0 202

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

ジャーナルファイルのサイズが大きすぎて、管理ポータルで検索やフィルタリング等できない場合、以下の2つの方法で参照することができます。

① ^JRNDUMP ユーティリティを使用する方法
② プログラムで参照する方法

============================================================

① ^JRNDUMP ユーティリティを使用する方法 例えば、グローバル参照 ^ABC を含むジャーナルファイルのすべてのレコードを選択する場合は、以下のようになります。


※以下、すべてのコマンドは %SYS ネームスペースで実行してください。


DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.001","","","^ABC",1)

0 0
0 275

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

ルーチン(*.mac)の場合

ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。

コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。

別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。

1 0
0 209

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

<PROTECT> エラーを解消するには、システム全体のライブラリデータベース(※)の読み込み専用属性を外します。

※ InterSystems IRIS の場合は IRISLIB、Caché/Ensemble/HealthShare(Cachéベース) の場合は CACHELIB

ルーチンのインポートが完了しましたら、読み込み専用に忘れずに戻すようにしてください。

【バージョン2013.1~】
[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]
データベース名のリンクから「読み込み専用でマウント」のチェックを外します。

0 0
0 136

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

管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。

Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。

ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。

0 0
0 315