Hitachi

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


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

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

〈この項の構成〉

(1) ディレクトリの構成例

バックアップを取得するディレクトリを次に示します。

上記のディレクトリの構成例を次の表に示します。

表10‒7 バックアップを取得するディレクトリの構成例

項番

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

説明

ファイルの種類

バックアップ取得の有無

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

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

[図データ]

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

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

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

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

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

  • DBディレクトリ,アーカイブディレクトリ,および同義語辞書ファイルの格納ディレクトリのバックアップを取得する

手順

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

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

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

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

    adbls -d srv

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

  3. ディレクトリのバックアップを取得する(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
    重要

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

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

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

    adbstart

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

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

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

[図データ]

手順

  1. HADBサーバを終了する

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

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

  3. HADBサーバを開始する

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

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

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

    adbls -d srv

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