オフラインバックアップを復元した後、DB2データベースに接続できません
質問
これは、AIXのDB2 9.7 Enterprise Server Edition用です。
パフォーマンス環境のインスタンス内で、いくつかのデータベースを完全にオフラインバックアップしました。
これらのデータベースを統合環境に復元したかったのです。
コマンドを実行しました
db2 restore database database_name from
/bkp/instance_name/OfflineBackups/RestorePoint/my_restore_point
taken at 20120321103846 into database_name without prompting;
私のデータベースのそれぞれについて(もちろん、データベース名とタイムスタンプを適切に変更します)。
各データベースは、DB2に従って正常に復元されました。ただし、データベースが実際に自分の考えを復元したかどうかを確認したいとき、データベースに接続しようとしてエラーが発生します
SQL1117N A connection to or activation of database "database_name" cannot be made
because of ROLL-FORWARD PENDING. SQLSTATE=57019
すべての接続が追い出され、データベースがオフラインバックアップのためにダウンしていたため、以前のデータベースにプロセストランザクションがありませんでした。私は何をしますか?
解決
答えを見つけました ここ.
コマンドを実行する必要がありました
db2 rollforward db database_name to end of backup and complete;
これにより、すべてがログにすべてをコミットし、データベースを保留中の状態ではなくなり、それに接続が可能になります。復元されたデータベースごとにこれを行う必要がありました。
編集: 出席中にこの気の利いたナゲットを見つけました db2nightshow エピソード。 9.7 FP2で、DB2_Restore_Grant_Admin_Authorityと呼ばれるレジストリ変数を導入しました。インスタンスのSECADM、DBADM、DATAACCESS、およびACCESSCTRLを自動的に付与するため、あるインスタンスから別のインスタンスにバックアップを復元する場合に便利です。 9.7 FP5では、設定は動的であり、インスタンスのバウンスを必要としません。私の元の質問はセキュリティとは何の関係もないことに気づきましたが、それは遭遇する可能性があり、これがここに置かれた便利な情報になると考えました。
編集#2: 最近、バックアップがアーカイブログデータベースに基づいてオフラインバックアップである場合、句を含めることができたことがわかりました。
WITHOUT ROLLING FORWARD
私の中でRESTORE
指図。これは、復元が成功した後すぐにデータベースをロールフォワードの状態から外したでしょう。ROLLFORWARD DB
指図。
他のヒント
バックアップタイプがオンラインバックアップにある可能性がある場合。
ログパスを使用( "/db2logtarget")
eg:-db2 => lollforward db userdbログの終了と完全なオーバーフローログパス( "/home/user/ターゲット")