トラブル早見表¶
掲載:21 件(定番のみ)。除外項目は 11. 対象外項目 を参照。
| ID | 症状 | 原因 | 対処(要約) | ラベル | 関連手順 |
|---|---|---|---|---|---|
| ts-01 | SQLCODE -911 / -913(lock timeout / deadlock victim) | IRLMRWT 超過、または deadlock cycle 内の victim | victim を retry、頻発なら -DISPLAY THREAD(*) DETAIL、IRLM F IRLMPROC,DIAG,DEADLOCK で解析。長時間ロック保持アプリの commit 頻度見直し |
-911 / -913 / DSNT500I |
inc-lock-timeout, inc-deadlock |
| ts-02 | SQLCODE -904(resource unavailable) | NUMLKUS 超過、disk full、lock structure 枯渇 | reason code で資源特定(00C90088 = NUMLKUS、00C200A8 = lock structure full 等)。NUMLKUS 拡大、lock granularity 見直し | -904 / DSNT408I |
inc-lock-escalation |
| ts-03 | SQLCODE -805(DBRM/package not found in plan) | PACKAGE 不在、PKLIST 漏れ、collection 不一致 | SYSPACKAGE で存在確認、BIND PACKAGE / BIND PLAN PKLIST で再構成 | -805 / DSNT408I |
inc-package-notfound |
| ts-04 | SQLCODE -204(object not found) | object 名 typo、SQLID 不一致、object drop 済 | SET CURRENT SQLID 確認、SYSTABLES で存在確認、access path 上の qualifier も再確認 |
-204 |
inc-package-notfound |
| ts-05 | SQLCODE -551 / -552(privilege not held) | 必要権限が GRANT されていない、SECONDARY ID で取得していない | SELECT * FROM SYSIBM.SYSTABAUTH WHERE GRANTEE='...' で権限確認、GRANT で付与 |
-551 / -552 |
cfg-grant-permission |
| ts-06 | アクティブログ満杯(DSNJ110E / DSNJ111E) | アーカイブ stalled(媒体不足、DASD full、TAPE drive 不足) | -DISPLAY LOG、-DISPLAY ARCHIVE、archive 宛先 disk/tape 確保。DSN6ARVP の UNIT と空き状況確認 |
DSNJ110E / DSNJ111E |
inc-log-archive-fail |
| ts-07 | テーブル空間 RESTP / CHKP 状態 | LOAD / REORG 後の post-processing 未完、ABEND 残骸 | -DISPLAY DATABASE RESTRICT で対象特定、CHECK DATA / RECOVER / -START DATABASE ACCESS(FORCE) で解除 |
RESTP / CHKP / RECP |
inc-restp-recovery |
| ts-08 | テーブル空間損傷(IDC3009I / DSNI031I) | DASD I/O エラー、catalog inconsistency、power loss 後の不整合 | -DISPLAY DATABASE RESTRICT、SYSCOPY 確認、RECOVER TOLOGPOINT または最新 image copy から RECOVER |
DSNI031I / DSNI012I |
inc-tablespace-corrupt |
| ts-09 | DDF 接続不可(remote から CONNECT 失敗) | DDF 停止、port 競合、firewall、DRDA バージョン不一致 | サーバ側 -DISPLAY DDF、-START DDF、TCP port(既定 446)、SYSIBM.LOCATIONS、netstat |
DSNL004I / SQL30081N |
inc-ddf-down |
| ts-10 | DBAT 枯渇(QUEDBAT 増、INADBAT 高) | MAXDBAT/CONDBAT 不足、CMTSTAT=ACTIVE で接続が hold される | -DISPLAY DDF DETAIL、CMTSTAT=INACTIVE 化、IDTHTOIN 短縮、MAXDBAT 拡大 |
DSNL031I |
cfg-ddf-setup |
| ts-11 | indoubt thread が残る(再起動後も -DISPLAY THREAD TYPE(INDOUBT) で出る) |
2-phase commit 中の coordinator との通信断 | LUWID で coordinator 側の決定(COMMIT/ABORT)と突合、-RECOVER INDOUBT(...) ACTION(COMMIT|ABORT) |
DSNL435I |
inc-indoubt-thread |
| ts-12 | ユーティリティが進まない(PHASE が長時間同じ) | resource 待ち(lock / log / DASD)、SHRLEVEL CHANGE で drain 待ち | -DISPLAY UTILITY で phase / count、-DISPLAY THREAD(*) で待ち先確認、TIMEOUT で停止後 RESTART |
DSNU100I |
inc-utility-stuck |
| ts-13 | BIND / REBIND で SQLCODE -727 / -8002(applcompat) | APPLCOMPAT が許容 SQL 機能と不整合(古い APPLCOMPAT で新機能 SQL を BIND) | -DISPLAY GROUP DETAIL で Function Level、APPLCOMPAT を BIND 句で適切な値(V13R1 等)に |
-727 / -8002 |
cfg-applcompat-set |
| ts-14 | バッファプール hit ratio が低い | VPSIZE 不足、シーケンシャル中心で BP 競合、PGSTEAL 不適 | -DISPLAY BUFFERPOOL DETAIL で statistics、VPSIZE 増、用途別に BP 分離(OLTP / 大量バッチ別) |
— |
cfg-bufferpool-tune |
| ts-15 | RUNSTATS 後にアクセスパス劣化 | 統計更新で optimizer が別 access path を選択 | REBIND PACKAGE APREUSE(WARN/ERROR)、または STATISTICS PROFILE で stable 統計 | — |
cfg-runstats-schedule |
| ts-16 | SQL DI(FL501)の AI 関数で SQLCODE -20471 等 | SQL DI 未有効(FL501 未活性、または学習未完)、対象表が未登録 | -DISPLAY GROUP DETAIL で FL 確認、SYSAIDB / SYSAIOBJECTS で model 状態確認、再学習 |
-20471 / -20472 |
cfg-sqldi-enable |
| ts-17 | TRACE 取得不可(出力 SMF が空 / -START TRACE で IFCID 拒否) |
TRACE class 設定不足、SMF type 100/101/102 が SMFPRMxx で記録対象外 | -DISPLAY TRACE、SMFPRMxx 修正、-START TRACE(MON,STAT,ACCTG) CLASS(...) で再起動 |
DSNW130I |
cfg-audit-trace |
| ts-18 | catalog の整合性問題(カタログ構造起因の anomaly) | CATMAINT 失敗の残骸、catalog level mismatch | -DISPLAY GROUP DETAIL で CATALOG LEVEL / FUNCTION LEVEL、CATMAINT 再実行(適切な FL 指定) |
DSNT408I(catalog level 関連) |
cfg-functionlevel-activate |
| ts-19 | データ共用 GBP castout 遅延 / GBP 枯渇 | CF GBP size 不足、castout owner の writer 不足 | -DISPLAY GROUPBUFFERPOOL、CFRM policy で GBP size 拡大、CASTOUT thread 増設 |
DSNB325I / DSNB341I |
cfg-datasharing-add-member |
| ts-20 | BSDS 損傷(DSNJ100I / DSNJ107I) | I/O エラー、誤った直接編集 | dual BSDS の片方から復元(DSNJU003 CHANGE LOG INVENTORY)、catalog 上の SYSCOPY と整合性確認 | DSNJ100I / DSNJ107I |
inc-bsds-corrupt |
| ts-21 | SQLCODE -922(authorization failure / connection failure) | RACF 認証 NG、Db2 接続権限不足、SECURITY (AUTH) 系 DSNZPARM 不整合、PASSWORD/PASSTICKET 失敗、DDF 接続元の SAF mapping 不在 | reason code で原因特定(後述表)→ SAF/RACF 側で確認 + Db2 SECURITY 系 DSNZPARM 確認。DDF 経由なら -DISPLAY THREAD の rc / DSNL031I/DSNL511I も併読 |
-922 / DSNT408I / DSNL031I |
inc-auth-fail |
SQLCODE -922 reason code 早見表¶
-922 は SQL の authentication / authorization 失敗の汎用コード。reason code(DSNT408I / SQLCA の sqlerrmc)で具体原因を特定する。
| Reason code | 意味 | 第一手 |
|---|---|---|
00F30040 |
RACF passticket 検証失敗 | KEYR の鍵共有ずれ確認、time skew 確認 |
00F30041 |
RACF user ID + password 検証失敗 | RACF passwd 期限・LIST USER 確認、-DISPLAY THREAD で接続経路特定 |
00F30083 |
DDF からの接続で SAF/EIM mapping なし | SYSIBM.USERNAMES、Trusted Context、AT-TLS、AUTHEXIT_CHECK の値再確認 |
00F30085 |
DBADM/SYSADM 権限不足、または RESTRICT WHEN ALTERED 違反 |
DSN6SPRM の AUTHCACH、SECURITY 系 DSNZPARM、SYSTABAUTH/SYSPLANAUTH 確認 |
00F300xx(汎用) |
その他の認可失敗(GRANT 不在、role 不足) | -DISPLAY THREAD(*) DETAIL の AUTHID と SYSIBM.SYSAUTH 系で突合 |
詳細は IBM 公式 Codes(DSNCODES)を参照。本表は代表 reason のみ抜粋。