SAP IQ データベースと SAP MaxDB データベースをボリュームベースのバックアップ イメージから新しい場所に復元する - バックアップと DR - Google Cloud

SAP IQ データベースと SAP MaxDB データベースをボリュームベースのバックアップ イメージから新しい場所に復元する

どちらの手順でも、構成ファイルをカスタマイズして実行する必要があります。

以降のセクションでは、SAP IQ または SAP MaxDB データベースのボリュームベースのバックアップ イメージを新しい場所に復元する方法について説明します。

  • IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ、SAP MaxDB データベースのボリュームレベルのバックアップ イメージを新しいターゲットに復元するには、データベースの即時マウントと新しいターゲットへの移行の手順を使用することもできます。

  • IBM Db2、PostgreSQL、SAP ASE、SAP IQ、SAP MaxDB データベースのフル バックアップ イメージと増分バックアップ イメージを新しいターゲットに復元するには、他のデータベースのフル バックアップ イメージと増分バックアップ イメージを新しいターゲットに復元するをご覧ください。

復元手順

ボリュームレベルのバックアップ イメージを新しいターゲットに復元する手順は次のとおりです。

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

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

  3. マウント ポイントの下にターゲット マウント ポイントを指定します(例: /dmpRstNew)。これは、変数 TARGET_MNT_PNT として使用されます。

    データベース バックアップは /dmpRstNew(TARGET_MNT_PNT)にマウントされ、ログ バックアップは /dmpRstNew_archivelog(LOG_BKP_MNTPT)にマウントされます。

  4. root としてデータベース サーバーにログインします。ディレクトリを /act/custom_apps/<database type>/restore に変更します。

  5. スクリプトを実行します。

    SAP IQ

    スクリプト名: act_sybaseiq_lvm_customdb_recovery.sh

    スクリプトの場所: /act/custom_apps/sybaseiq/restore

    スクリプト:

    /act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh
    TARGET_MNT
    OSUSER
    CATALOG_DB_FILE
    SRC_DB_DBA_USER
    SRC_DB_DBA_PWD
    LOG_BKP_MNTPT
    RECOVERY_TIME
    JOBID
    INCR_BKP_LOC
    

    スクリプトの変数:

    • TARGET_MNT: 手順 3 のマウント ジョブ中に指定したマウント ポイント
    • OSUSER: ターゲット SAP IQ データベースの OS ユーザー
    • CATALOG_DB_FILE: ソース データベース ファイルのフルパス(/lv3Data/lv3DB/data/lv3DB.db など)
    • SRC_DB_DBA_USER: ターゲット ユーティリティ データベース ユーザー
    • SRC_DB_DBA_PWD: ターゲット ユーティリティ データベースのパスワード
    • LOG_BKP_MNTPT: マウント ジョブ中に指定したマウント ポイントから取得し、_archivelog を追加します(例: /SDBR_archivelog)。
    • RECOVERY_TIME: (省略可)最後に正常に動作したデータベースの時刻と、目的の復元時間を "YYYY-MM-DD HH:MM:SS" 形式でログに記録します。
    • JOBID: マウント ジョブ ID(管理コンソールの [モニタリング] > [ジョブ] タブ)(Job_1479897 形式)
    • INCR_BKP_LOC: 増分バックアップ ファイルのパス(/act/tmpdata/Job_1479897/INC_BKP.1 は常に /act/tmpdata//INC_BKP.1 など)。

    スクリプトが実行されたら、IQ データベースに接続し、データベースが復元されてオンラインになっていることを確認します。

    dbisql -c "uid=<username>;pwd=<password>;eng=<engine name>;dbn=<database name>;" -nogui

    SAP MaxDB

    スクリプト名: /var/act/scripts/ACT_MAXDB_lvmRestore_newTarget.conf

    スクリプトの場所: /act/custom_apps/maxdb/restore

    スクリプト:

      /act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh
      OSUSER
      TARGET_SERVER_NAME
      TARGET_DB_USER
      TARGET_DBUSER_PASSWD 
      SOURCE_DBSID
      MANIFEST_FILE_LOC 
      SRC_DB_VERSION
      ACT_JOBNAME
      TARGET_MNT_PNT 
      LOG_BKP_MNTPT
      UNTIL_TIME
      BEGIN_TIME
    

    スクリプトの変数:

    • OSUSER: ターゲット MaxDB データベースの OS ユーザー
    • TARGET_SERVER_NAME: ターゲット MaxDB データベースの SID
    • TARGET_DB_USER と TARGET_DBUSER_PASSWD: ターゲット MaxDB データベースの DBM ユーザー名とパスワード。これらは、ソース DBM のユーザー名とパスワードと同じにする必要があります。パスワードは、復元オペレーションの完了後に変更できます。
    • SOURCE_DBSID: ソース MaxDB データベースの SID
    • MANIFEST_FILE_LOC: Manifest_File_SLD のフルパス
    • SRC_DB_VERSION: ソース MaxDB データベースのバージョン番号
    • ACT_JOBNAME: マウント ジョブ ID(管理コンソールの [モニタリング] > [ジョブ] タブ)(Job_1479897 の形式)
    • TARGET_MNT_PNT: マウント ジョブ中に指定されたマウント ポイント(管理コンソールの [モニタリング] > [ジョブ] タブ)
    • LOG_BKP_MNTPT: マウント ジョブ中に指定したマウント ポイントから取得し、_archivelog を追加します(例: /SDBR_archivelog)。
    • UNTIL_TIME: 復元が完了するまでの時間("YYYY-MM-DD HH:MM:SS" 形式)(管理コンソールから、マウントされたバックアップ イメージの)
    • BEGIN_TIME: 復元を開始する時刻("YYYY-MM-DD HH:MM:SS" 形式)(管理コンソールから、マウントされたバックアップ イメージ)

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

      dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
    

    データベースを復元したら、ダミーまたはダンプ データベース バックアップを取得して、backup_history_list にバックアップ履歴ポイントを生成します。これは、ログバックアップの取得に必要です。たとえば、次のようになります。

    dbmcli -d >MAXDB_KEY -uUTL -c backup_start DATA AUTOIGNORE

    これを行うと、今後のボリュームレベルのバックアップは失敗し、autolog バックアップ テンプレートのトリガーに失敗しましたというエラーが発生します。

  6. マウントされたスナップショット イメージをマウント解除します。

パスワードを変更する

場合によっては、データベースのパスワードを変更する必要があります。

SAP IQ

  1. ターゲット データベースにログインします。TARGET_SERVER_NAME という名前のデータベースで、データベース ユーザーが SRC_DB_DBA_USER、パスワードが SRC_DB_DBA_PWD の場合、ログイン コマンドは次のとおりです。

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=SRC_DB_DBA_PWD;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    
  2. 次のコマンドを実行してパスワードを変更します。

    ALTER USER actuser IDENTIFIED BY new_password
    
  3. 新しいパスワードで再度ログインし、以下を確認します。

    dbisql -nogui -onerror exit -c 'uid=actuser;pwd=new_password;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    

SAP MaxDB

  1. パスワードを変更するには、DBM ユーザーとしてターゲット DB にログインします。

    dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD
    user_changepwd dbm <new_password>
    

    たとえば、DBM ユーザーがパスワードを abcdef から fedcba に変更する場合は、次のようにログインします。

    dbmcli -d glxn -u dbm,abcdef

  2. 次のコマンドを実行します。

    user_changepwd dbm abcdef

  3. 新しいパスワードで再度ログインします。

    dbmcli -d glxn -u dbm,fedcba