The problem is duplicate on primary key which is timestamp(6); CREATE TABLE TCOM_RETURN_ADJ_AUDIT ( TIME_D TIMESTAMP(6) DEFAULT current_timestamp NULL, RECORD_NUMBER NUMBER(10) NOT NULL, MSG VARCHAR2(4000 BYTE) NULL, RUN_DATE DATE NULL ); CREATE UNIQUE INDEX TCOM_RETURN_ADJ_AUDIT_PK ON TCOM_RETURN_ADJ_AUDIT (TIME_D) LOGGING TABLESPACE COM_INDX_DS NOPARALLEL; ALTER TABLE TCOM_RETURN_ADJ_AUDIT ADD ( CONSTRAINT TCOM_RETURN_ADJ_AUDIT_PK PRIMARY KEY (TIME_D) USING INDEX TCOM_RETURN_ADJ_AUDIT_PK); Program does not insert the TIME_D value. Program does not provide TIME_D; actual value is obtained from table definition which has DEFAULT current_timestamp (see above); The code that does the insert: PROCEDURE log_audit_info (p_msg_i IN VARCHAR2) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO tcom_return_adj_audit (record_number, msg, run_date) VALUES (v_read_cnt, p_msg_i, v_run_date); COMMIT; END log_audit_info; THE ERROR ORA-00001: unique constraint (COM_APP.TCOM_RETURN_ADJ_AUDIT_PK) violated The server clock was not changed, already looked into this as a possibility. Thanks, Mike