どちらの手順でも、構成ファイルをカスタマイズして実行する必要があります。
以降のセクションでは、SAP IQ または SAP MaxDB データベースのボリュームベースのバックアップ イメージを新しい場所に復元する方法について詳しく説明します。
IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ、SAP MaxDB データベースのボリュームレベルのバックアップ イメージを新しいターゲットに復元するには、データベースの新しいターゲットへのインスタント マウントと移行の手順を使用することもできます。
IBM Db2、PostgreSQL、SAP ASE、SAP IQ、SAP MaxDB データベースの Full+Incremental バックアップ イメージを新しいターゲットに復元するには、他のデータベースの Full+Incremental バックアップ イメージを新しいターゲットに復元するをご覧ください。
復旧手順
ボリュームレベルのバックアップ イメージを新しいターゲットに復元する手順は次のとおりです。
- バックアップと DR サービスの管理コンソールから、[App Manager] を開きます。
保護されたデータベースを右クリックして、[アクセス] を選択します。マネージド バックアップ プランのステータス フィルタを使用すると、保護されているデータベースのみを表示できます。
復元する最新のスナップショットを選択して、[マウント] を選択します。
マウント ポイント(
/dmpRstNew
など)をマウント ロケーションに指定します。これは、変数 TARGET_MNT_PNT として使用されます。データベース バックアップは /dmpRstNew(TARGET_MNT_PNT)にマウントされ、ログ バックアップは /dmpRstNew_archivelog(LOG_BKP_MNTPT)にマウントされます。
root としてデータベース サーバーにログインします。ディレクトリを
/act/custom_apps/<database type>/restore
に変更します。スクリプトを実行します。
SAP IQ
/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
スクリプトの実行後、IQ データベースに接続し、データベースが復元されてオンラインになっていることを確認します。
dbisql -c "uid=username;pwd=password;eng=engine name;dbn=database name;" -nogui
SAP MaxDB
/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
MaxDB データベースに接続し、データベースが復元済みかつオンラインであることを確認します。
dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
データベースを復元したら、ダンプ データベースのバックアップを取得して、ログのバックアップの取得に必要な backup_history_list にバックアップ履歴ポイントを生成します。たとえば、次のようになります。
dbmcli -d DB -u DBM_USER,DBM_PASSWORD -c backup_start TEMPLATE_NAME DATA AUTOIGNORE
これがないと、将来のボリュームレベルのバックアップは fail to trigger autolog backup template エラーで失敗します。
マウントされたスナップショット イメージをマウント解除します。
パスワードを変更する
場合によっては、データベースのパスワードを変更する必要があります。
SAP IQ
ターゲット データベースにログインします。データベース名が
TARGET_SERVER_NAME
、DB ユーザーが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_DB_NAME;eng=TARGET_SERVER_NAME;
次のコマンドを実行して、パスワードを変更します。
ALTER USER SRC_DB_DBA_USER IDENTIFIED BY NEW_PASSWORD
新しいパスワードで再度ログインして確認します。
dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=NEW_PASSWORD;dbn=TARGET_DB_NAME;eng=TARGET_SERVER_NAME;
SAP MaxDB
パスワードを変更するには、DBM ユーザーとしてターゲット データベースにログインします。
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
次のコマンドを実行します。
user_changepwd dbm abcdef
新しいパスワードで再度ログインします。
dbmcli -d glxn -u dbm,fedcba