2.91.1 pdorbeginの形式と規則
(1) 機能
指定したオリジナルRDエリアと,レプリカグループ内の指定した世代のレプリカRDエリアをオンライン再編成閉塞にします。
表を指定した場合,その表の関連するRDエリアを処理対象とし,各オリジナルRDエリアと,レプリカグループ内の指定した世代のレプリカRDエリアをオンライン再編成閉塞にします。関連するRDエリアについては,pdrdreflsコマンドを参照してください。また,制約定義での関連エリアも対象にする場合は,-cオプションを指定します。詳細は-cオプションの説明を参照してください。
pdorbeginコマンドを実行してからpdorchgコマンドを実行するまでの間は,指定したオリジナルRDエリアがあるレプリカグループ内のRDエリアにアクセスする,トランザクションは待ち状態となります。
オンライン再編成閉塞を解除したい場合は-uオプションを指定します。
pdorbeginコマンドは,HiRDB Staticizer Optionが組み込まれていて,かつシステム定義のpd_max_reflect_process_countオペランド及びpd_inner_replica_controlオペランドを指定している場合に実行できます。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
(a) 形式1(オンライン再編成閉塞にする場合,及びオンライン再編成閉塞を解除する場合)
pdorbegin {-r オリジナルRDエリア名〔,オリジナルRDエリア名〕… |-t 〔認可識別子.〕表識別子 〔-s サーバ名〔,サーバ名〕…〕 〔-c 制約種別〕} 〔-q 世代番号〕 〔-w 排他待ち時間〕 〔-e〕 〔-u〕 〔-W 実行監視時間〕 〔-I{put|noput}〕
(b) 形式2(共用RDエリア,又は共用表のオンライン再編成閉塞を解除する場合(HiRDB/パラレルサーバ限定))
pdorbegin {-r オリジナルRDエリア名〔,オリジナルRDエリア名〕… |-t 〔認可識別子.〕表識別子 〔-c 制約種別〕} 〔-s サーバ名〔,サーバ名〕…〕 〔-q 世代番号〕 〔-w 排他待ち時間〕 -u 〔-W 実行監視時間〕 〔-I{put|noput}〕
(4) オプション
(a) -r オリジナルRDエリア名〔,オリジナルRDエリア名〕… 〜<識別子>((1〜30))
オンライン再編成閉塞にするオリジナルRDエリアの名称を指定します。
<規則>
-
RDエリアを指定する場合の規則については,「運用コマンド,ユティリティでのRDエリアの指定」を参照してください。
-
レプリカ定義ができるRDエリアを指定してください。レプリカ定義ができないRDエリアを指定した場合はエラーとなります。レプリカ定義ができるRDエリアについては,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
-
レプリカRDエリアがすべて削除されたオリジナルRDエリア,又はレプリカRDエリアがないRDエリアを指定した場合はエラーとなります。ただし,一括指定でレプリカRDエリアがすべて削除されたオリジナルRDエリア,又はレプリカRDエリアがないRDエリアを指定した場合,一括指定の処理は無効となり,処理を続行します。
-
一括指定を指定する場合,レプリカRDエリアがすべて削除されたオリジナルRDエリア,又はレプリカRDエリアを持たないRDエリアに対する処理は無効とし,処理を続行します。
(b) -t 〔認可識別子.〕表識別子
〜<識別子>((認可識別子:1〜30,表識別子:1〜30))
オンライン再編成閉塞にする表の名称を指定します。
指定した表に関連するRDエリアを処理対象とし,各オリジナルRDエリアと,レプリカグループ内の指定した世代のレプリカRDエリアをオンライン再編成閉塞にします。
<規則>
-
-tオプションを指定する場合,その表と,その表に関連するすべてのRDエリアの総数が,4,096個以下でなければなりません。最大RDエリア数を超えたときは,KFPH27051-Eメッセージが出力されます。RDエリアの総数が4,097個以上になる場合は,-rオプションを指定してRDエリア単位で実行してください。
-
認可識別子を省略した場合,pdorbeginコマンド実行時の環境変数PDUSERの認可識別子が仮定されます。環境変数PDUSERを設定していない場合,及び環境変数PDUSERの認可識別子とパスワードの両方に簡易認証キーワードを指定している※場合,ログインウィンドウのユーザ名が仮定されます。-tオプションの指定と環境変数PDUSERの設定によって有効となる認可識別子について次に示します。
-tオプションの認可識別子
環境変数PDUSERの設定内容
有効な認可識別子
指定あり
−
-tオプションに指定された認可識別子
省略
認可識別子[/パスワード]
環境変数PDUSERに指定された認可識別子
設定なし
ログインウィンドウのユーザ名
認可識別子とパスワードの両方に簡易認証キーワードを指定
-
認可識別子,表識別子を引用符(")で囲んだ場合は,英字の大文字と小文字が区別されますが,引用符(")で囲まない場合はすべて大文字として扱われます。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
-
次の表を指定すると,エラーになります。
-
ビュー表
-
ディクショナリ表
-
一時表
-
(c) -s サーバ名〔,サーバ名〕… 〜<識別子>((1〜8))
次のどちらかの条件で,サーバ単位に処理する場合,このオプションを指定します。
-
オンライン再編成閉塞の対象がサーバ間横分割表の場合,対象となるサーバを限定するとき,そのサーバ名を指定します。
-
共用RDエリア,共用表のオンライン再編成閉塞状態を解除する場合に,対象となるサーバを限定するとき,そのサーバ名を指定します。
<規則>
-
このオプションを省略した場合,処理対象のRDエリアがあるすべてのサーバが対象となります。
-
共用RDエリアをオンライン再編成閉塞にする場合,全バックエンドサーバで一括で処理する必要があるため,-uオプションを指定しているときに-sオプションを指定してください。-uオプションを指定していない場合に-sオプションを指定するとエラーになります。
-
サーバ名は最大128個指定できます。129個以上指定するとエラーになります。
(d) -q 世代番号 〜<符号なし整数>((1〜10))《1》
オンライン再編成閉塞にするレプリカRDエリアのレプリカグループ内の世代番号を指定します。
オリジナルRDエリアの世代番号である0は指定できません。
(e) -w 排他待ち時間 〜<符号なし整数>((0〜3600))
オンライン再編成閉塞にする場合の,排他待ちの時間を秒単位で指定します。
このオプションを省略した場合,システム定義のpd_lck_wait_timeoutオペランドの指定値が仮定されます。システム定義のpd_lck_wait_timeoutオペランドの指定値が0の場合は,3,600が仮定されます。
(f) -u
オンライン再編成閉塞状態を解除する場合に指定します。このオプションを指定する場合,-rオプション,又は-tオプションを同時に指定する必要があります。
処理対象に共用RDエリアがある場合,全バックエンドサーバで一括処理されるため,処理対象RDエリアのすべてのオンライン再編成閉塞状態を解除できないときはエラーとなります。ただし,特定のバックエンドサーバが停止中などの理由によって,サーバ単位で共用RDエリアのオンライン再編成閉塞状態を解除する必要がある場合は,-sオプションを指定して解除できます。
オンライン再編成閉塞状態を解除する場合,オンライン再編成閉塞にしたときと同じ資源を指定する必要があります(同じでないとエラーとなります)。オンライン再編成閉塞にしたときのオプションと,解除時のオプションの関係を次に示します。
解除時のpdorbeginコマンドのオプション |
オンライン再編成閉塞にしたときのpdorbeginコマンドのオプション |
||
---|---|---|---|
-r RDエリア |
-t 表 |
-t 表 -c ref |
|
-r RDエリア -u |
○※ |
× |
× |
-t 表 -u |
× |
○ |
× |
-t 表 -c ref -u |
× |
× |
○ |
- (凡例)
-
○:実行できます。
×:実行できません(エラーとなります)。
- 注※
-
複数個のRDエリアをオンライン再編成閉塞にした場合,解除時はオンライン再編成閉塞に指定したRDエリアをすべて指定してください。
ただし,障害などのエラーを検知し,コマンドエラーでオンライン再編成閉塞状態を解除できない場合は,障害の影響がないRDエリアだけを指定して-uオプションを実行してオンライン再編成閉塞状態を解除してください。解除できないRDエリアは,障害を回復してから-uオプションを実行するRDエリアに指定し,解除してください。
(g) -c 制約種別
制約定義での関連RDエリアもオンライン再編成閉塞にする場合に指定します。このオプションを指定する場合,-tオプションを同時に指定する必要があります。-tオプションを指定していない場合にこのオプションを指定すると,エラーになります。
- ref:
-
参照制約での関連RDエリアもオンライン再編成閉塞にします。参照制約での関連RDエリアとは,参照表又は被参照表を格納しているRDエリアに対して,世代番号を合わせて運用する必要のあるRDエリアのことです。参照制約の運用方法については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
(h) -e
pdorendコマンド実行時のオンライン再編成の追い付き反映処理で,更新された列だけを反映する場合に指定します。なお,-eオプション指定時の注意については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
(i) -W 実行監視時間 〜<符号なし整数>((0〜3600))
pdorbeginコマンドの実行時間を監視する場合に,その監視時間を分単位で指定します。このオプションに指定する値の目安や動作については,マニュアル「HiRDB システム定義」のシステム共通定義pd_cmd_exec_timeオペランドの説明を参照してください。
なお,このオプションに0を指定した場合は,監視を行いません。
また,このオプションを省略した場合は,システム共通定義のpd_cmd_exec_timeオペランドの指定値に従います。
(j) -I{put|noput}
排他待ちによってタイムアウトした際に,タイムアウト情報を出力するかどうかを指定します。タイムアウト情報はタイムアウトの要因特定に使用できます。タイムアウト情報については,マニュアル「HiRDB システム運用ガイド」を参照してください。
タイムアウト情報を出力する指定(-I put)は,このコマンドと同時間帯に動いている処理(UAP・コマンドなど)を把握していない場合に使用してください。
- put:
-
$PDDIR/spool/pdlckinfにタイムアウト情報が出力されます。
タイムアウト情報を出力する場合は,ディスク容量の確保が必要です。タイムアウト情報を含む単調増加ファイルのファイルサイズについては,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
- noput:
-
タイムアウト情報は出力されません。
(5) 規則
-
pdorbeginコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdorbeginコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
-
pdorbeginコマンドを実行する場合,データディクショナリ用RDエリアが次のどちらかの状態でなければなりません。
-
オープン状態,かつ閉塞解除状態
-
オープン状態,かつコマンド閉塞状態
-
-
pdorbeginコマンドは,オプションの指定によって次のように処理をします。
-
-rオプション指定時
指定したオリジナルRDエリアのサーバごとに処理をします。指定したオリジナルRDエリアと,レプリカグループ内の指定した世代番号のレプリカRDエリアを,すべてオンライン再編成閉塞にできなかった場合は,そのサーバの処理はエラーとなり,次のサーバの処理をします。
-
-tオプション指定時
指定した表の関連するRDエリアを処理対象とし,各オリジナルRDエリアと,レプリカグループ内の指定した世代のレプリカRDエリアをオンライン再編成閉塞にします。該当するサーバを一括して処理するため,すべてのサーバの状態が同一となります。
-
-
指定したオリジナルRDエリアがあるサーバ内に,既にオンライン再編成閉塞となっているRDエリアがある場合,pdorbeginコマンドはエラーとなります。
-
オリジナルRDエリアの状態によってpdorbeginコマンドの実行可否が変わります。詳細については,「RDエリアの状態遷移」を参照してください。なお,レプリカRDエリアについては,コマンド閉塞かつクローズ状態である必要があります。
-
pdorcreateコマンドで追い付き状態管理表が作成されていない場合,又は-rオプションで指定したオリジナルRDエリアに追い付き状態管理表が作成されている場合は,pdorbeginコマンドはエラーとなります。
-
表定義時の列回復制約にALL以外を指定していて,その表(LOB列)を格納しているユーザLOB用RDエリアを-rオプションに指定した場合,そのユーザLOB用RDエリアがあるサーバに対するコマンドはエラーとなります。
-
処理対象RDエリアに共用RDエリアがある場合,全バックエンドサーバで一括処理をします。そのため,指定したオリジナルRDエリア,及びレプリカグループ内の指定した世代のレプリカRDエリアをすべてオンライン再編成閉塞にできない場合,エラーとなります。
-
pdorbeginコマンドを実行した場合,参照及び更新トランザクションとの間でデッドロックになることがあります。システム定義にpd_deadlock_priority_use=Yを指定し,更にpd_command_deadlock_priorityに運用コマンドのデッドロックプライオリティ値を指定することで,デッドロック発生時に参照及び更新トランザクションと運用コマンドのどちらを優先させるかを選択できます。pdorbeginコマンドをエラーにする場合は,運用コマンドのデッドロックプライオリティ値を大きくします。この場合,pdorbeginコマンドがコマンド実行時に掛けた排他をすべて解除してからエラーになるため,一定時間後にpdorbeginコマンドを再度実行してください。pdorbeginコマンドを優先し,参照及び更新トランザクションをエラーにする場合は,運用コマンドのデッドロックプライオリティ値を小さくしてください。
-
サーバ内にオンライン再編成閉塞の共用RDエリアと非共用RDエリアが混在する場合,-sオプションを指定してオンライン再編成閉塞を解除するときは,共用RDエリアと非共用RDエリアを別々に実行する必要があります。同時に実行するとエラーになります。
-
処理対象(表又はRDエリア)と,オプション(-t,-r,-s,-u,及び-c)の組み合わせによって,コマンドの実行可否,及び実行範囲が変わります。pdorbeginコマンドの実行可否と実行範囲を次に示します。
処理対象
オプション
実行可否
実行範囲
コマンドの実行形式
-t
-r
-s
-u
-c
表
非分割表(HiRDB/シングルサーバの共用表を含む)
●
−
−
−
−
○
すべての関連するRDエリア※2
形式1
●
−
−
●
−
○
●
−
●
−
−
○※1
指定したバックエンドサーバの関連するRDエリア※2
●
−
●
●
−
○※1
●
−
−
−
●
○
すべての関連するRDエリア※3
●
−
−
●
●
○
●
−
●
−
●
○※1
指定したバックエンドサーバに関連するすべてのRDエリア※3
●
−
●
●
●
○※1
横分割表
●
−
−
−
−
○
すべての関連するRDエリア※2
●
−
−
●
−
○
●
−
●
−
−
○※1
指定したバックエンドサーバの関連するRDエリア※2
●
−
●
●
−
○※1
●
−
−
−
●
○
すべての関連するRDエリア※3
●
−
−
●
●
○
●
−
●
−
●
○※1
指定したバックエンドサーバに関連するすべてのRDエリア※3
●
−
●
●
●
○※1
共用表(HiRDB/パラレルサーバ限定)
●
−
−
−
−
○
すべてのバックエンドサーバの関連するRDエリア※2
●
−
−
●
−
○
形式2
●
−
●
−
−
×
該当しません。
形式1
●
−
●
●
−
○
指定したバックエンドサーバの関連するRDエリア※2
形式2
●
−
−
−
●
○
すべてのバックエンドサーバの関連するRDエリア※3
形式1
●
−
−
●
●
○
形式2
●
−
●
−
●
×
該当しません。
形式1
●
−
●
●
●
○
指定したバックエンドサーバの関連するRDエリア※3
形式2
RDエリア
非共用RDエリアだけ
−
●
−
−
−
○
指定したRDエリアだけ
形式1
−
●
−
●
−
○
−
●
●
−
−
×
該当しません。
−
●
●
●
−
×
−
●
−
−
●
×
共用RDエリアだけ
−
●
−
−
−
○
すべてのバックエンドサーバ
−
●
−
●
−
○
形式2
−
●
●
−
−
×
該当しません。
形式1
−
●
●
●
−
○
指定したバックエンドサーバ
形式2
−
●
−
−
●
×
該当しません。
形式1
非共用RDエリアと共用RDエリアが混在
−
●
−
−
−
○
すべてのバックエンドサーバ
−
●
−
●
−
○
形式2
−
●
●
−
−
×
該当しません。
形式1
−
●
●
●
−
×
形式2
−
●
−
−
●
×
形式1
- (凡例)
-
●:オプション指定あり
−:オプション指定なし
○:実行できます。
×:実行できません。
- 注※1
-
指定したバックエンドサーバと,関連するRDエリアがあるバックエンドサーバが一致しない場合,エラーとなります。
- 注※2
-
制約定義の関連を含めません。
- 注※3
-
制約定義の関連を含めます。
(6) 注意事項
-
pdorbeginコマンドの結果は,pdls -d orgコマンド,又はリターンコードで確認できます。リターンコードを次に示します。
0:正常終了
4:警告終了(一部のサーバで処理が成功)
8:異常終了
12:異常終了(コマンドがエラーメッセージを表示できない事象が発生)
リターンコードが12の場合,シングルサーバ又はディクショナリサーバがあるホストのsyslogfileのエラーメッセージを参照し,エラーの要因を取り除いた後,再度コマンドを実行してください。syslogfileにエラーメッセージが出力されていない場合は,保守員に連絡してください。
-
オンライン再編成閉塞は,HiRDBを再開始した場合でも引き継がれます。
-
pdorbeginコマンドは,RDエリアに対して排他制御モードEXで排他を掛けます。そのため,指定したRDエリアにほかのトランザクションがアクセスしている場合は,そのトランザクションが終了するまでpdorbeginコマンドは待ち状態となります。また,pdorbeginコマンドの実行からpdorchgコマンドの完了までの間,指定したRDエリアに対するトランザクションは,レプリカグループ構成の排他で待ち状態となります。
-
-tオプションを指定した場合,内部でpdrdreflsコマンドを実行します。そのため,-tオプション指定時は,pdrdreflsコマンドのメッセージが出力されることがあります。
-
リアルタイムSANレプリケーションの処理方式にハイブリッドを選択している場合,pdorbeginコマンドを実行すると,リモートサイトへのデータベース同期待ち合わせをします。このため,-rオプションで指定したRDエリア一つにつき,2秒以上のオーバヘッドが掛かることがあります。リモートサイトへのデータベース同期待ち合わせに失敗した場合,リモートサイトのデータベースを回復する必要があります。リアルタイムSANレプリケーションを使用した場合の障害発生時の運用については,マニュアル「HiRDB ディザスタリカバリシステム 構築・運用ガイド」を参照してください。