異常終了後にエラーになっている可能性があるエンタープライズ サーバー プロセスを確認し、それらのプロセスを回復するには、次のコマンドを使用します。
dbfhadmin -casprocess -list -usedb:svr-mydb
このコマンドは、各エンタープライズ サーバー プロセスの名前、ホスト名、プロセス ID、リージョン名、最後のハートビート時間、およびステータスを含む次のようなテーブルを返します。
Status Host Region Region Id H/B (s) Name PID TID ------ ---- ------ --------- ------- ---- --- --- Ok svr-mydb ESDEMODB ESDEMODB 0 cassi 1780 812 Ok svr-mydb ESDEMODB ESDEMODB 0 cassi 9140 28524 Ok svr-mydb ESDEMODB ESDEMODB 1 casmgr 10204 19392 Ok svr-mydb ESDEMODB ESDEMODB 0 cassi 19324 28792 Ok svr-mydb ESDEMODB ESDEMODB 2 castsc 19840 29036 Ok svr-mydb ESDEMODB ESDEMODB 1 cassi 26048 26300
プロセスが停止するか、リージョン間データベースへの接続が 10 秒以上失われた場合、ステータスに 'in doubt' と示されます。'in doubt' の場合、関連付けられたリソース ロック (ENQ) が未処理のまま残っている可能性があります。
dbfhadmin -casprocess -list -usedb:svr-mydb -host:MYHOST
dbfhadmin -casprocess -recover -usedb:svr-mydb -host:svr-01 -pid:12345
dbfhadmin -casprocess -recover -usedb:svr-mydb -host:svr-01
スクリプト ファイルからデータベースを作成するには、次のコマンドを使用します。これらのコマンドを事前に実行することにより、アクセスが必要でデータベースがまだ作成されていないときに処理が遅延することがなくなります。
dbfhadmin -createdb -file:mydb.sql -type:datastore -provider:ss
dbfhadmin -createdb -file:mydb.sql -type:datastore -provider:db2 -ebcdic
dbfhadmin -createdb -file:myregdb.sql -type:region -provider:ora -existdb:MYORADB
dbfhadmin -createdb -file:mypgdb.sql -type:datastore -provider:pg -host:MYREMOTEHOST -port:33445
エンタープライズ サーバーの異常終了後にまだ開いているデータ ファイルを確認し、それらのファイルを回復/解放するには、次のコマンドを使用します。索引キーのカラム型を管理するためのコマンドもいくつかあります。
次のコマンドは、svr-mydb でホストされている VSAM データストアのまだ開いているデータ ファイルをリストします。それぞれのファイルに、関連付けられたリソース ロックが未処理のまま残っている可能性があります。
dbfhadmin -openfiles -list -datastore:sql://svr-mydb/VSAM -host:svr-01
dbfhadmin -openfiles -recover -datastore:sql://svr-mydb/VSAM -host:svr-01
dbfhadmin -openfiles -recover -datastore:sql://svr-mydb/VSAM -host:svr-01 -pid 5983
dbfhadmin -keytypes -add -file:sql://svr-mydb/VSAM/MYFILE.dat -types:AN,SCOMPX
dbfhadmin -keytypes -add -replace -file:sql://svr-mydb/VSAM/MYFILE.dat -types:AN,SCOMPX
dbfhadmin -keytypes -delete -file:sql://svr-mydb/VSAM/MYFILE.dat
次のコマンドは、VSAM データストアのキー タイプのリストを MYKEYTYPES.xml ファイルにエクスポートします。
dbfhadmin -keytypes -export:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM
dbfhadmin -keytypes -import:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM
dbfhadmin -keytypes -import:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM -replace
dbfhadmin -keytypes -list -datastore:sql://svr-mydb/VSAM
データベースの作成に使用できるスクリプト ファイルを作成するには、次のコマンドを使用します。
dbfhadmin -script -type:crossregion -provider:db2 -file:createdb.sql
dbfhadmin -script -type:crossregion -provider:db2 -file:createdb.sql -collate:SYSTEM_1252_US
dbfhadmin -script -type:datastore -name:MYFILES -provider:pg -file:createdb.sql
dbfhadmin -script -type:region -name:ESDEMO -provider:ss -file:createdb.sql
dbfhadmin -script -type:datastore -name:mySEQ -provider:db2 -file:createinmydb.sql -existdb:masterSEQDB
dbfhadmin -script -type:datastore -name:MYFILES -provider:ora
起動時にリソースを使用できないことを示すコンソール ログ エラー メッセージが表示される場合は、次のコマンドを使用します。システム障害が発生した場合は自動回復プロセスでリソースの回復が試行されますが、回復できなかったリソースがある場合は、これらのコマンドを使用して解放できることがあります。
dbfhadmin -region -list -usedb:DBHOST
dbfhadmin -region -list -usedb:DBHOST -name:ESDEMO
dbfhadmin -region -list -usedb:DBHOST -name:ESDEMO -hex
dbfhadmin -region -recover -usedb:DBHOST -name:ESDEMO
プロセス類似性があるロックを解放するには、上記のコマンドで -cassprocess -recover オプションを使用します。
dbfhadmin -region -status -usedb:DBHOST -name:ESDEMO
dbfhadmin -region -status -reset -usedb:DBHOST -name:ESDEMO
dbfhadmin -upgrade -datastore:sql://localhost/VSAM -file:upgradeds.sql
データストアをアップグレードする必要がない場合、dbfhadmin から「ADM0073I Datastore '<datastore-url>' does not need to be upgraded」と出力され、スクリプト ファイルは作成されません。アップグレードが必要な場合は、dbfhadmin から「ADM0045I Creating SQL script file '<sql-script-name>'」と出力されます。
生成されたスクリプトは、sysadmin 権限があるユーザーとして実行する必要があります。sqlcmd (SQL Server)、psql (PostgreSQL)、db2 (Db2)、または sqlplus (Oracle) のコマンド ライン ツールを使用して実行してください。
データストアの整合性を検証し、必要に応じて整合性の問題を解決するには、次のコマンドを使用します。
dbfhadmin -verify -list -datastore:sql://localhost/VSAM
現在、このチェックでは、孤立したレコード ロック (つまり、ファイル ハンドルが関連付けられていないレコード ロック) のみが検出されます。一般に、レコード ロックが孤立するのは、関連付けられたファイル ハンドルがデータベースから手動で削除された場合です。孤立したレコード ロックが検出されると、dbfhadmin は、非順編成ファイルについては関連付けられているファイル名、順編成ファイルについては <Sequential files> (これらのファイルにはグローバル レコード ロック テーブルが使用されるため実際のファイル名は特定できません) をリストし、孤立したロックの数を示します。次に例を示します。
Orphaned record locks: Name Folder Count ---- ------ ----- SPLJOB.dat /MyDir 3 <Sequential files> 1
dbfhadmin -verify -recover -datastore:sql://localhost/VSAM
dbfhadmin -diags -usedb:DBHOST -name:ESDEMO -file diags.txt
コマンドで返される可能性のある戻りコードの一覧については、「dbfhadmin 戻りコード」を参照してください。