Troubleshooting
Problem
CONFIGデータベースを外部のDB2に移行したところ、フェデレーションが失敗するようになった。
ランタイムサーバーのログに次のエラーが記録されている。
[11/15/22, 22:33:12:608 JST] 00000027 fim.war.runtime.liberty.LibertyRuntimeServletContextListener I java.lang.RuntimeException: com.ibm.db2.jcc.am.SqlException: Operation not allowed for reason code "1" on table "DB2INST1.ISAM_AUDIT_HANDLERS".. SQLCODE=-668, SQLSTATE=57016, DRIVER=4.28.11
Cause
CONFIGデータベースの移行が失敗しているため、エラーとなっています。
移行を行うアプライアンスが古いバージョンからアップグレードを行なってきた場合に、内部CONFIGデータベースの一部のテーブルの列の順番が新規でインストールしたアプライアンスと異なることがあります。これは新しい列は常に最後に追加されるためです。
Diagnosing The Problem
このエラーはDB2のテーブルのデータ制約に違反していることを示しています。制約を満たしていないテーブルを検索し、このテーブルが一覧に含まれていることを確認します。
DB2のコマンドラインから、CONFIGデータベースに接続し、次のSQLを実行します。
SELECT tabschema,tabname,status,access_mode
FROM syscat.tables
WHERE status != 'N' AND access_mode != 'F'
次の2つのテーブルが一覧に表示されます。
- ISAM_AUDIT_HANDLERS
- ISAM_AUDIT_CONFIG_PROPERTIES
Resolving The Problem
1. cluster_config_db2.sql の次の行を入れ替えます。 (IS_JSONが最後の列になります)
IS_JSON CHAR(1) DEFAULT 'N' NOT NULL,
HANDLER_TYPE VARCHAR(256) NOT NULL,
2. 外部CONFIGデータベースを再作成します。
Related Information
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB24","label":"Security Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSESHP","label":"IBM Security Verify Access Appliance"},"ARM Category":[{"code":"a8m0z000000cxuMAAQ","label":"Security Verify Access-\u003EAdvanced Access Control"},{"code":"a8m0z000000cxugAAA","label":"Security Verify Access-\u003EFederation"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0.0"}]
Was this topic helpful?
Document Information
Modified date:
14 December 2022
UID
ibm16848185