10.3.3 バックアップの運用例(OSコマンドを使用)
ここでは,OSのコマンドを使用したバックアップの運用例について説明します。
(1) ディレクトリの構成例
バックアップを取得するディレクトリを次に示します。
-
DBディレクトリ(/HADB/db)
-
アーカイブディレクトリ(/HADB/archive)
-
同義語辞書ファイルの格納ディレクトリ(/HADB/syndict)
上記のディレクトリの構成例を次の表に示します。
項番 |
バックアップの取得対象のディレクトリ名およびファイル名 |
説明 |
ファイルの種類 |
バックアップ取得の有無 |
---|---|---|---|---|
1 |
/HADB/db/ADBDIC |
ディクショナリ用DBエリアファイル |
レギュラーファイル |
○ |
2 |
/HADB/db/ADBMST |
マスタディレクトリ用DBエリアファイル |
レギュラーファイル |
○ |
3 |
/HADB/db/ADBSTBL |
システム表用DBエリアファイル |
レギュラーファイル |
○ |
4 |
/HADB/db/ADBSYS |
システムディレクトリ |
レギュラーファイル群 |
○ |
5 |
/HADB/db/ADBWORK |
作業用ディレクトリ |
レギュラーファイル |
× |
6 |
/HADB/db/ADBWRK |
作業表用DBエリアファイル |
レギュラーファイル |
× |
7 |
/HADB/db/ADBUTBL01※1 |
データ用DBエリアファイル |
ブロックスペシャルファイル |
○ |
8 |
/HADB/db/ADBUIDX01※1 |
データ用DBエリアファイル |
ブロックスペシャルファイル |
○ |
9 |
/HADB/db/SPOOL |
障害情報(コアファイル)の出力先ディレクトリ |
レギュラーファイル群 |
× |
10 |
/HADB/archive |
アーカイブディレクトリ※2 |
レギュラーファイル |
○ |
11 |
/HADB/syndict |
同義語辞書ファイルの格納ディレクトリ※3 |
レギュラーファイル |
○ |
12 |
/HADB/audit |
監査証跡の出力先ディレクトリ |
レギュラーファイル |
× |
- (凡例)
-
○:バックアップを取得します。
×:バックアップを取得しません。
- 注※1
-
8個のブロックスペシャルファイルで構成されていることとします。
- 注※2
-
アーカイブマルチチャンク表を定義している場合に,アーカイブディレクトリのバックアップを取得する必要があります。
- 注※3
-
同義語検索を行っている場合に,同義語辞書ファイルの格納ディレクトリのバックアップを取得する必要があります。
(2) OSのコマンドでバックアップを取得する
OSのコマンドを使用して,データベースのバックアップを取得する例を次に示します。
この例では,次に示す条件でバックアップを取得することとします。
- 条件
-
-
データベースの初期設定後,一度以上HADBサーバを開始している
-
更新不可状態の実表がないことを確認している
-
データベースの更新を抑止するために,HADBサーバを正常終了する
-
バックアップの種類はフルバックアップとする
-
DBディレクトリ,アーカイブディレクトリ,および同義語辞書ファイルの格納ディレクトリのバックアップを取得する
-
手順
-
データベースの更新を抑止する
データベースのバックアップを取得する前に,データベースの更新を抑止します。ここでは,HADBサーバを正常終了します。
adbstop
-
HADBサーバの状態を確認する
手順1.で,HADBサーバが正常終了していることを確認します。
adbls -d srv
実行結果のSTATUSの項目が,STOPになっていることを確認します。
-
ディレクトリのバックアップを取得する(OSのコマンドでコピーする)
OSのコマンドを実行して,「(1) ディレクトリの構成例」で示したバックアップの取得が必要なファイルをすべてコピーします。
-
DBディレクトリ下のファイルのコピー先
/HADB_bkup/dbディレクトリ
-
アーカイブディレクトリ下のファイルのコピー先
/HADB_bkup/archiveディレクトリ
-
同義語辞書ファイルの格納ディレクトリ下のファイルのコピー先
/HADB_bkup/syndictディレクトリ
実行するOSのコマンドを次に示します。レギュラーファイルはcpコマンドで,ブロックスペシャルファイルはddコマンドで取得することを推奨します。
cp -r /HADB/db/ADBSYS /HADB_bkup/db/ADBSYS cp -H /HADB/db/ADBMST /HADB_bkup/db/ADBMST cp -H /HADB/db/ADBDIC /HADB_bkup/db/ADBDIC cp -H /HADB/db/ADBSTBL /HADB_bkup/db/ADBSTBL dd if=/HADB/db/ADBUTBL01 of=/HADB_bkup/db/ADBUTBL01 bs=524288 dd if=/HADB/db/ADBUTBL01.00001 of=/HADB_bkup/db/ADBUTBL01.00001 bs=524288 dd if=/HADB/db/ADBUTBL01.00002 of=/HADB_bkup/db/ADBUTBL01.00002 bs=524288 dd if=/HADB/db/ADBUTBL01.00003 of=/HADB_bkup/db/ADBUTBL01.00003 bs=524288 dd if=/HADB/db/ADBUTBL01.00004 of=/HADB_bkup/db/ADBUTBL01.00004 bs=524288 dd if=/HADB/db/ADBUTBL01.00005 of=/HADB_bkup/db/ADBUTBL01.00005 bs=524288 dd if=/HADB/db/ADBUTBL01.00006 of=/HADB_bkup/db/ADBUTBL01.00006 bs=524288 dd if=/HADB/db/ADBUTBL01.00007 of=/HADB_bkup/db/ADBUTBL01.00007 bs=524288 dd if=/HADB/db/ADBUIDX01 of=/HADB_bkup/db/ADBUIDX01 bs=524288 dd if=/HADB/db/ADBUIDX01.00001 of=/HADB_bkup/db/ADBUIDX01.00001 bs=524288 dd if=/HADB/db/ADBUIDX01.00002 of=/HADB_bkup/db/ADBUIDX01.00002 bs=524288 dd if=/HADB/db/ADBUIDX01.00003 of=/HADB_bkup/db/ADBUIDX01.00003 bs=524288 dd if=/HADB/db/ADBUIDX01.00004 of=/HADB_bkup/db/ADBUIDX01.00004 bs=524288 dd if=/HADB/db/ADBUIDX01.00005 of=/HADB_bkup/db/ADBUIDX01.00005 bs=524288 dd if=/HADB/db/ADBUIDX01.00006 of=/HADB_bkup/db/ADBUIDX01.00006 bs=524288 dd if=/HADB/db/ADBUIDX01.00007 of=/HADB_bkup/db/ADBUIDX01.00007 bs=524288 cp -r /HADB/archive /HADB_bkup/archive cp -r /HADB/syndict /HADB_bkup/syndict
- 重要
-
ブロックスペシャルファイルのデータ量については,ボリューム全体をコピーするため,実際の使用量よりも増えます。
-
-
データベースの更新抑止を解除する
OSのコマンドを使用してバックアップを取得したら,データベースの更新抑止を解除できます。ここでは,次に示すコマンドを実行して,HADBサーバを開始してください。
adbstart
(3) OSのコマンドでバックアップから回復する
OSのコマンドを使用して,取得したバックアップから回復する例を次に示します。
手順
-
HADBサーバを終了する
バックアップから回復する場合,HADBサーバを終了する必要があります。次に示すコマンドを実行して,HADBサーバを終了してください。
adbstop
-
バックアップから回復する(OSのコマンドでファイルを格納し直す)
取得したバックアップから,データベースを回復します。
まず,バックアップから回復する前のシステムログを削除するため,DBディレクトリ下にあるシステムディレクトリ(/HADB/db/ADBSYS)を削除してください。次に示すOSのコマンドを実行してください。
rm -r /HADB/db/ADBSYS
次に,バックアップから回復する前のアーカイブファイルを削除するため,アーカイブディレクトリ下にあるアーカイブファイルを削除してください。次に示すOSのコマンドを実行してください。
rm -r /HADB/archive/*
次に,バックアップから回復する前の同義語辞書ファイルを削除してください。次に示すOSのコマンドを実行してください。
rm -r /HADB/syndict/*
そのあとで,「(2) OSのコマンドでバックアップを取得する」の手順3. ディレクトリのバックアップを取得する(OSのコマンドでコピーする)で取得したすべてのファイルを格納し直してください。
-
バックアップを取得したDBディレクトリ下のファイルの格納先
/HADB/dbディレクトリ
-
バックアップを取得したアーカイブディレクトリ下のファイルの格納先
/HADB/archiveディレクトリ
-
バックアップを取得した同義語辞書ファイルの格納ディレクトリ下のファイルの格納先
/HADB/syndictディレクトリ
実行するOSのコマンドを次に示します。
cp -r /HADB_bkup/db/ADBSYS /HADB/db/ADBSYS cp -H /HADB_bkup/db/ADBMST /HADB/db/ADBMST cp -H /HADB_bkup/db/ADBDIC /HADB/db/ADBDIC cp -H /HADB_bkup/db/ADBSTBL /HADB/db/ADBSTBL dd if=/HADB_bkup/db/ADBUTBL01 of=/HADB/db/ADBUTBL01 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00001 of=/HADB/db/ADBUTBL01.00001 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00002 of=/HADB/db/ADBUTBL01.00002 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00003 of=/HADB/db/ADBUTBL01.00003 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00004 of=/HADB/db/ADBUTBL01.00004 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00005 of=/HADB/db/ADBUTBL01.00005 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00006 of=/HADB/db/ADBUTBL01.00006 bs=524288 dd if=/HADB_bkup/db/ADBUTBL01.00007 of=/HADB/db/ADBUTBL01.00007 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01 of=/HADB/db/ADBUIDX01 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00001 of=/HADB/db/ADBUIDX01.00001 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00002 of=/HADB/db/ADBUIDX01.00002 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00003 of=/HADB/db/ADBUIDX01.00003 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00004 of=/HADB/db/ADBUIDX01.00004 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00005 of=/HADB/db/ADBUIDX01.00005 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00006 of=/HADB/db/ADBUIDX01.00006 bs=524288 dd if=/HADB_bkup/db/ADBUIDX01.00007 of=/HADB/db/ADBUIDX01.00007 bs=524288 cp -r /HADB_bkup/archive/* /HADB/archive cp -r /HADB_bkup/syndict/* /HADB/syndict
- 重要
-
DBディレクトリ下のファイルをバックアップから回復する場合,DBディレクトリ(/HADB/db)に上書きコピーしてください。空のディレクトリに対して,バックアップ対象のファイルをコピーして格納するだけでは,データベースの整合性が取れなくなり,HADBサーバはその後の動作を保証できません。
-
-
HADBサーバを開始する
取得したバックアップからデータベースを回復したら,HADBサーバを開始します。次に示すコマンドを実行して,HADBサーバを開始してください。
adbstart
-
HADBサーバの状態を確認する
HADBサーバを開始したら,HADBサーバの稼働モードが通常モードになっているかどうかを確認します。次に示すコマンドを実行して,HADBサーバの状態を確認してください。
adbls -d srv
実行結果のSTATUSの項目を確認してください。STATUSがACTIVEになっていれば,稼働モードが通常モードになっています。