付録H 組み込みDBを使用した運用でシステムログファイルのディスクに障害が発生した場合の回復方法

アンロードログファイルを使用する環境で,二重化しているシステムファイルの片方に障害が発生した場合の回復方法です。

ただし,「3.5.7 アンロードログ運用」に記載している手順で回復することを推奨します。

  1. 障害を取り除く。
  2. pdlogcls※1で障害が発生したすべてのシステムログファイルおよびシンクポイントダンプファイルをクローズ状態にする。
    (例)

    pdlogcls -d sys -g log1 -b※2
    pdlogcls -d spd -g log1 -b

  3. システムファイル領域を再作成する。※3
  4. pdlogopen※1でシステムログファイルおよびシンクポイントダンプファイルをオープンする。
    (例)

    pdlogopen -d sys -g log1 -b※2
    pdlogopen -d spd -g log1 -b

これらの操作はスケジューラーサービス起動時に操作することができます。

二重化しているシステムファイルのうち,片方に障害が発生しても運用に問題はありません。しかし,もう一方のシステムファイルに障害が発生した場合,障害発生時までの状態に回復できなくなるため,障害発生時は速やかに回復してください。

注※1
組み込みDBのコマンドを実行するには,環境変数の設定が必要となります。
注※2
-gに指定するログファイルグループについては,ajsembdbstatusコマンドで確認してください。
注※3
システムファイル領域を再作成するには,組み込みDBのコマンドを使用する必要があります。コマンドラインを次に説明します。指定するパスを環境に合わせて修正し,実行してください。
実行するコマンドラインは,問題の発生している領域のものだけを実行してください。次に示すコマンドラインをすべて実行してしまうと,障害の発生していないログ領域も初期化してしまいます。
システムファイル再作成時のコマンドライン中の文字列に入る値を次の表に示します。コマンドライン中の文字列(AAAまたはBBBの個所)は読み替えてください。

表H-1 ログ再作成時のコマンドラインに入力する規模ごとの可変値

文字列小規模中規模大規模
AAA117200567
BBB28,40049,660143,600

ajsembdbbuild -dでシステムファイル領域ディレクトリ名称1に指定した領域

pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys011"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys012"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys013"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys014"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys015"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1¥ajssys016"

pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1¥ajssys011¥utsts1a" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1¥ajssys012¥utsts2a" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1¥ajssys013¥utsts3a" -l 4096 -c 32
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys011¥sts1a" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys012¥sts2a" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys013¥sts3a" -l 4096 -c 800
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys011¥log1" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys012¥log2" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys013¥log3" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys014¥log4" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys015¥log5" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys016¥log6" -n BBB
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys014¥spd1" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys015¥spd2" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1¥ajssys016¥spd3" -n 110

ajsembdbbuild -dでシステムファイル領域ディレクトリ名称2に指定した領域

pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys017"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys018"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys019"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys020"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys021"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2¥ajssys022"

pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2¥ajssys017¥utsts1b" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2¥ajssys018¥utsts2b" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2¥ajssys019¥utsts3b" -l 4096 -c 32
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys017¥sts1b" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys018¥sts2b" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys019¥sts3b" -l 4096 -c 800
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys017¥log1" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys018¥log2" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys019¥log3" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys020¥log4" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys021¥log5" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys022¥log6" -n BBB
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys020¥spd1" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys021¥spd2" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2¥ajssys022¥spd3" -n 110

ajsembdbbuild -dでシステムファイル領域ディレクトリ名称1に指定した領域

pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys011"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys012"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys013"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys014"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys015"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称1/ajssys016"

pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1/ajssys011/utsts1a" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1/ajssys012/utsts2a" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称1/ajssys013/utsts3a" -l 4096 -c 32
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys011/sts1a" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys012/sts2a" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys013/sts3a" -l 4096 -c 800
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys011/log1" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys012/log2" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys013/log3" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys014/log4" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys015/log5" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys016/log6" -n BBB
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys014/spd1" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys015/spd2" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称1/ajssys016/spd3" -n 110

ajsembdbbuild -dでシステムファイル領域ディレクトリ名称2に指定した領域

pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys017"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys018"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys019"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys020"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys021"
pdfmkfs -r -n AAA -l 10 -e 1 -k SYS -i "システムファイル領域ディレクトリ名称2/ajssys022"

pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2/ajssys017/utsts1b" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2/ajssys018/utsts2b" -l 4096 -c 32
pdstsinit -u unt1 -f "システムファイル領域ディレクトリ名称2/ajssys019/utsts3b" -l 4096 -c 32
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys017/sts1b" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys018/sts2b" -l 4096 -c 800
pdstsinit -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys019/sts3b" -l 4096 -c 800
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys017/log1" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys018/log2" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys019/log3" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys020/log4" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys021/log5" -n BBB
pdloginit -d sys -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys022/log6" -n BBB
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys020/spd1" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys021/spd2" -n 110
pdloginit -d spd -s ajs2 -f "システムファイル領域ディレクトリ名称2/ajssys022/spd3" -n 110