dbfhadmin コマンド ライン ユーティリティの例

注: UNIX プラットフォームでは、作業モードに応じて dbfhadmin32 または dbfhadmin64 になります。

データベース作成

スクリプト ファイルからデータベースを作成するには、次のコマンドを使用します。これらのコマンドを事前に実行することにより、アクセスが必要でデータベースがまだ作成されていないときに処理が遅延することがなくなります。

  • 次のコマンドは、mydb.sql スクリプト ファイルを実行して ANSI 形式の MSSQL データストア データベースを作成します。
    dbfhadmin -createdb -file:mydb.sql -type:datastore -provider:ss
  • 次のコマンドは、mydb.sql スクリプト ファイルを実行して EBCDIC 形式の Db2 データストア データベースを作成します。
    dbfhadmin -createdb -file:mydb.sql -type:datastore -provider:db2 -ebcdic
  • 次のコマンドは、mypgdb.sql スクリプト ファイルを実行して MYREMOTEHOST サーバー/ポートに PostgreSQL データストア データベースを作成します。
    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
    警告: 次の 2 つのコマンドはファイルを強制的に閉じるため、使用する際は注意が必要です。関連付けられたファイルを閉じる場合は、その前に関連付けられたホストでプロセスが実行されていないことを必ず確認してください。
  • 次のコマンドは、svr-mydb でホストされている VSAM データストアのまだ開いているデータ ファイルについて、ファイルを閉じてから、すべてのプロセスの関連付けられているレコード ロックを削除することで、それらのファイルを回復します。
    dbfhadmin -openfiles -recover -datastore:sql://svr-mydb/VSAM -host:svr-01
  • 次のコマンドは、上記のコマンドと似ていますが、svr-mydb でホストされている VSAM データストアの指定されたプロセス (5983) の関連付けられているレコード ロックを削除します。
    dbfhadmin -openfiles -recover -datastore:sql://svr-mydb/VSAM -host:svr-01 -pid 5983
  • 次のコマンドは、MYFILE.dat ファイルの主キーのカラム型を英数字、最初の代替キーのカラム型を符号付き COMP-X として指定します。
    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
  • 次のコマンドは、MYFILE.dat に指定されているキー タイプを削除し、索引キーのカラム型を BINARY に戻します。
    dbfhadmin -keytypes -delete -file:sql://svr-mydb/VSAM/MYFILE.dat
  • 次のコマンドは、VSAM データストアのキー タイプのリストを MYKEYTYPES.xml ファイルにエクスポートします。

    dbfhadmin -keytypes -export:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM
  • 次のコマンドは、VSAM データストアに MYKEYTYPES.xml ファイルからキー タイプのリストをインポートします。
    dbfhadmin -keytypes -import:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM
  • 次のコマンドは、VSAM データストアに MYKEYTYPES.xml ファイルからキー タイプのリストをインポートし、ファイル内のタイプに対応する既存のタイプを置き換えます。
    dbfhadmin -keytypes -import:MYKEYTYPES.xml -datastore:sql://svr-mydb/VSAM -replace
  • 次のコマンドは、データストア内の各データ ファイルに設定されているキー タイプをリストします。
    dbfhadmin -keytypes -list -datastore:sql://svr-mydb/VSAM

スクリプト ファイル作成

データベースの作成に使用できるスクリプト ファイルを作成するには、次のコマンドを使用します。

  • 次のコマンドは、MYFILES という名前の PostgreSQL データストアを作成するためのスクリプト ファイル (createdb.sql) を作成します。
    dbfhadmin -script -type:datastore -name:MYFILES -provider:pg -file:createdb.sql
  • 次のコマンドは、mySEQ という名前の Db2 データストアを作成して masterSEQDB という名前の既存の Db2 データベースに格納するためのスクリプト ファイル (createinmydb.sql) を作成します。
    dbfhadmin -script -type:datastore -name:mySEQ -provider:db2 -file:createinmydb.sql -existdb:masterSEQDB
  • 次のコマンドは、MYFILES という名前の Oracle データストアを作成して既存の Oracle データベースに格納するためのスクリプト ファイル (create_datastore_MYFILES_ora.sql) を作成します。既存のデータベースは、作成したスクリプト ファイルで -createdb を実行する際に指定します (-existdb オプションを使用)。
    dbfhadmin -script -type:datastore -name:MYFILES -provider:ora

データストアのアップグレード

  • VSAM データストアを手動でアップグレードするために必要なスクリプト ファイル upgradeds.sql を生成するには、次のコマンドを使用します。-file オプションを省略した場合、upgrade_datastore_VSAM_db-type.sql という名前のファイルが生成されます (db-type はデータベース構成ファイルの設定で決まります)。
    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) のコマンド ライン ツールを使用して実行してください。

データストアの整合性

データストアの整合性を検証し、必要に応じて整合性の問題を解決するには、次のコマンドを使用します。

  • 次のコマンドは、VSAM データストアのデータストア整合性チェックを実行します。
    dbfhadmin -verify -list -datastore:sql://localhost/VSAM

    現在、このチェックでは、孤立したレコード ロック (つまり、ファイル ハンドルが関連付けられていないレコード ロック) のみが検出されます。一般に、レコード ロックが孤立するのは、関連付けられたファイル ハンドルがデータベースから手動で削除された場合です。孤立したレコード ロックが検出されると、dbfhadmin は、非順編成ファイルについては関連付けられているファイル名、順編成ファイルについては <Sequential files> (これらのファイルにはグローバル レコード ロック テーブルが使用されるため実際のファイル名は特定できません) をリストし、孤立したロックの数を示します。次に例を示します。

    Orphaned record locks:  Name                Folder  Count
                            ----                ------   -----
                            SPLJOB.dat          /MyDir   3
                            <Sequential files>           1
    
  • 次のコマンドは、孤立したレコード ロックから VSAM データストアを回復します。
    dbfhadmin -verify -recover -datastore:sql://localhost/VSAM
  • 次のコマンドは、DBHOST データベースの ESDEMO リージョン データベース (および関連するリージョン間データベース) に関する詳細を含む diags.txt という名前の診断レポートを生成します。
    dbfhadmin -diags -usedb:DBHOST -name:ESDEMO -file diags.txt

コマンドで返される可能性のある戻りコードの一覧については、「dbfhadmin 戻りコード」を参照してください。