New post

検索

Article
· Feb 4 4m read

整合性チェックの各方法の違いについて

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

整合性チェックを行う場合、管理ポータルやタスクマネージャーから行う方法と、ターミナルから ^Integrity ユーティリティを使用して行う方法があります。

こちらのトピックでは、それぞれの違いをご説明します。
 


管理ポータル、整合性チェックタスク、
および SYS.Database の IntegrityCheck メソッドから行う方法


こちらの方法は、選択した複数のデータベースや、1 つのデータベースに格納された選択可能な複数のグローバルを対象に整合性をチェックを行います。

管理ポータル
[システムオペレーション] > [データベース] 整合性チェック・ボタン
※チェックを行いたいネームスペース、必要に応じてグローバルを選択し、実行・ボタンをクリック

整合性チェックタスク
[システムオペレーション] > [タスクマネージャー] > [タスクスケジュール] 整合性チェック・タスク 


SYS.Database クラスの IntegrityCheck メソッド:

%SYS>do ##class(SYS.Database).IntegrityCheck($LB("c:\intersystems\iris\mgr\user\"))  // DB指定
%SYS>do ##class(SYS.Database).IntegrityCheck()      // 全データベース

 

これらの方法では、エラーが検出されたすべてのグローバルを自動的に再テストします。
誤検出対策のための再チェックを行うため、余分に時間がかかる場合があります。

2回目のパス以降でもエラーが検出された場合、エラーメッセージが出力されます。

詳細は以下のドキュメントをご覧ください。
整合性チェックの誤検出


メリット:誤検出対策のための自動再チェックを行える、グローバル単位でチェックを行える(※管理ポータル)
デメリット:エラー検出の際には再チェックを行うため、余分な時間がかかる場合がある
 


^Integrity ユーティリティを使用して行う方法


こちらの方法は、ターミナルより手動でチェックを行えます。複数データベースを指定することも可能です。

管理ポータル等で行う上記方法と異なり、誤検出対策のための再チェックは行いません。

つまり、1 回目のパスでエラーが検出されたグローバルの再チェックは行わないため、エラーが報告されたグローバルをご自身で再チェックして誤検出を排除することが重要になります。

実行手順は、ターミナルを開き、%SYS ネームスペースに切り替えて、do ^Integrity と入力します。

また、^Integrity エントリポイントを用いることで、プログラムによる使用も可能です。
こちらの方法は、使用する並列処理の最大数を指定することが可能なため、整合性チェックのパフォーマンスを調整することが可能です(プロセス数の既定は8)。
以下の ^Integrity エントリポイント(CheckList^Integrity)を使用して行います。
 

Do CheckList^Integrity(outputglobal,dirlist,stopafteranyerror,listofglolist,maxproc,partialcheck)

outputglobal:結果を格納するグローバル
dirlist:チェックするすべてのディレクトリの $LIST 
stopafteranyerror:エラー発生時の整合性チェックの動作
                            (1:エラー検出でディレクトリのチェック停止、0:既定値。エラー発生時にチェック続行)
listofglolist:グローバル名を指定した $LIST を複数含む $LIST
maxproc:使用する並列処理の最大数(既定値は8)
partialcheck:既定値 0 (この値は予期しない問題が発生した場合のフォールバックとしてのみ提供)

 

 

// 以下は、5 つのプロセスを使って 3 つのデータベースをチェックしている例
set dblist=$listbuild(“/data/db1/”,”/data/db2/”,”/data/db3/”)
set sc=$$CheckList^Integrity(,dblist,,,5)
do Display^Integrity()
kill ^IRIS.TempIntegrityOutput(+$job)


メリット:エントリポイントを用いる場合、maxprocを指定することでパフォーマンスの調整が可能、
     再チェックを行わないので余分なチェックは行わない(時間短縮)、結果をファイルやターミナルに即座に出力
デメリット:自動再チェックは行わないためエラーの場合は独自に再チェックを行う必要がある、グローバルの選択はできない


enlightened【ご参考】
整合性チェック: 高速化と低速化
整合性チェックのパフォーマンスの調整
整合性チェックの目安の時間や動作状況の確認、途中で停止する方法について

Discussion (0)0
Log in or sign up to continue
Article
· Feb 3 2m read

第十四章 I - J 开头的术语

第十四章 I - J 开头的术语

InterSystems IRIS 存储 (InterSystems IRIS storage)

