テーブルにカラムを追加すると Post プロセスで ORA-14148 が発生してPostが停止する場合があります。
-ターゲット event_log
Notice 2022-01-31 11:03:44.159648 32571 3346884352 s:8 Poster: ORA-14148: DML and DDL operations are not directly allowed on the guard-column. (posting from o.SRCSID, queue POSTQNAME, to o.TGTSID) [module osp]
Error 2022-01-31 11:03:44.159949 32571 3346884352 s:8 Poster: que/seq = 8/ 0 seqno/offset = 107/121981144 Unexpected Oracle error: ORA-14148: DML and DDL operations are not directly allowed on the guard-column. (object name: "OWNER"."REPLICATEDTABLE") (posting from o.SRCSID, queue POSTQNAME, to o.TGTSID) [module opo]
Info 2022-01-31 11:03:44.914766 30655 2341717952 Poster exited with code=1, pid = 32571 (posting from o.SRCSID, queue POSTQNAME, to o.TGTSID))
以下の条件をすべて満たす場合に起こり得ます。
- Oracle Database 12c 以降を使用している。
- 以下のようにテーブルにデフォルト値を含むカラムを追加し制約を追加している
CREATE TABLE ATEST_TABLE(I NUMBER);
ALTER TABLE ATEST_TABLE ADD (J NUMBER DEFAULT 0 NOT NULL);
ALTER TABLE ATEST_TABLE ADD (K NUMBER DEFAULT 0);
ALTER TABLE ATEST_TABLE ADD CONSTRAINT "C_ATEST" PRIMARY KEY (I,J,K);
INSERT INTO ATEST_TABLE(I,J,K) VALUES (1,2,3);
COMMIT;
© ALL RIGHTS RESERVED. Feedback 利用規約 プライバシー Cookie Preference Center