IBM Support

[Db2] Db2 診断ログ (db2diag.log) に割り込みエラーや -1224 が記録されることがある

Troubleshooting


Problem

Db2 診断ログ (db2diag.log) に以下のような割り込みエラーや -1224 が記録されることがあります。
 
2011-03-20-08.45.31.923749+540 I2136350E547         LEVEL: Error
PID : 6960                     TID : 47861018388800 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000           DB : SAMPLE
APPHDL : 0-18764               APPID: *LOCAL.db2inst1.110319234542
AUTHID : DB2INST1
EDUID : 302                    EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, catalog services, sqlrlCatalogScan::update, probe:80
RETCODE : ZRC=0x80100003=-2146435069=SQLP_INTRP "USER INTERRUPT DETECTED" 
DIA8003C The interrupt has been received.

2011-03-20-08.45.31.970639+540 E2136898E590         LEVEL: Error
PID : 6960                     TID : 47861018388800 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000           DB : SAMPLE
APPHDL : 0-18764               APPID: *LOCAL.db2inst1.110319234542
AUTHID : DB2INST1 
EDUID : 302                    EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, DRDA Application Server, sqljsTermAgentReply, probe:10
MESSAGE : DIA5000C A DRDA AS token "AGENT TERMINATING" was detected. 
   The diagnostic data returned is (SRVDGN): "SQLERRP:SQLRRRCP SQLCODE:-1224".

2011-03-20-08.45.31.970753+540 E2137489E841         LEVEL: Error
PID : 6960                     TID : 47861018388800 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000           DB : SAMPLE
APPHDL : 0-18764               APPID: *LOCAL.db2inst1.110319234542
AUTHID : DB2INST1 
EDUID : 302                    EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, DRDA Application Server, sqljsTermAgentReply, probe:11
 DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes 
 sqlcaid : SQLCA        sqlcabc: 136      sqlcode: -1224      sqlerrml: 0
 sqlerrmc:
 sqlerrp : SQLRRRCP
 sqlerrd : (1) 0x80100003  (2) 0x00000003  (3) 0x00000000
           (4) 0x00000000  (5) 0x00000000  (6) 0x00000000
 sqlwarn : (1)      (2)      (3)      (4)        (5)       (6)
           (7)      (8)      (9)      (10)       (11)
 sqlstate:

Symptom

