-START DATABASE コマンド ( )Db2
-START DATABASE コマンドは、指定したデータベースを使用可能にします。
- データベース
- 表スペース
- 索引スペース
- パーティション化表スペースまたは索引スペース (データ・パーティション化 2 次索引を格納する索引スペースも含む) の物理パーティション
- 非パーティション 2 次索引の論理パーティション
- STOP DATABASE コマンドが発行された
- 表スペース、パーティション、または索引がグループ・バッファー・プール RECOVER ペンディング状況 (GRECP) になった
- ページが、表スペース、パーティション、または索引に対する論理ページ・リスト (LPL) に入れられた
データ共有環境では、コマンドは指定のデータベースにアクセスできるグループ内のどの Db2 サブシステムからでも発行できます。
省略形: -STA DB
環境 -START DATABASE
このコマンドは、 z/OS® コンソール、DSNセッション、 DB2I パネル(Db2 コマンド)、 IMS または CICS® 端末、または計装機能インターフェイス(IFI)を使用するプログラムから発行できます。
データ共有範囲 :グループ
承認 -START DATABASE
- STARTDB 特権
- DBMAINT 権限
- DBCTRL 権限
- DBADM 権限
- システム DBADM 権限
- SYSCTRL 権限
- SYSADM 権限
暗黙に作成されたデータベースの場合、データベース特権または権限は、暗黙に作成されたデータベース または DSNDB04 で保持されます。 暗黙に作成されたデータベース内の特定の表スペースまたは索引スペース に対して START DATABASE コマンドが発行される場合、表スペースの所有権には、これらの表スペース を開始するのに十分な権限があります。 これは、暗黙に作成された表スペースまたは索引スペースの名前をコマンドで明示的に指定した場合、所有者はその表スペースまたは索引スペースに関する情報を表示できるということを意味します。
STARTDB 特権がこの処理の特権セットに含まれているすべての指定データベースが開始されます。
ログオンしている z/OS コンソールまたは TSO SDSF から発行された Db2 コマンドは、1 次および 2 次許可 ID を使用して Db2 許可によって検査することができます。 z/OS でログインしたユーザーIDは、 または同様のセキュリティサーバーで定義されている必要があります。 RACF
データ定義制御がアクティブであれば、データベース、 表スペース、あるいは登録表や索引を含む索引スペース を開始するのに、インストール SYSOPR またはインストール SYSADM 権限 が必要です。
START DATABASE コマンドの使用許可を検査するには、データベース DSNDB01 の表スペース DBD01 と、データベース DSNDB06 の表スペースと索引スペースが必要です。 この許可検査に必要な表スペースまたは索引スペースが 停止している場合、あるいは LPL 状況または GRECP 状況のために使用不可になっている場合、 データベース、表スペース、または索引スペース (許可検査に必要なスペースも含む) を開始するには、 インストール SYSADM 権限が必要です。
構文 -START DATABASE
オプションの説明 -START DATABASE
- ( database-name, …)
- データベースの名前、または開始する表スペースまたは索引スペースに対するデータベースの名前を指定します。 以下のバリエーションが受け入れられます。
- (データベース名,...)
- 1 つ以上のデータベース名をコンマまたはブランクで区切って指定します。
- (*)
- プロセスの特権セットに必要な許可がある Db2 サブシステムに定義されている、すべてのデータベース。
- ( dbname 1: dbname2 )
- 名前が UNICODE で、dbname1 と dbname2 の間 (両方を含む) にあるすべてのデータベース。
- (dbname*)
- dbnameという文字列で始まる名前で、1~7文字のデータベース。
- (*dbname)
- dbnameという文字列で終わる名前で、1~7文字のデータベース。
- (*dbname*)
- dbnameという文字列を含むすべてのデータベース。dbnameは 1~6文字で構成される。
- (* dbstring1 * dbstring2 *)
- 名前に文字列を含むすべてのデータベース dbstring1、 dbstring2 合わせて2文字から5文字の文字列を含むすべてのデータベース。
- SPACENAM
- 開始するデータベース内の特定の表スペースまたは索引を指定します。 ACCESS(FORCE) を使用する場合、
表スペースと索引の名前のリストを指定した SPACENAM を
使用することが必要です。省略形: SPACE、SP
- (スペース名、… )
- 開始する表スペースまたは索引スペースの名前を指定します。 表スペースと索引スペースのいくつかの名前のリストを使用できます。
- (spacename, ...)
- コンマまたはブランクで区切られた 1 つ以上の索引スペース名。
- (*)
- プロセスの特権セットに必要な許可がある Db2 サブシステムに定義されている、すべての表スペースまたは索引スペース。
- (spacename1:spacename2)
- 名前が UNICODE で、spacename1 と spacename2 の間 (両方を含む) にあるすべての表スペースまたは索引スペース
- (spacename*)
- 1~7文字の文字列 spacename で始まる名前を持つすべてのテーブル空間またはインデックス空間。
- (*spacename)
- 1~7文字の文字列 spacename で終わる名前を持つすべてのテーブル空間またはインデックス空間。
- (*spacename*)
- 名前に1~6文字の文字列spacename を含むすべてのテーブル空間またはインデックス空間。
- (* スペース文字列1 * スペース文字列2 *)
- 名前に文字列を含むすべてのテーブル空間またはインデックス空間 spacestring1、 spacestring2 合計2~5文字を含むもの。
- 部分 (整数,...)
- 指定された表スペースまたは索引内で開始する 1 つ以上の
パーティションのパーティション番号を指定します。 他のパーティションの START または STOP 状態は変更されません。
指定する integer は、対応するスペース名およびデータベース名 の有効なパーティション番号でなければなりません。 無効なパーティション番号を指定すると 無効な番号ごとにエラー・メッセージが出されますが、 指定されたその他の有効なパーティションはすべて開始されます。
以下のいずれかのように指定して、 integer をコーディングできます。- 1 つ以上のパーティションのリスト
- integer1 以上 で integer2 以下のすべてのパーティション番号の範囲
- リストと範囲の組み合わせ
PART オプションは、パーティション表スペース、パーティション化索引、およびパーティション表スペースの非パーティション・タイプ 2 索引について有効です。 非パーティション表スペースまたは非パーティション表スペースに対する索引を PART に指定すると エラー・メッセージが出され、その非パーティション・スペースは開始されません。
- CLONE
- クローン・オブジェクトを開始します。 CLONE キーワードが指定されていない場合、基本表オブジェクト が開始され、クローン表オブジェクトは処理されません。 CLONE キーワードを指定すると、 クローン・オブジェクトのみが処理されます。
- ACCESS
- 開始するオブジェクトが読み取り/書き込み、読み取り専用、またはユーティリティー専用の
いずれの状況であるかを指定します。 また、使用不可状況のオブジェクトに強制的にアクセスします。
省略形: ACC
- (RW)
- 指定されたデータベース、表スペース、索引、またはパーティションに対し、 プログラムが読み書きを行えるようにします。
- (RO)
- 指定されたデータベース、表スペース、索引、またはパーティションからの読み取りのみをプログラムに許可します。 プログラムが、指定されたオブジェクトへの書き込みを実行しようとしても成功しません。 このオプションを宣言済み一時表のデータベース (AS TEMP オプションで作成されたデータベース) に使用 しないでください。
- (UT)
- Db2 オンラインユーティリティとSQL DROP文のみが、指定されたデータベース、テーブルスペース、インデックス、またはパーティションにアクセスできます。
- (RREPL)
- レプリケーション・プログラムと見なされなかったプログラムに、指定したデータベース、表スペース、索引、またはパーティションへの読み取りアクセスのみ許可します。 指定したオブジェクトに非レプリケーション・プログラムが書き込もうとすると、失敗します。 Db2 のほとんどのユーティリティは、指定されたオブジェクトで許可されています。制限事項: 宣言された一時テーブル(AS TEMPオプションで作成されたデータベース)用のデータベースにはACCESS(RREPL)を使用しないでください。
- (FORCE)
- 論理ページ・リスト内の
ページ、
保留中の据え置き再始動、書き込みエラー範囲、
読み取り専用アクセス、またはユーティリティー制御
が原因で、表スペース、索引、または区画が使用できない
ことを示す標識をリセットします。 FORCE は、CHECK ペンディング、COPY ペンディング、
および RECOVER ペンディング状態もリセットします。 データへの全アクセス権限が強制され
ます。 FORCE は、再始動ペンディング (RESTP) 状態のリセットには使用できません。
ACCESS(FORCE) 使用時は、単一のデータベース名、SPACENAM オプション、および 表スペースと索引の名前の明示的なリストを使用しなければなりません。 DATABASE (*) または SPACENAM (*) を含め、 いかなる範囲または組み合わせのパターン・マッチング文字 (*) も使用することはできません。
ユーティリティー限定状態は、ターゲット・オブジェクトがこのコマンドによってリセットされた場合にのみ リセットされます (かつ、ユーティリティーが終了します)。 どのオブジェクトがユーティリティーのターゲット・オブジェクトであるかを識別する には、DISPLAY DATABASE コマンドを使用するか、DISPLAY SYSUTIL オプション 指定の DIAGNOSE ユーティリティーを実行します。 DIAGNOSEユーティリティは、 IBM® のソフトウェアサポートの指示がある場合のみ使用してください。
注: Db2 の以前のリリースで実行されているユーティリティによって、強制しようとしているオブジェクトがユーティリティ読み取り専用 (UTRO)、ユーティリティ読み取り/書き込み (UTRW)、またはユーティリティ-ユーティリティ (UTUT) 状態に置かれた場合、ACCESS(FORCE) は正常に完了しません。 このような状況が発生した場合、 Db2 はメッセージを発行します DSNI041I。 制限状態をリセットするには、 Db2 のリリースを使用して、起動したユーティリティを終了する必要があります。
ACCESS(FORCE) を使用して開始された表スペースまたは索引スペースは、矛盾した状態になっている可能性があります。
使用上の注意事項 -START DATABASE
- オフラインのデータセット
- パーティション、テーブルスペース、インデックスを含むディスクパックは、データベースの起動時にオンラインである必要はありません。 ただし、パーティション、表スペース、または索引が最初に参照される場合には、 パックをオンラインにしておかなければなりません。 オンラインになっていないと、オープン時にエラーが生じます。
- テーブルスペースとインデックスを明示的に停止
- テーブルスペースとインデックスが明示的に停止された場合(STOP DATABASEコマンドのSPACENAMオプションを使用)、それらは明示的に開始する必要があります。 データベースを開始しても、明示的に停止された 表スペースまたは索引は開始しません。
- GRECPまたはLPLエントリでマークされたオブジェクトへの影響
表スペース、パーティション、または索引がグループ・バッファー・プール RECOVER ペンディング (GRECP) 状況である場合、あるいは表スペース、パーティション、または索引のページが論理ページ・リスト (LPL) に 含まれている場合、START DATABASE コマンドによりオブジェクトのリカバリーが開始されます。 SPACENAM オプションと、ACCESS (RW) または (RO) を指定する必要があります。
このリカバリー操作は、既に開始しているオブジェクトが SPACENAM に指定されていても 実行されます。
コマンドを出した時点でオブジェクトが停止していると、START DATABASE コマンドはそのオブジェクトを開始すると同時に、GRECP または LPL 状況を消去 します。 GRECP または LPL のリカバリー処置が完了できなくでも、 そのオブジェクトは開始されます。
コマンド権限の検査に必要な表スペースまたは索引スペースが使用不可の場合は、START DATABASE を出すために インストール SYSADM 権限またはインストール SYSOPR 権限が必要になります。
GRECP または LPL 状況にあるオブジェクトをリカバリーするにあたっては、 データベース名とスペース名の両方とも、パターン・マッチング文字 (*) の使用を避けて ください。 複数の START DATABASE(dbname ) SPACENAM(*) コマンドを 並行して実行させると、START DATABASE(*) SPACENAM(*) コマンド を 1 つだけ実行するよりも早く処理が完了します。
データベース名とスペース名の両方でパターン・マッチング文字 (*) を使用する 場合は、DBMAINT 権限が必要であり、さらに、カタログ・データベースとディレクトリー・データベース が既に以下の順序で明示的に開始されていることを確認する必要があります。-START DATABASE(DSNDB01) SPACENAM(SYSLGRNX,DSNLLX01,DSNLLX02)
-START DATABASE(DSNDB01) SPACENAM(*)
-START DATABASE(DSNDB06) SPACENAM(*)
推奨はできませんが、オブジェクトを開始するのに START DATABASE ACCESS(FORCE) を 使用することも可能です。 これは、すべての LPL と書き込みエラー・ページ範囲項目を そのページをリカバリーせずに削除するものです。 さらに、GRECP 状況も消去します。
NOT LOGGED 表スペースに対する取り消し処理を行う必要があるため、表スペースまたはパーティションが LPL に ある場合、-START DATABASE コマンドは、LPL から表スペースまたはパーティションを 除去しません。
LOG NOとして定義され、GRECP内にあるか、またはLPL内にページを持つLOBテーブルスペースを開始すると、LOBテーブルスペースはAUXW状態になり、 Db2 がLOG NO属性によりLPLの回復に必要なログレコードが欠落していることを検出した場合、LOBが無効になります。
- ACCESS(FORCE)の使用
ACCESS(FORCE)オプションは、エラー、 DSN1COPY、または Db2 for z/OS ではないプログラムによって、データが以前のレベルに復元された場合に使用することを意図しています。エラーに起因する例外状態が依然として存在し、リセットできない場合に使用します。 ACCESS(FORCE)を使用する際、 Db2 に関するデータの整合性を確保することはユーザーの責任です。
アプリケーションプロセスが制限付きステータス(RECP)にあるテーブルスペース、または制限付きステータスにある必要なインデックスを持つテーブルスペースのトランザクションロックを要求した場合、 Db2 がロックを取得します。 Db2 アプリケーションがテーブルスペースまたはインデックスにアクセスしようとするまでステータスを検出しません。アプリケーションがリソースが利用できないことを示すエラーメッセージ(SQLCODE -904)を受信したときに検出します。 このメッセージを受け取った後、アプリケーションはロックを コミットまたはロールバックすることにより (RELEASE オプションの値が COMMIT の場合)、 あるいはそれを終了することにより (RELEASE オプションの値が DEALLOCATE の場合) 解放 します。 コマンド START DATABASE ACCESS(FORCE) を 表スペースまたは索引スペースのいずれかに出した時点で ロックが有効であれば、そのコマンドは失敗します。
オブジェクトが保持ロックを持っている場合(つまり、 Db2 データ共有グループのメンバーが失敗し、そのオブジェクトが保持していたロックがロック構造に保持されている場合)、START DATABASE ACCESS (FORCE)は許可されません。
START DATABASE ACCESS(FORCE) は、 延期された異常終了、または未確定のリカバリー単位が存在する場合は、実行 されません。 この状態の時に START DATABASE ACCESS(FORCE) コマンドを出そうとすると、 コマンドは失敗します。 FORCE は、再始動ペンディング (RESTP) 状態のリセットには使用 できません。
- 制限モード(ROまたはUT)
制限モード(ROおよびUT)のSTART DATABASEコマンドが有効になるタイミングは、START DATABASEコマンドの完了後にアプリケーションが起動されたか、コマンド発行時にアプリケーションが実行中であったかによって異なります。 START DATABASE の完了後に開始されたアプリケーションの場合は、 アクセス制限は即時に有効になります。 START DATABASE が出された時点で実行中のアプリケーションの場合、 アクセス制限は、後続のクレームが要求された時に、 またはアプリケーションが完了まで実行することを許された時に、有効になります。 アプリケーションが START DATABASE コマンドによって割り込まれるかどうかは、 さまざまな要因によって決まります。 これらの要因には、START DATABASE コマンドに指定された ACCESS モード、 表スペースまたはパーティション上のドレーン・アクティビティーのタイプ (存在する場合)、 および表スペースまたは、パーティション上に保持されたカーソルがあるか、などがあります。
定義済みの一時表用の表スペースや索引スペースを、RO または UT アクセス を使用して開始しないでください。 UT アクセスを使用して一時ファイル・データベースを 開始し、REPAIR DBD ユーティリティーを適応させることができます。
テーブルスペース、インデックス、またはパーティションが、現在有効なACCESSタイプと互換性のないモードでアクセスする必要がある場合、 Db2 はリソースが利用できないというメッセージを発行します。
共用所有者データベースの場合は START DATABASE コマンドを出す前に、STOP DATABASE コマンド を出してデータベースまたは表スペースを静止しなければなりません。
PRO 制限状況での表スペース・パーティションの開始: 永続読み取り専用 (PRO) 制限状況にある表スペースが開始されると、そのパーティションは PRO 制限状況のままになります。
- 通信データベースまたはリソース制限機能
- データ共有グループのメンバーが現在通信データベース(CDB)またはリソース制限機能(RLF)を使用している場合、ACCESS(UT)でアクティブなデータベースまたはテーブルスペースを開始しようとしても、いずれも失敗します。
- 同期処理完了
- メッセージは DSN9022I 同期処理が正常に完了したことを示します。
- 非同期処理完了
GRECPステータスにあるオブジェクトまたはLPLのページの回復は非同期で行われます。 リカバリーの進行状況を示すため、メッセージ DSNI022I が周期的に発行されます。 データベース、表スペース、または索引の開始 (同期タスク) は、 リカバリー操作が開始する前に完了することがよくあります。 そのため、 Db2 がメッセージを発行した DSN9022I 同期処理が完了したことを示すメッセージが発行された場合、オブジェクトの復旧が完了していない可能性がある。
TYPE および NAME で指定されたオブジェクト (表スペースまたは索引スペース) がグループ・バッファー・プール・リカバリー・ペンディング (GRECP) 状況または論理ページ・リスト (LPL) 状況になっているときにリカバリーが起動した場合は、START DATABASE コマンドへの応答としてメッセージ DSNI006I が発行されます。 メッセージ DSNI051I は、索引スペースの GRECP または LPL リカバリーでの第 2 パスのログ適用が開始されたことを示します。 START DATABASE コマンドは、リカバリーの非同期タスクが完了するまでは完了しません。
メッセージ DSNI021I は、オブジェクトの非同期処理が完了したことを示します。 コマンド DISPLAY DATABASE を出すことにより、 オブジェクトすべてのリカバリー操作が完了しているかを判別できます。 リカバリー操作が完了していれば、コマンドからの出力には LPL または GRECP のない、RW または RO 状況のいずれかが示されます。
- LOBテーブルスペースの開始
- START DATABASE コマンドを使用して、補助テーブル上のLOBテーブルスペースとインデックスを開始することができます。 LOB 表スペースは、 LOB 表スペースが関連付けられている基本表スペースとは別に独自に開始されます。
- データ共有メンバーのトレース情報
- グループスコープを持つこのコマンドが Db2 のデータ共有メンバーで発行されると、他のすべてのアクティブなメンバーでも実行されます。 他のグループメンバーのIFICID 090トレースレコードでは、元のコマンドが発行されたメンバーからのトレースレコードに加えて、 016.TLPKN5F の相関IDからSYSOPR権限IDによって同じコマンドが発行されたことが示されます。 Db2 のデータ共有におけるコマンドの適用範囲を参照してください。
例 -START DATABASE
-START DATABASE (DSN8D81A) SPACENAM (DSN8S81E)
-START DATABASE (*)
-START DATABASE (DSN8D81A) SPACENAM (DSN8S81E) PART (3,4) ACCESS (RO)
-START DATABASE (DBIQUA01) SPACENAM (T*IQUA03) ACCESS (RW)
このコマンドにより次のような出力が作成されます。DSN9022I - DSNTDDIS 'START DATABASE' NORMAL COMPLETION
例 5: クローン・オブジェクトを開始します。
-START DATABASE (MYDB*) SPACENAM (MYDB*SP) CLONE