对象(Objects)

持久对象的默认存储类型。如果你使用 IRIS 存储,则无需指定任何存储数据的细节,并且你的类会自动投射到 SQL

InterSystems SQL

SQL

SQLIRIS 的高级关系接口。SQL 完全集成了IRIS 的对象功能,共享其类字典用于表定义,并使用作为类定义的高级数据类型。

InterSystems SQL 服务器 (InterSystems SQL server)

SQL

Discussion (0)1
Log in or sign up to continue
Question
· Feb 3

trying to put the SYSMGR global into a readable string

I'm trying to put this global into a readable list. any suggestions
The nested $bl's are giving me a problem.

SYSMGR("Task","TaskD",1046)=$lb("","",0,0,"","0","","Import data to PROG namespace OS.SarD",$lb("63735","1"),,,0,"","<ENDOFFILE>Import+30^PROG0","%SYS.Task.RunLegacyTask",0,"","","",0,"63735,40372","","63735,40320","ImportD","PROG2",,0,"","",0,0,,"",64117,"0 "_$lb($lb(5001,"<ENDOFFILE>Import+30^PROG0",,,,,,,,))/* ERROR #5001: <ENDOFFILE>Import+30^PROG0 */,1,"",5,"","",2,,,1,"123-123-123-ABCD-12345A789A","","SMITH1",$lb("ExecuteCode","q  ; D Import^PROG0()"),3,0)

5 Comments
Discussion (5)2
Log in or sign up to continue
Question
· Feb 3

Py fails in Win Terminal - fixed

USER>do $System.Python.Shell()
 
ERROR #5002: ObjectScript-Error: <OBJECT DISPATCH>Shell+16^%SYS.Python.1 
*Failed to Load Python: Check documentation and messages.log, 
Check CPF parameters:[PythonRuntimeLibrary,PythonRuntimeLibraryVersion], 
Check sys.path setup in: $INSTANCE/lib/python/iris_site.py
02/03/25-18:27:39:497 (13156) 1 [Generic.Event] CPF settings (PythonRuntimeLibraryVersion) do not specify python correctly - Python can not be loaded
02/03/25-18:27:39:498 (13156) 1 [Generic.Event] CPF settings (PythonRuntimeLibrary) do not specify python correctly - Python can not be loaded

my iris.CPF just shows nothing. what is the correctly formatted content ?

^CONFIG("config","PythonPath")=""
^CONFIG("config","PythonRuntimeLibrary")=""
^CONFIG("config","PythonRuntimeLibraryVersion")=""

next from iris_site.py:

>>> print(get_win_python_install_dir())
C:\Program Files\Python313

>>> print( __sitegetsitepackages([get_win_python_install_dir()]))
['C:\\Program Files\\Python313', 'C:\\Program Files\\Python313\\Lib\\site-packages']

>>> print(sys.path)
['', 'C:\\Program Files\\Python313\\python313.zip', 'C:\\Program Files\\Python313\\DLLs', 'C:\\Program Files\\Python313\\Lib', 'C:\\Program Files\\Python313', 'C:\\Program Files\\Python313\\Lib\\site-packages']

Various attempts to set iris.CPF according to docs / examples manually failed
What else can I check?

PythonPath=C:\Program Files\Python313
PythonRuntimeLibrary=C:\Program Files\Python313\python3.dll
PythonRuntimeLibraryVersion=3.13

Also downgrade to Python 3.9.13 didn't improve anything.

9 Comments
Discussion (9)1
Log in or sign up to continue
Announcement
· Feb 3

Building and Managing HL7 Integrations – IN PERSON February 24-28, 2025 / Registration space available

*** This is our first in person public course scheduled in the new InterSystems One Congress Street training rooms! ***

 

  • Building and Managing HL7 Integrations – In Person February 24-28, 2025 9:00am-5:00pm EST
    • Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
    • This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
    • Students build a production that processes and routes HL7 messages.
    • Students learn how to work with the pre-built HL7 business services, business processes and business operations to receive and send HL7 messages.
    • Students also learn how to transform HL7 messages using graphical tools in the Management Portal.
    • This course teaches students how to monitor, manage, and troubleshoot Productions. Students also learn how to use the Management Portal for viewing, searching, and resending messages.
    • This course is applicable for users of InterSystems IRIS for Health, Ensemble, and HealthShare.
  • Self-Register Here
Discussion (0)1
Log in or sign up to continue