他のタイプのデータベースをソースに復元する

バックアップと DR サービスの復元オペレーションは、バックアップ イメージをソースに復元し、そこに存在するデータをすべて上書きします。

システムの制限事項と回避策

  • 論理ボリューム マネージャー(LVM)スナップショットとしてバックアップされたルートパーティション上のシステム データベースは、ルートパーティションをマウント解除できないため、復元オペレーションで使用できません。これらのファイルは、標準マウントから同じホストに手動で復元する必要があります。
    ユーザーのダウンタイムを短縮してボリュームレベルのデータベース イメージを復元するには、即時復元用の他のタイプのデータベースをマウントして移行するをご覧ください。

  • 複数のインスタンスが同じボリュームまたはファイルシステムを共有している場合、ソースへの復元はサポートされていません。このようなアプリケーションを復元するには、イメージをホストにマウントし、ボリュームベースのバックアップ イメージからソースに単一データベースを復元するで説明されている手順に沿って単一データベースの復元を行います。

  • バックアップ対象の本番環境ボリュームの下にネストされたマウント ポイントがある場合、本番環境ボリュームがビジー状態であるためマウントを解除できず、復元オペレーションとソースへの移行オペレーションが失敗します。

  • 復元するには、/backup-disaster-recovery/docs/restore-data/otherdb-restore

ボリュームレベルのバックアップ イメージからソースにデータベースを復元する

この手順では、ソースデータ領域の物理的な復元を使用します。ソースに復元する手順は次のとおりです。

  1. [App Manager Applications] リストで、保護されたデータベースを右クリックして [Access] を選択します。[マネージド バックアップ プラン] ステータス フィルタを使用して、保護されたデータベースのみを表示します。

  2. スナップショット イメージを選択し、[復元] をクリックします。

  3. [従来型] を選択します(マウントして移行しない)。

  4. ソース アプリケーションがデータベース ログのバックアップを有効にしたスナップショット ポリシーで保護されており、イメージでログを使用できる場合は、[Roll Forward Time] セクションで次のオプションを変更して、それらのログを使用して特定の時点にロール フォワードできます。

    • 日付フィールドには、データベース トランザクション ログの適用によってデータベースをロールフォワードできるすべての日付が含まれます。データベースをロールフォワードする日付を選択します。
    • 時間フィールドには、選択した日付にデータベースをロールフォワードできるすべての時刻を示すスライダーがあります。可能な限り最新の日付を選択してスライダーを右端の位置に移動すると、復元ジョブは使用可能なすべてのログに適用されます。可能な限り早い日付を選択し、スライダーを左端の位置に移動すると、復元ジョブはログを適用しません。
    • User Time(ユーザー時間)または Host Time(ホスト時間)を使用して、ロール フォワードを指定できます。ユーザー時間は、現在のユーザーの現地時間が基準になります。ホスト時間は、復元されるデータをホストするシステムが基準になります。
  5. [Restore With Recovery] を有効にして、復元されたログを適用します。

  6. [送信] をクリックします。

  ```sh
    ALTER DBSPACE IQ_SYSTEM_LOG RENAME /pitr_log_location
    SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'
  ```

ボリュームベースのバックアップ イメージからソースに単一のデータベースを復元する

単一の Db2 または SAP ASE バックアップ イメージをソースに復元する手順は次のとおりです。

  1. [App Manager Applications] リストで、保護されたデータベースを右クリックして [Access] を選択します。

  2. 復元する最新のスナップショットを選択し、[マウント] をクリックします。

  3. [アプリケーション オプション] で、[Create New Virtual Application] を無効にします。

  4. [Mapping Options] で、マウント ポイントの場所を指定します。

    たとえば、/mymount を使用すると、このロケーションにデータベース バックアップがマウントされます。ログ バックアップは /mymount_archivelog にマウントされます。

  5. [送信] をクリックします。

  6. [Monitor] > [Jobs] ページで、マウント ジョブが完了したかどうかを確認します。

  7. ジョブが完了したら、root としてデータベース サーバーにログインします。サーバーで、ディレクトリを /act/custom_apps/<var>database type</var>/restore に変更します。

  8. /var/act/log/UDSAgent.log からマウントの JobID を取得します。JobID を確認するには、次のコマンドを実行します。

    grep "mount -t " /var/act/log/UDSAgent.log | grep -w "<var>mountpoint from step 4</var>"|tail -1
    

    次に例を示します。

    grep "mount -t " /var/act/log/UDSAgent.log | grep -w "/db2mnt" |tail -1
    2019-11-18 23:59:19.740 GEN-INFO \[22488\] **Job_0404207** Spawning cmd: mount -t ext4 /dev/act403764_DBDump_1574101677612/act_staging_vol /db2mnt 2>&1
    
  9. ARCHIVELOG_MNT<var>mountpoint provided in step 4</var>_archivelog です。

  10. ターゲット ホストのコマンドラインから root として、スクリプトを実行します。

