スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

19.17.3 スワップ先にできる状態のファイルの作成方法

ここでは,上書きできる状態のファイル,及び予備のファイルをスワップ先にできる状態にする方法を説明します。

<この項の構成>
(1) アンロード待ち状態のファイルをアンロード済み状態にします
(2) 抽出未完了状態のファイルが抽出完了状態になるのを待ちます
(3) 予備ファイルを使用します

(1) アンロード待ち状態のファイルをアンロード済み状態にします

pdloglsコマンドで,アンロード待ち状態のファイルを調べてください。アンロード待ち状態のファイルを,pdlogunld又はpdlogchgコマンドでアンロード済み状態にします。

注意
アンロードレスシステムログ運用をしている場合は,この操作をしないでください。アンロードレスシステムログ運用では,アンロード待ち状態のシステムログファイルをアンロード又は状態変更してしまうと,データベースの回復手段を提供できなくなってしまいます。このため,システムログファイル不足が発生した場合には,システムログファイルを追加して再開始をしてください。

(2) 抽出未完了状態のファイルが抽出完了状態になるのを待ちます

オフライン中のため,pdloglsコマンドではファイルの状態が抽出完了状態になったかどうかは分かりません。しかし,pdls -d rpl -jコマンドを使用すると,システムログが抽出側HiRDB Datareplicatorで抽出中かどうかは分かります。抽出中の場合は抽出未完了状態のファイルがあります。抽出中かどうかを見分ける方法を次に示します。

pdlsコマンドの実行結果

pdls -d rpl -s bes1 -j
 
SYSTEMID         : PRDT(185014)
Data replication : *
UNITID           : untF(185014)
Data replication : Y
SERVER NAME      : bes1
Extract Database : Y
Extract Status   : C
System Log Extract Point :
Run ID    Group    Gen No.  BLock No.
364a4ac2  logfg01      1        2
System Log Sync Info     :
Run ID    Group    Gen No.  BLock No.
364a4ac2  logfg07      7        1e
 

〔説明〕
現用システムログファイルの世代番号7に対して,抽出対象のシステムログファイルの世代番号は1です。したがって,抽出未完了状態のファイルがあります。このとき,HiRDB Datareplicatorが稼働中でなければ,HiRDB Datareplicatorを起動してシステムログを抽出してください。

pdlsコマンドの実行結果

pdls -d rpl -s bes1 -j
 
SYSTEMID         : PRDT(185612)
Data replication : *
UNITID           : untF(185612)
Data replication : Y
SERVER NAME      : bes1
Extract Database : Y
Extract Status   : C
System Log Extract Point :
Run ID    Group    Gen No.  BLock No.
364a4ac2  logfg07      7        20
System Log Sync Info     :
Run ID    Group    Gen No.  BLock No.
364a4ac2  logfg07      7        1e
 

〔説明〕
現用システムログファイルの世代番号7に対して,抽出対象のシステムログファイルの世代番号も7です。したがって,すべてのファイルが抽出完了状態になります。

(3) 予備ファイルを使用します

予備ファイルがある場合は,そのファイルをスワップ先にできる状態にして使用するようにしてください。予備ファイルとは,システムログファイルの実体は作成しているが,サーバ定義のpdlogadfgオペランドにONLを指定しなかったため,使用していなかったシステムログファイルのことです。

予備ファイルを使用するには,サーバ定義のpd_log_rerun_reserved_file_openオペランドにYを指定してください。

ポイント
予備ファイルが現在使用されていないかどうかを確認してから,これらの操作をしてください。予備ファイルが,現在使用されているかどうかはpdloglsコマンドで分かります。

●pdloglsコマンドの実行結果(予備ファイルが現在使用されていない場合)

pdlogls -d sys -s bes1
 
HOSTNAME : dcm3500(163541)
***** Off-line Information *****
Group    Type Server   Gen No.  Status    Run ID      Block No.
logfg01  sys  bes1     9        cna---u   364a4ac2    101      106
logfg02  sys  bes1     a        cna---u   364a4ac2    107      109
logfg03  sys  bes1     b        cna---u   364a4ac2    10a      10c
logfg04  sys  bes1     c        cna---u   364a4ac2    10d      10e
logfg05  sys  bes1     d        cna---u   364a4ac2    10f      110
logfg06  sys  bes1     e        cn---cu   364a4ac2    111      0
logfg07  sys  bes1     f        cn----u   36491223    1f0      201
logfg08  sys  bes1     0        cn-----   00000000    0        0
 

〔説明〕
  • logfg07は,ほかのシステムログファイルとはRun IDが異なります。したがって,以前は使用していたが,現在は使用していない予備ファイルです。
  • logfg08は,Run IDが0なので,一度も使用されたことのない予備ファイルです。

●pdloglsコマンドの実行結果(予備ファイルが現在使用されている場合)

pdlogls -d sys -s bes1
 
HOSTNAME : dcm3500(163541)
***** Off-line Information *****
Group    Type Server   Gen No.  Status    Run ID      Block No.
logfg01  sys  bes1     9        cna---u   364a4ac2    101      106
logfg02  sys  bes1     a        cna---u   364a4ac2    107      109
logfg03  sys  bes1     b        cna---u   364a4ac2    10a      10c
logfg04  sys  bes1     c        cna---u   364a4ac2    10d      10e
logfg05  sys  bes1     d        cna---u   364a4ac2    10f      110
logfg06  sys  bes1     e        cn---cu   364a4ac2    111      0
logfg07  sys  bes1     7        cnu---u   364a4ac2    e3       ef
logfg08  sys  bes1     8        cne---u   364a4ac2    f0       100
 

〔説明〕
logfg07,logfg08ともRun IDがほかのシステムログファイルと同じであり,かつ世代番号がほかのシステムログファイルと連続しているので現在使用中です。