web-dev-qa-db-ja.com

IBM DB2データベースをオンラインでバックアップする方法は?

次のコマンドを使用してIBM DB2(LUW)データベースをバックアップしようとしました。

./db2 backup database DBEMP to /home/user1/db2bkup

しかし、私はこのメッセージを受け取りました:

SQL1035Nデータベースは現在使用中です。 SQLSTATE = 57019

それから私はこれを試しました:

./db2 backup database DBEMP online to /home/user1/db2bkup

そして私はこのメッセージを受け取りました:

SQL2413Nデータベースがリカバリー可能でないか、バックアップ保留状態が有効になっているため、オンラインバックアップは許可されません。

どういう意味ですか?データベースをオンラインでバックアップする別の方法はありますか?データベースが使用中のため、停止できません。

7
null

残念ながら、デフォルトである circular loggingmode の場合、DB2データベースのオンラインバックアップを行うことはできません。 DB2データベースの作成時。

次のコマンドを発行して、データベースが循環ログを使用しているかどうかを確認できます。

./db2 get db cfg for dbemp | grep LOGARCH

両方のLOGARCHMETHオプションがオフになっている場合...

First log archive method       (LOGARCHMETH1) = OFF
Second log archive method      (LOGARCHMETH2) = OFF

...次に、バックアップを取得する前に、データベース構成を使用するように変更する必要がありますアーカイブログ。 100%確実ではありませんが、オンラインバックアップを開始する前に、データベースを再起動してオフラインバックアップを行う必要があると思います。

これを行う方法の概要は IBMの「データベースロギングオプションの設定」ドキュメント にあります。

CIRCULAR LOGGINGからARCHIVE LOGGINGに変更する場合は、アーカイブログファイルの処理方法を理解する必要があることに注意してください。 SAN/NAS /テープにそれらを保存してロールフォワードリカバリを可能にすることは、このデータがあなたにとって重要である場合、本当に良い考えです。

9
Nathan Jolly

オンラインバックアップでは、データベースでロールフォワードリカバリを有効にする必要があります。ただし、これはデータベースを作成するときのデフォルトではありません。

これを行うには、LOGARCHMETH1データベース 構成パラメーター を設定する必要があります。これを行ったら、オフラインバックアップを1つ作成する必要があります(つまり、ユーザーを接続できません)。

これらの手順を完了すると、必要に応じてオンラインバックアップを実行できるようになります。

DB2データベース管理ガイドの Data Recovery セクションを読んで、DB2バックアップ/リカバリーについて理解するのに役立つかもしれません。

4
Ian Bjorhovde