IBM Db2

スクリプト: act_db2_lvm_customdb_recovery.sh

スクリプトへの引数:

SOURCE_INSTANCE = <var>Db2  Instance name</var>
DB_NAME=<var>Db2 Database name to be recovered(Single)</var>
TARGET_MNT = <var>Db2 Database image mountpoint name</var>
ARCHIVELOG_MNT= <var>Archive Log backup mount point name</var>
UNTIL_TIME = <var>Recovery Time(Format: "YYYY-MM-DD-HH.MI.SS")</var>
JOBID = <var>Database mount Job name</var>

Db2 インスタンスに接続し、データベースが復元されてオンラインになっていることを確認します。

db2 connect to <var>dbname</var>
db2 select db_status FROM SYSIBMADM.SNAPDB

SAP ASE

これらの引数を指定してスクリプト act_sybase_lvm_customdb_recovery.sh を実行します。

./act_sybase_lvm_customdb_recovery.sh OSUSER=sybase
TARGET_SYBASE_SQLD=/home/sybase/Sybase16Home/OCS-16_0 TARGET_MNT_PNT=/sngRst
TARGET_SERVER_NAME=ASE1 TARGET_DB_USER=sa STRIPEON=4 TARGET_DBUSER_PASSWD=sybase
SRC_DBNAME=CU1 LOG_BKP_MNTPT=/sngRst_archivelog UNTIL_TIME="2019-11-07 20:31:27"
BEGIN_TIME="2019-11-07 19:31:27" JOBID="Job_2677627"

スクリプトへの引数

OSUSER = SAP Ase OS owner name
TARGET_SYBASE_SQLD = SAP ASE iSQL path on the target recovery host
TARGET_MNT_PNT = SAP ASE Instance image mountpoint name
TARGET_SERVER_NAME = SAP ASE data server name on the target recovery host
TARGET_DB_USER = SAP ASE Instance username on the target recovery host
TARGET_DBUSER_PASSWD = SAP ASE Instance user password on the target recovery host
SRC_DBNAME = SAP ASE Database name to be recovered (Single)
LOG_BKP_MNTPT = SAP ASE Log image mountpoint name
BEGIN_TIME= Backup begin time (Format: "YYYY-MM-DD HH24:MI:SS")
UNTIL_TIME = Point in time to recover the database (Format: "YYYY-MM-DD HH24:MI:SS")
JOBID = Database mount Job name

SAP ASE データベースに接続してデータを確認します。

  1. 管理コンソールでイメージに再度アクセスし、データベース マウント ポイントをマウント解除して削除します。

ファイルベースの完全バックアップと増分バックアップのイメージをソースに復元する

この手順では、ソースデータが上書きされます。ファイルベースのバックアップ イメージからソース データベースを復元する手順は次のとおりです。

  1. [App Manager Applications] リストで、保護されたデータベースを右クリックして [Access] を選択します。

  2. スナップショット イメージを選択し、[復元] をクリックします。

  3. [従来型] を選択します(マウントして移行しない)。

  4. [アイテムの選択] を使用して、復元するデータベースを 1 つ以上選択します。

  5. [Restore With Recovery] を有効にして、復元されたすべてのログを適用します。

  6. [送信] をクリックします。これにより、データベースの復元 API を使用してソース データベースの物理的な復元が開始されます。

  ALTER DBSPACE IQ_SYSTEM_LOG RENAME '/<var>pitr_log_location</var>'
  SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'