Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


9.3.3 バックアップの運用例(OSコマンドを使用)

ここでは,OSのコマンドを使用したバックアップの運用例について説明します。

〈この項の構成〉

(1) DBディレクトリとアーカイブディレクトリの構成例

バックアップを取得するDBディレクトリとアーカイブディレクトリの構成例を次の表に示します。なお,ここでは,DBディレクトリを/home/adbmanager/dbとし,アーカイブディレクトリを/home/adbmanager/archiveとしています。

表9‒7 DBディレクトリとアーカイブディレクトリの構成例

項番

バックアップの取得対象のディレクトリ名およびファイル名

説明

ファイルの種類

バックアップ取得の有無

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のコマンドを使用して,データベースのバックアップを取得する例を次に示します。

図9‒3 OSのコマンドでバックアップを取得する例

[図データ]

この例では,次に示す条件でバックアップを取得することとします。

条件
  • データベースの初期設定後,一度以上HADBサーバを開始している

  • 更新不可状態の実表がないことを確認している

  • データベースの更新を抑止するために,HADBサーバを正常終了する

  • バックアップの種類はフルバックアップとする

  • DBディレクトリとアーカイブディレクトリだけバックアップを取得する

手順

  1. データベースの更新を抑止する

    データベースのバックアップを取得する前に,データベースの更新を抑止します。ここでは,HADBサーバを正常終了します。

    adbstop
  2. HADBサーバの状態を確認する

    手順1.で,HADBサーバが正常終了していることを確認します。

    adbls -d srv

    実行結果のSTATUSの項目が,STOPになっていることを確認します。

  3. 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
    注意事項

    ブロックスペシャルファイルのデータ量については,ボリューム全体をコピーするため,実際の使用量よりも増えます。

  4. データベースの更新抑止を解除する

    OSのコマンドを使用してバックアップを取得したら,データベースの更新抑止を解除できます。ここでは,次に示すコマンドを実行して,HADBサーバを開始してください。

    adbstart

(3) OSのコマンドでバックアップから回復する

OSのコマンドを使用して,取得したバックアップから回復する例を次に示します。

図9‒4 OSのコマンドでバックアップから回復する例

[図データ]

手順

  1. HADBサーバを終了する

    バックアップから回復する場合,HADBサーバを終了する必要があります。次に示すコマンドを実行して,HADBサーバを終了してください。

    adbstop
  2. バックアップから回復する(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サーバはその後の動作を保証できません。

  3. HADBサーバを開始する

    取得したバックアップからデータベースを回復したら,HADBサーバを開始します。次に示すコマンドを実行して,HADBサーバを開始してください。

    adbstart
  4. HADBサーバの状態を確認する

    HADBサーバを開始したら,HADBサーバの稼働モードが通常モードになっているかどうかを確認します。次に示すコマンドを実行して,HADBサーバの状態を確認してください。

    adbls -d srv

    実行結果のSTATUSの項目を確認してください。STATUSがACTIVEになっていれば,稼働モードが通常モードになっています。