Not stupid at all. I talked with our server folks about this and they said that the server time can 'drift'. I don't know if drift can cause an overlap in time or if it's more like a rubber band effect. In any case, they reviewed their log and say that there were no clock anomolies Mike. On Wed, Jan 19, 2011 at 2:51 PM, Stephane Faroult <sfaroult@xxxxxxxxxxxx>wrote: > This is possibly a stupid idea because I have no idea how it works > exactly, but is the clock of your server synchronized with a time server? > Suppose that your computer's clock is just a little too fast and is adjusted > - you might get the same timestamp twice. > > Stephane Faroult > RoughSea Ltd <http://www.roughsea.com> > Konagora <http://www.konagora.com> > RoughSea Channel on Youtube <http://www.youtube.com/user/roughsealtd> > > On 01/19/2011 11:22 PM, Michael Moore wrote: > > Additional info: This has been working for months with millions of > transactions with no problems. > > Mike > > > On Wed, Jan 19, 2011 at 2:20 PM, Michael Moore <michaeljmoore@xxxxxxxxx>wrote: > >> This might be helpful. it is a small sample of data from the table. As you >> can see, the timestamp does not appear to be truncated as the result of an >> OS precision limitation. >> >> >> 1/19/2011 7:57:41.014856 AM 1023206804 p_ordernumber_i =1023206804 >> p_calling_program_i =PBILLING2 p_leadreturnstatus2tcode_i =34650 >> 1/18/2011 11:57:13 PM >> >> 1/19/2011 7:57:41.120702 AM 1023206804 a2# >> v_commissionable_type=DoNotPay 1/18/2011 11:57:13 PM >> 1/19/2011 7:57:53.108784 AM 665693897 p_ordernumber_i =665693897 >> p_calling_program_i =PBILLING2 p_leadreturnstatus2tcode_i =34650 >> 1/18/2011 11:57:13 PM >> >> 1/19/2011 7:57:53.193272 AM 665693897 ORD# 665693897 ORA-20993: >> Either TAFFILIATE or TACCOUNTPROGRAM was affil_not_allowed_returns_yn = >> Y. 1/18/2011 11:57:13 PM >> >> p_leadreturnstatus2tcode_i =34650 1/18/2011 11:57:13 PM >> >> >> On Wed, Jan 19, 2011 at 2:11 PM, Michael Moore >> <michaeljmoore@xxxxxxxxx>wrote: >> >>> The code is a procedure which exists only in the package body (i.e. no >>> api in the spec for this procedure). >>> >>> v_read_cnt and v_run_date are global package variables. >>> >>> Sample call: >>> >>> log_audit_info ('p1# STARTING get_commissionable_type'); >>> >>> thanks, >>> Mike >>> >>> >>> >>> On Wed, Jan 19, 2011 at 1:45 PM, Niall Litchfield < >>> niall.litchfield@xxxxxxxxx> wrote: >>> >>>> how is the code called? >>>> >>>> On Wed, Jan 19, 2011 at 9:30 PM, Michael Moore <michaeljmoore@xxxxxxxxx >>>> > wrote: >>>> >>>>> 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 >>>>> >>>> >>>> >>>> >>>> -- >>>> Niall Litchfield >>>> Oracle DBA >>>> http://www.orawin.info >>>> >>> >>> >> >