ユーザー操作と関係なく、db2diag.log に以下のようなエラーが記録されることがあります。
注: リモート・アプリケーションによって報告されるエラーは、この文書の対象ではありません。
 
  1. 割り込みを示すエラーが記録される
    エージェントが以下のような割り込みを報告します。割り込まれるタイミングによって関数名は異なります。割り込みコードも SQLD_INTRP だけでなく SQLO_INTRP、SQLP_INTRP、SQLDXE_INTR など様々です。
    2011-07-21-09.31.27.289121+540 I10464667A497      LEVEL: Warning
    PID     : 1282162              TID  : 1           PROC : db2agent (SAMPLE) 0
    INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
    APPHDL  : 0-460                APPID: *LOCAL.db2inst1.110721003131
    AUTHID  : DB2INST1  
    FUNCTION: DB2 UDB, catcache support, sqlrlc_systables_fetch_from_disk, probe:80
    RETCODE : ZRC=0x80040003=-2147221501=SQLD_INTRP "USER INTERRUPT DETECTED"
              DIA8003C The interrupt  has been received.
  2. SQL1224N が記録される
    問題 (概要) に示した -1224 と書かれたログ・エントリー以外にも、-1224 を示す FFFF FB38 (ビッグ・エンディアン) や 38FB FFFF (リトル・エンディアン) のエラーが記録されることがあります。
    また、接続試行中など割り込まれたタイミングによっては -1044 が記録されることもあります。
    2011-07-21-09.31.27.326574+540 I10465165A1210     LEVEL: Error
    PID     : 1282162              TID  : 1           PROC : db2agent (SAMPLE) 0
    INSTANCE: db2inst1               NODE : 000         DB   : SAMPLE
    APPHDL  : 0-460                APPID: *LOCAL.db2inst1.110721003131
    AUTHID  : DB2INST1  
    FUNCTION: DB2 UDB, relation data serv, sqlrr_rds_common_post, probe:800
    MESSAGE : Severe TERMINATE err at nest lvl 1, in SQL from rtn
              SYSPROC.SYSINSTALLOBJECTS:
    DATA #1 : Hexdump, 136 bytes
    0x00000001115705E0 : 5351 4C43 4120 2020 0000 0088 FFFF FB38
  3. ヘルス・モニター・プロセスがエラーを報告する
    ヘルス・モニター・プロセス (db2acd または db2fmp.exe) が SQL1224N または SQL1060N を報告することがあります。
    例 1
    2011-07-22-21.08.05.928990+540 I15315A477         LEVEL: Error
    PID     : 60096696             TID  : 772         PROC : db2acd
    INSTANCE: db2inst1             NODE : 000
    EDUID   : 772                  EDUNAME: db2acd
    FUNCTION: DB2 UDB, Health Monitor, HmonMainCB::refreshDbAutonomicSwitches, probe:100
    MESSAGE : Failed to get automatic maintenance information for database "SAMPLE"
    DATA #1 : Hexdump, 4 bytes
    0x0000000110533C64 : FFFF FB38                                  ...8
    例 2
    2011-07-01-08.40.23.920660+540 I24339E591          LEVEL: Warning
    PID     : 9681                 TID  : 1139755328   PROC : db2acd
    INSTANCE: db2inst1             NODE : 000
    FUNCTION: DB2 UDB, Automatic Table Maintenance, AtmServer::get_stats_time_from_server, probe:175
    DATA #1 : String, 11 bytes
    AutoStats:
    DATA #2 : String, 222 bytes
    [IBM][CLI Driver] SQL1224N  The database manager is not able to accept new requests, has terminated all requests in progress, or has terminated your particular request due to an error or a force interrupt.  SQLSTATE=55032
    DATA #3 : String, 5 bytes
    40003
    例 3
    2011-07-21-09.31.27.384193+540 I10476229A1097     LEVEL: Warning
    PID     : 418046               TID  : 772         PROC : db2acd 0
    INSTANCE: db2inst1               NODE : 000
    FUNCTION: DB2 UDB, Health Monitor, HmonMainCB::prepDBForFirstPlugin, probe:100
    MESSAGE : Failed to verify and create policy for database "SAMPLE  ". rc =
              90000002
    DATA #1 : Hexdump, 136 bytes
    0x00000001105CA238 : 5351 4C43 4120 2050 0000 0088 FFFF FB38    SQLCA  P.......8

Cause

データベースが非活動化するときに、システム・アプリケーションは割り込みを受けて強制終了されます。
非活動化のタイミングでヘルス・モニターがデータベースへの接続を試行したり、統計更新などで作業中の場合、概要や症状に示したような割り込みや SQL1224N (-1224: 強制終了) のエラーが記録されます。

注: システム・アプリケーションは STMM、非同期タスク・プロセッサー (ABP)、ヘルス・モニターなど Db2 内部システム・アプリケーションを指します。
V9.7 以降は LIST APPLICATIONS SHOW DETAIL でのみ表示されます。

Resolving The Problem

ヘルス・モニターによって記録されるこれらのエラーは、ユーザー・アプリケーションに直接影響を与えないので無視できます。
ヘルス・モニターの強制終了による影響は以下の通りです。
  • 自動保守の統計収集や再編成、バックアップが行われないことがある
  • ヘルス・インジケーターの更新が行われないことがある

症状に示したようなエラーを記録したくない場合、ACTIVATE DATABASE コマンドを実行してデータベースを活動化する運用を検討してください。
  1. インスタンス所有者 (UNIX/Linux) もしくは Administrator (Windows) でログインします。
  2. ターミナル (UNIX/Linux) もしくは DB2 コマンド・ウィンドウ (Windows) から以下のコマンドを実行します。
    db2 activate database <データベース名>

運用上の考慮点
インスタンスを停止するとデータベースは非活動化されます。データベースの活動化はインスタンス再起動の都度、各データベースに対して行う必要があります。インスタンス起動の都度、自動的にデータベースを活動化する設定はありません。

関連情報
LIST APPLICATIONS コマンド
is_system_appl システム・アプリケーション : モニター・エレメント
ACTIVATE DATABASE コマンド
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"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":"a8m500000008PkgAAE","label":"Database Objects"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
25 August 2023

UID

swg21573867