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