IBM Support

[Db2] V10.1 以降、静止状態のデータベースのオフライン・バックアップが SQL1035N で失敗することがある

Troubleshooting


Problem

V9.7 から V10.1 に移行後、データベースを QUIESCE DATABASE コマンドで静止状態にしたにもかかわらず、オフライン・バックアップが SQL1035N で失敗することがあります。理由を教えてください。

Symptom

以下はこの現象の再現の例です。
  1. (CLP1 から実行) DBADM 権限の USER ID で CLP から quiesce database コマンドを実行します。
    $ db2 connect to sample
    
    Database Connection Information
    
    Database server = DB2/AIX64 10.5.7
    SQL authorization ID = E105Q7A
    Local database alias = SAMPLE
    
    $ db2 quiesce database immediate force connections
    DB20000I The QUIESCE DATABASE command completed successfully.
    $ db2 terminate
    DB20000I The TERMINATE command completed successfully.
  2. (CLP2 から実行) CONNECT 権限を持つ USER ID で CLP から、シェル・スクリプを使いトデータベース接続を連続して試行します。 ただし CONNECT DATABASE コマンドは、データベースが静止状態のため SQL20157N で失敗します。
    シェル・スクリプトの内容: 
    $ cat connect.sh
    #!/bin/sh
    count=0
    while [ $count -lt 1000 ]; do
    db2 connect to $db
    count=`expr $count + 1`
    done
    シェルスクリプトの実行ログ:
    db2insth $ sh -x loop.sh
    + count=0
    + [ 0 -lt 1000 ]
    + db2 connect to sample
    SQL20157N User with authorization ID "USER1" failed to attach to a
    quiesced instance, or connect to a quiesced database or a database in a
    quiesced instance which is in the following quiesce mode: "QUIESCE DATABASE"
    SQLSTATE=08004
    + + expr 0 + 1
    count=1
    + [ 1 -lt 1000 ]
    + db2 connect to sample
    <以下略>
  3. (CLP1 から実行) 以上のシェルス・クリプトの実行中に、並行して DBADM 権限を持つ USER ID で、オフライン・バックアップを実行します。
    オフライン・バックアップはSQL1035Nで失敗することがあります。
    $ db2 backup db sample
    SQL1035N The operation failed because the specified database cannot be
    connected to in the mode requested. SQLSTATE=57019

Cause

V10.1 で Db2 のコードが変更されたため、データベースの接続要求があった場合に、オフラインバックアップが SQL1035N で受け付けられない時間が短時間だけ発生するようになりました。

Diagnosing The Problem

データベースが静止されていても、接続が試行されると短時間だけデータベースが活動化されるため、オフライン・バックアップが失敗することがあります。QUIESCE INSTANCE を RESTRICTED ACCESS オプションと共にで実行すると CONNECT DATABASE 時のデータベースの活動化を防止できます。

Resolving The Problem

データベースを静止してもオフライン・バックアップが SQL1035N で失敗する場合、以下のいずれかを検討してください。
  • QUIESCE DATABASE コマンドの代わりに、QUIESCE INSTANCE コマンドを RESTRICTED ACCESS オプションで実行してください。ただし、インスタンスで複数のデータベースを活動化している場合、すべてのデータベースの接続が切断される点に注意してください。
    db2 quiesce instance <instance_name> restricted access immediate
  • オフライン・バックアップが SQL1035N で失敗した場合、オフライン・バックアップを再試行してください。SQL1035N が発生するのはデータベース接続試行の短時間のため、再試行したオフライン・バックアップが受け付けられる可能性があります。
お問合せ先
技術的な内容に関して、サービス契約のもと IBM サービス・ラインにお問い合わせください。
IBM サービス・ライン

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlUAAU","label":"Database Objects-\u003EInstance"},{"code":"a8m500000008PmaAAE","label":"Recovery-\u003EBackup"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"10.1.0;10.5.0;11.1.0;11.5.0"}]

Document Information

Modified date:
28 August 2022

UID

swg21980030