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 データベースのフル バックアップ イメージと増分バックアップ イメージを新しいターゲットに復元するには、他のデータベースのフル バックアップ イメージと増分バックアップ イメージを新しいターゲットに復元するをご覧ください。
復元手順
ボリュームレベルのバックアップ イメージを新しいターゲットに復元する手順は次のとおりです。
[App Manager Applications] リストで、保護されたデータベースを右クリックして [Access] を選択します。[マネージド バックアップ プラン] のステータス フィルタを使用すると、保護されたデータベースのみを表示できます。
復元する最新のスナップショットを選択して、[マウント] を選択します。
マウント ポイントの下にターゲット マウント ポイントを指定します(例:
/dmpRstNew
)。これは、変数 TARGET_MNT_PNT として使用されます。データベース バックアップは /dmpRstNew(TARGET_MNT_PNT)にマウントされ、ログ バックアップは /dmpRstNew_archivelog(LOG_BKP_MNTPT)にマウントされます。
root としてデータベース サーバーにログインします。ディレクトリを
/act/custom_apps/<database type>/restore
に変更します。スクリプトを実行します。
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 バックアップ テンプレートのトリガーに失敗しましたというエラーが発生します。
マウントされたスナップショット イメージをマウント解除します。
パスワードを変更する
場合によっては、データベースのパスワードを変更する必要があります。
SAP IQ
ターゲット データベースにログインします。
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;'
次のコマンドを実行してパスワードを変更します。
ALTER USER actuser IDENTIFIED BY new_password
新しいパスワードで再度ログインし、以下を確認します。
dbisql -nogui -onerror exit -c 'uid=actuser;pwd=new_password;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
SAP MaxDB
パスワードを変更するには、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
次のコマンドを実行します。
user_changepwd dbm abcdef
新しいパスワードで再度ログインします。
dbmcli -d glxn -u dbm,fedcba