Audit Trail on R12.1 (shadow table concept)
I want to enable Audit Trail at table (column) level. Though I got response from Oracle Support but at present I am stuck on particular error. Here are the steps which I followed:
1. Apply latest Patch 12860752:R12.FND.B - Latest Audit Trail Fixes for post 12.1.3.
2. Enable Audit Trail on a table : I have set this for "PER_PEOPLE_F" tables of HR module
a. (R)System Administrator, (N) Profile -> System
Query Profile: 'AuditTrail:Activate'. Click FIND
Set it to 'Yes' at Site level.
b) Enable Audit Installations (HR)
-- Got System Admin: Security:AuditTrail:Install
-- Enable Audit Installation for HR
c) Define Audit tables and desired columns.
-- Got System Admin: Security: Audit Trail: Tables
-- Query for user table name 'PER_PEOPLE_F' and add columns on which enable trail
d) Define an Audit Group and associated tables
-- Got System Admin: Security: Audit Trail: Groups
-- Create Audit group for table defined in 'C'
e) Run Concurrent program 'AuditTrail Report for Audit Group Validation' with parameter as that of Audit Group.
f) Define an Industry Template contain Audit Group
-- Got System Admin: Security: Audit Trail Reporting: Audit Industry Template
g) Run concurrent program "AuditTrail Update Tables".
Now, I am facing challenge at point (g), as, the concurrent request "AuditTrail Update Tables" is completing with error.
And I am not able to proceed further.
****Log file shows as:****
Application Object Library: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
FNDATUPD module: AuditTrail Update Tables
Current system time is 02-APR-2013 01:02:32
----->Expand Rows
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 800, 53506, 135906, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 800 AND T.TABLE_ID = 53506
commit
commit
DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
----->Update Pending Columns
----->Adding ROW_KEY
**Starts**02-APR-2013 01:02:54
**Ends**02-APR-2013 01:02:57
----->Alter Shadow Table
ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 5 WHERE TABLE_APP_ID = 800 AND SCHEMA_ID = 900 AND TABLE_ID = 53506 AND COLUMN_ID = 135906 AND STATE = 'P'
commit
commit
----->Drop Triggers
DROP TRIGGER PER_ALL_PEOPLE_F_AI
DROP TRIGGER PER_ALL_PEOPLE_F_AI
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AD
DROP TRIGGER PER_ALL_PEOPLE_F_AD
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AU
DROP TRIGGER PER_ALL_PEOPLE_F_AU
commit
DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AC
DROP TRIGGER PER_ALL_PEOPLE_F_AC
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AH
DROP TRIGGER PER_ALL_PEOPLE_F_AH
commit
DROP TRIGGER PER_ALL_PEOPLE_F_AT
DROP TRIGGER PER_ALL_PEOPLE_F_AT
commit
----->Create Standard Triggers
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_AIP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2 )
AS
ROWKEY number;
NXT number;
CMT number;
NUSER varchar2(100);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,E1,E2,NULL,NULL,NULL);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_AIP;
commit
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_AUP (A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newtransaction_TYPE VARCHAR2(1);
newTRUE_NULLS VARCHAR2(250);
tmpPRIMCHANGE NUMBER;
nls_date_fmt VARCHAR2(40);
I0 DATE;
I1 DATE;
I2 NUMBER(10,0);
YB DATE;
YC VARCHAR2(150);
YD VARCHAR2(240);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT 0+decode(E0,A0,0,1)+decode(E1,A1,0,1)+decode(E2,A2,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
IF tmpPRIMCHANGE>=1 THEN
SELECT decode(A0,NULL,'Y','N')
||decode(A1,NULL,'Y','N')
||decode(A2,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN')THEN
newTRUE_NULLS:=NULL;END IF;
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,A1,A2,JB,JC,JD);
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,E1,E2,NULL,NULL,NULL);
ELSE
SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
||decode(A1,NULL,decode(E1,NULL,'N','Y'),'N')
||decode(A2,NULL,decode(E2,NULL,'N','Y'),'N')
||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN')THEN newTRUE_NULLS:=NULL;END IF;
IF(newTRUE_NULLS is not NULL)OR
YB IS NOT NULL OR
YC IS NOT NULL OR
YD IS NOT NULL THEN
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,E1,E2,YB,YC,YD);
END IF;
END IF;
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_AUP;
commit
CREATE OR REPLACE PROCEDURE
PER_ALL_PEOPLE_F_ADP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newTRUE_NULLS VARCHAR2(250);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT decode(A0,NULL,'Y','N')
||decode(A1,NULL,'Y','N')
||decode(A2,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNNNN') THEN
newTRUE_NULLS:= NULL;
END IF;
INSERT INTO PER_ALL_PEOPLE_F_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,A1,A2,JB,JC,JD);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END PER_ALL_PEOPLE_F_ADP;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AH BEFORE INSERT ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AI AFTER INSERT ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AIP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AT BEFORE UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AU AFTER UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AUP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AC BEFORE DELETE ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AD AFTER DELETE ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_ADP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
commit
----->Create Views
VIEW PER_ALL_PEOPLE_F_AV1
commit
VIEW PER_ALL_PEOPLE_F_AV2
commit
VIEW PER_ALL_PEOPLE_F_AV3
commit
VIEW PER_ALL_PEOPLE_F_AV4
commit
VIEW PER_ALL_PEOPLE_F_AC1
-->EFFECTIVE_START_DATE
-->EFFECTIVE_END_DATE
-->PERSON_ID
-->DATE_OF_BIRTH
-->FIRST_NAME
-->FULL_NAME
commit
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 53506 AND T.TABLE_APP_ID = 800 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
commit
commit
----->Delete Invalid Columns
----->Drop Triggers
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
commit
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
commit
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
commit
Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
commit
DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
commit
----->Drop Shadow Table
DROP TABLE FND_PROFILE_OPTION_VALUE_A
ORA-00942: table or view does not exist
Error in fdasql, continuing...
/oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
Program was terminated by signal 11
Executing request completion options...
Output file size:
0
Output is not being printed because:
The print option has been disabled for this report.
Finished executing request completion options.
Concurrent request completed
Current system time is 02-APR-2013 01:03:56
Any comments/ suggestions in context of the Audit Trail query are heartily welcome !!
Regards,
S.Malik
Dear Hussein,
I followed the doc id: 727770.1 and as per note, I deleted the previous Audit data.
And enabled the audit trail as per document to the similar table as mentioned in the doc. with similar steps. But still the concurrent request "AuditTrail Update Tables" is completing with error. Please find below the log file for the same:
Application Object Library: Version : 12.0.0
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
FNDATUPD module: AuditTrail Update Tables
Current system time is 02-APR-2013 04:19:23
----->Expand Rows
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158787, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158786, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158790, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
commit
commit
DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
----->Create New Table
CREATE TABLE OTA_DELEGATE_BOOKINGS_A (AUDIT_TIMESTAMP DATE NOT NULL, AUDIT_TRANSACTION_TYPE VARCHAR(1) NOT NULL, AUDIT_USER_NAME VARCHAR2(100) NOT NULL, AUDIT_TRUE_NULLS VARCHAR2(250), AUDIT_SESSION_ID NUMBER NOT NULL, AUDIT_SEQUENCE_ID NUMBER NOT NULL,AUDIT_COMMIT_ID NUMBER NOT NULL, ROW_KEY NUMBER )
commit
GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
commit
CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:32
**Ends**02-APR-2013 04:19:34
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
commit
commit
DELETE FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID= 810 AND C.TABLE_ID = 55079 AND C.COLUMN_ID = 158785 AND C.SCHEMA_ID = 900
INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID,TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID,SCHEMA_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'K', 0, 900, SYSDATE,0,0,0,SYSDATE)
commit
----->Update Pending Columns
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:36
**Ends**02-APR-2013 04:19:36
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 1 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158786 AND STATE = 'P'
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:37
**Ends**02-APR-2013 04:19:37
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 2 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158787 AND STATE = 'P'
commit
----->Adding ROW_KEY
**Starts**02-APR-2013 04:19:37
**Ends**02-APR-2013 04:19:37
----->Alter Shadow Table
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
commit
commit
UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 3 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158790 AND STATE = 'P'
commit
commit
----->Drop Triggers
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AI' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
ORA-04043: object OTA_DELEGATE_BOOKINGS_AIP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AD' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
ORA-04043: object OTA_DELEGATE_BOOKINGS_ADP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AU' does not exist
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
ORA-04043: object OTA_DELEGATE_BOOKINGS_AUP does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AC' does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AH' does not exist
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AT' does not exist
----->Create Standard Triggers
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_AIP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER )
AS
ROWKEY number;
NXT number;
CMT number;
NUSER varchar2(100);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,NULL,NULL,NULL);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_AIP;
commit
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_AUP (A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newtransaction_TYPE VARCHAR2(1);
newTRUE_NULLS VARCHAR2(250);
tmpPRIMCHANGE NUMBER;
nls_date_fmt VARCHAR2(40);
I0 NUMBER(9,0);
YB NUMBER(9,0);
YC NUMBER(10,0);
YD NUMBER(9,0);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT 0+decode(E0,A0,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
IF tmpPRIMCHANGE>=1 THEN
SELECT decode(A0,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN')THEN
newTRUE_NULLS:=NULL;END IF;
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,JB,JC,JD);
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,NULL,NULL,NULL);
ELSE
SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN')THEN newTRUE_NULLS:=NULL;END IF;
IF(newTRUE_NULLS is not NULL)OR
YB IS NOT NULL OR
YC IS NOT NULL OR
YD IS NOT NULL THEN
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
E0,YB,YC,YD);
END IF;
END IF;
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_AUP;
commit
CREATE OR REPLACE PROCEDURE
OTA_DELEGATE_BOOKINGS_ADP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
AS
NXT NUMBER;
CMT NUMBER;
NUSER varchar2(100);
newTRUE_NULLS VARCHAR2(250);
nls_date_fmt VARCHAR2(40);
BEGIN
select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
NXT:=FND_AUDIT_SEQ_PKG.NXT;
CMT:=FND_AUDIT_SEQ_PKG.CMT;
NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
SELECT decode(A0,NULL,'Y','N')
||decode(JB,NULL,'Y','N')
||decode(JC,NULL,'Y','N')
||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
IF(newTRUE_NULLS='NNNN') THEN
newTRUE_NULLS:= NULL;
END IF;
INSERT INTO OTA_DELEGATE_BOOKINGS_A
VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
A0,JB,JC,JD);
execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
END OTA_DELEGATE_BOOKINGS_ADP;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AH BEFORE INSERT ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AI AFTER INSERT ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AIP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AT BEFORE UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AU AFTER UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AUP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AC BEFORE DELETE ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
commit
CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AD AFTER DELETE ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_ADP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
commit
----->Create Views
VIEW OTA_DELEGATE_BOOKINGS_AV1
commit
VIEW OTA_DELEGATE_BOOKINGS_AV2
commit
VIEW OTA_DELEGATE_BOOKINGS_AV3
commit
VIEW OTA_DELEGATE_BOOKINGS_AV4
commit
VIEW OTA_DELEGATE_BOOKINGS_AC1
-->BOOKING_ID
-->BOOKING_STATUS_TYPE_ID
-->DELEGATE_PERSON_ID
-->EVENT_ID
commit
UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 55079 AND T.TABLE_APP_ID = 810 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
commit
commit
----->Delete Invalid Columns
----->Drop Triggers
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AI' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
ORA-04043: object FND_PROFILE_OPTION_VALUE_AIP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AD' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
ORA-04043: object FND_PROFILE_OPTION_VALUE_ADP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AU' does not exist
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
ORA-04043: object FND_PROFILE_OPTION_VALUE_AUP does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AC' does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AH' does not exist
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AT' does not exist
Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
ORA-00942: table or view does not exist
DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
ORA-00942: table or view does not exist
----->Drop Shadow Table
DROP TABLE FND_PROFILE_OPTION_VALUE_A
ORA-00942: table or view does not exist
Error in fdasql, continuing...
/oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
Program was terminated by signal 11
Executing request completion options...
Output file size:
0
Output is not being printed because:
The print option has been disabled for this report.
Finished executing request completion options.
Concurrent request completed
Current system time is 02-APR-2013 04:19:44
Regards,
S.Malik
Similar Messages
-
User Audit Trail for a custom table.
Hello all. I need to know the correct and accurate way to user audit for a custom table. To elaborate further, I have a table catering to sanctioned strength of employees in a particular Cost Center, the entries have been deleted all together by someone, and I need to know the way to recover the data and to identify the user in question. Note, I have used STAT and have foundno results, and standard user audit trail are turned off.
Any help or push in the right direction would be highly appreciated.
P.S: any additional technical details on the table structure can be provided for further analysis if needed.Try to add your custom table and table fields in the below views
V_T585A
V_T585B
V_T585C
After doing this your custom table changes gets stored in the pcl4 document . If the custom table is master data table then from the standard Audit trail report you can see the logged changes in custom table also by providing the custom infotype number.
if its is custom customizing table , need to explore -
How to load XML audit trail into an oracle table
Gents,
I have a task to load XML sys audit information into a database table.
Here is a sample audit.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_1.xsd">
<Version>11.1</Version>
<AuditRecord><Audit_Type>8</Audit_Type><EntryId>1</EntryId><Extended_Timestamp>2011-05-04T15:44:08.311370</Extended_Timestamp><DB_User>/</DB_User><OS_User>oracle</OS_User><Userhost>corpdb399d</Userhost><OS_Process>720942</OS_Process><Terminal>pts/11</Terminal><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege>
<Sql_Text>CONNECT</Sql_Text>
</AuditRecord>
<AuditRecord><Audit_Type>4</Audit_Type><Session_Id>4294967295</Session_Id><StatementId>1</StatementId><EntryId>2</EntryId><Extended_Timestamp>2011-05-04T15:44:12.496857</Extended_Timestamp><DB_User>/</DB_User><Ext_Name>oracle</Ext_Name><OS_User>oracle</OS_User><Userhost>corpdb399d</Userhost><OS_Process>720942</OS_Process><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege>
<Sql_Text>ALTER DATABASE OPEN</Sql_Text>
</AuditRecord>
<AuditRecord><Audit_Type>4</Audit_Type><Session_Id>4294967295</Session_Id><StatementId>4</StatementId><EntryId>3</EntryId><Extended_Timestamp>2011-05-04T15:44:32.863959</Extended_Timestamp><DB_User>/</DB_User><Ext_Name>oracle</Ext_Name><OS_User>oracle</OS_User><Userhost>corpdb399d</Userhost><OS_Process>720942</OS_Process><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege>
<Sql_Text>SELECT name, value
FROM gv$parameter
WHERE name LIKE '%audit%'</Sql_Text>
</AuditRecord>
<AuditRecord><Audit_Type>4</Audit_Type><Session_Id>4294967295</Session_Id><StatementId>5</StatementId><EntryId>4</EntryId><Extended_Timestamp>2011-05-04T15:44:50.448443</Extended_Timestamp><DB_User>/</DB_User><Ext_Name>oracle</Ext_Name><OS_User>oracle</OS_User><Userhost>corpdb399d</Userhost><OS_Process>720942</OS_Process><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege>
<Sql_Text>select count(*) from v$session</Sql_Text>
</AuditRecord>
<AuditRecord><Audit_Type>4</Audit_Type><Session_Id>4294967295</Session_Id><StatementId>6</StatementId><EntryId>5</EntryId><Extended_Timestamp>2011-05-04T15:46:37.680404</Extended_Timestamp><DB_User>/</DB_User><Ext_Name>oracle</Ext_Name><OS_User>oracle</OS_User><Userhost>corpdb399d</Userhost><OS_Process>720942</OS_Process><Instance_Number>0</Instance_Number><Returncode>0</Returncode><OSPrivilege>SYSDBA</OSPrivilege>
<Sql_Text>select count(*) from v$session</Sql_Text>
</AuditRecord>
</Audit>
I am using the following code to load it:
create or replace directory test_dir as '/dbms/oracle/work/sh82993'
drop table xxrp_acct_header
create table xxrp_acct_header (
Audit_Type number,
Sql_Text varchar2(100)
DECLARE
acct_doc xmltype := xmltype( bfilename('TEST_DIR','dbmsdev_ora_720942_1.xml')
, nls_charset_id('UTF-8') );
BEGIN
insert into xxrp_acct_header (Audit_Type, Sql_Text)
select *
from xmltable(
'/Audit/AuditRecord'
passing acct_doc
columns Audit_Type path 'Audit_Type'
, Sql_Text path 'Sql_Text'
END;
COMMIT;
select * from xxrp_acct_header
However I am having problems with the <Audit .... > tag.
If a strip the rest following Audit I can get it working but if I leave the part:
xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_1.xsd">
the loading will not work.
Any ideas?
All will be appreciated.
stevenodie_63 wrote:
Hi,
The XML has a default namespace, so you must declare it in XMLTable :
SELECT *
FROM XMLTable(
XMLNamespaces(default 'http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-11_1.xsd'),
'/Audit/AuditRecord'
passing acct_doc
columns Audit_Type number path 'Audit_Type'
, Sql_Text varchar2(100) path 'Sql_Text'
Hi ,
Can you please tell how can I load the data in the column "Extended_Timestamp" , I defined the column with datatype "TIMESTAMP" in the table but its giving error 'ORA-01830: date format picture ends before converting entire input string" .
I also tried to add a column with datatype "TIMESTAMP(6) with time Zone" but still giving the same error. What shld be the datatype of the column which will store the corresponding data from extended_timestamp or do I need to format the insert statement , if yes then how ?
Thanks. -
AOL audit trail disable while upgrading
Hi,
I am refering to R12 upgrade guide.
In page 3-2, there is a step to disable AOL audit traill.
In our 11i instance we have "enable-requested" for APPLSYS's FND tables.
So should be set it to "diable-perpare for archive" and run the audit trail update request???
ThanksIn our 11i instance we have "enable-requested" for APPLSYS's FND tables.
So should be set it to "diable-perpare for archive" and run the audit trail update request???Yes.
If you use the Oracle Applications Object Library Audit Trail feature, you must disable it before the upgrade.
From the System Administrator responsibility under the 11i APPL_TOP, navigate to Security > Audit Trail > Groups. In the Audit Groups window, set the Group State field to Disable - Prepare for Archive for each audit group defined. Run the Audit Trail Update Tables report from the Submit Requests window (Requests > Run).
If you plan to re-enable auditing after the upgrade, then archive and purge the shadow tables now. Data changes made after implementing this step are not audited.
Thanks,
Hussein -
ORA-2002 : error while writing to audit trail
Hi all ,
I am oracle 11g and on SPARC OS.
I enabled audit in my database by setting the parameter audit_trail=DB and then i restarted my instance.
On doing so the database started but whenever i am trying to connect using pl/sql developer , i am getting the following list of errors :
ORA-00604 : error occured at recursive SQL level 1
ora-00904 : "DBID" invalid identifier
Ora-02002 : error while writing to audit trail
ORA-00604 : error occured at recursive SQL level 1
ora-00904 : "DBID" invalid identifier
I checked on the net for ora-02002 and increased the size of the system tablespace from 750 M to 1000M.
My system tablespace is dictionary managed.
bounced the database also , but still getting the same errors.
please help
regards
KKukreja
Edited by: ~JuniorDBA~ on Dec 20, 2010 8:59 PMHi Nicolas,
here is the output
SQL> desc sys.aud$
Name Null? Type
SESSIONID NOT NULL NUMBER
ENTRYID NOT NULL NUMBER
STATEMENT NOT NULL NUMBER
TIMESTAMP# DATE
USERID VARCHAR2(30)
USERHOST VARCHAR2(128)
TERMINAL VARCHAR2(255)
ACTION# NOT NULL NUMBER
RETURNCODE NOT NULL NUMBER
OBJ$CREATOR VARCHAR2(30)
OBJ$NAME VARCHAR2(128)
AUTH$PRIVILEGES VARCHAR2(16)
AUTH$GRANTEE VARCHAR2(30)
NEW$OWNER VARCHAR2(30)
NEW$NAME VARCHAR2(128)
SES$ACTIONS VARCHAR2(19)
SES$TID NUMBER
LOGOFF$LREAD NUMBER
LOGOFF$PREAD NUMBER
LOGOFF$LWRITE NUMBER
LOGOFF$DEAD NUMBER
LOGOFF$TIME DATE
COMMENT$TEXT VARCHAR2(4000)
CLIENTID VARCHAR2(64)
SPARE1 VARCHAR2(255)
SPARE2 NUMBER
OBJ$LABEL RAW(255)
SES$LABEL RAW(255)
PRIV$USED NUMBER
SESSIONCPU NUMBERsince i took over the database , no one did anything ... i only truncated the aud$ table today.
But while going through the files i came across a SQL file that had this content :
more move_audit.sql
create table system.aud$
tablespace AUD_TSP
as select * from aud$;
create index system.i_aud1 on system.aud$(sessionid, ses$tid);
rename aud$ to aud$_temp;
create view aud$ as
select * from system.aud$;
connect system/XXXXX
grant all on aud$ to sys with grant option;
grant delete on aud$ to delete_catalog_role;Now I am not sure what has happened and who has done what,but when i checked on TOAD, system tablespace had aud$ table and there was no table in tablespace AUD_TSP.
thanks and regards
Kkukreja
Edited by: ~JuniorDBA~ on Dec 21, 2010 12:55 AM -
Audit trail of Business Partner Views
Hi All,
A typical audit trail within SAP tracks the creation and changes of master data and transactional data.
For a SAP CRM solution, we have the requirement for tracking views of business partner master data. Can this be activated in SAP CRM as standard, or is there another tool/add-on we can use? A suggestion is to possibly use the ICM monitor, but i'm not sure it will capture all the information we need and store it over a long period of time. My understanding is that ICM uses a set memory allocation which cycles, so if it gets full, it simply overwrites from the beginning again.
Help appreciated!
IndiI hope someone from here can help me. I am setting up audittrail for wf_local_user_roles table. The Audittrail update table program completed no error. The audittrail valdiation program also report no error.
But when I modify the end date for existed responsibility, it shows the change in the original table WF_loadl_user_roles. But there is no change in wf_local_user_roles_AC table wf_local_user_roles_AV4. They both keep the old end date.
WHY? -
Hi Expert,
Instead of using the existing audit report "S_AHR_61016380", I would like to create a customized report for this. I try to go throguh the source code in this report, but no luck for me.
Could you please let me know the table name to store the audit trail data? I need to extract it myself and put it into my company's format.
Million thanks,
WFHi Harsh,
I have lots of record from the standard audit report, but I cannot find any record in view V_PTRV_APPR.
Could you please let me know how to get record from these table?
Thanks,
WF -
How to create an audit trail report in SAPB12007
Hello,
I been looking for some ways to make an Audit Trail Report for our System Audit. Could anyone help me with this?
I would like to generate a report that will list all the BP and ITem master data. the date its created and modified and if its modified what are the old values and the modified values.
I browse the table ACRD for the BP history. how every it could be read as a report. So I was wondering if anyone knows what table should I look at if I am to get the old and new value of a modified transaction. Pls. note that I wanted to create a report.
Thank you very much
catHere are the queries that I use for my audits internally. The first one is for customer changes. And the second one to control pricing.
Query Name: Business Partner History Log
Author: Vincent Motte
Version: 1.0
History:
/SELECT FROM ACRD T1/
DECLARE @DATE AS DATETIME
/* WHERE */
SET @DATE = /* T1.UpdateDate */ getdate()-30
SELECT
CASE
WHEN (SELECT ISNULL(T10.BankCode,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.BankCode,0)
Then 'Bank details modified'
WHEN (SELECT ISNULL(T10.DflAccount,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.DflAccount,0)
Then 'Bank details modified'
WHEN (SELECT ISNULL(T10.DflBranch,0) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode AND T10.LogInstanc=T0.LogInstanc-1)<>ISNULL(T0.DflBranch,0)
Then 'Bank details modified'
WHEN (SELECT COUNT(T10.CardCode) FROM ACRD T10 WHERE T10.CardCode=T0.CardCode and T10.LogInstanc<T0.LogInstanc)<=0
Then 'Creation'
else ''
END 'Alert',
T0.UpdateDate 'Update Date', T1.[U_NAME] 'User',T0.CardCode, T0.CardName
, T0.[CreditLine], T0.[DebtLine],
T0.[Discount], T0.[VatStatus], T0.[LicTradNum], T0.[ListNum] 'Price List', T0.[DflAccount], T0.[DflBranch], T0.[BankCode],
T0.[validFor], T0.[frozenFor], T0.[VatGroup], T0.[Deleted], T0.[PymCode], T0.[BlockDunn],
T0.[WTCode]
FROM ACRD T0 , OUSR T1 WHERE
T1.INTERNAL_K=T0.UserSign AND T0.UpdateDate>=@DATE
Query Name: Price Change log
Description: extracts the price modification for each item in SBO for the past 30 days
Version 1.0
Author: Vincent Motte
History:
Select
--T0.UserSign,
T1.itemcode 'Item Code',
T0.Price [Previous],
T1.Price [Current],
T2.ListName 'Price List',
T0.Factor[Old Factor] ,
T0.factor [New Factor],
/* select the update date for the log instance(determined by the where condition )*/
(Select distinct T3.Updatedate from aitm T3 where T3.itemcode= T0.itemcode and (T3.loginstanc +1)= T0.loginstanc ) 'Update Date',
T0.loginstanc 'Instance',
T2.listName 'Price List',
/Select the base price list for the item's price list from the price list table/
(Select T4.base_num from opln T4 where T4.listnum = T1.pricelist and T4.listnum = T0.pricelist) [Base PriceList ]
--t0.Currency,
--T1.CURRENCY
From
ait1 T0 inner join
itm1 T1 on T0.pricelist = T1.pricelist and T0.itemcode = T1.itemcode
Inner Join opln T2 on T1.pricelist = T2.listnum
where
/* Condition 1: Select all the items + their price change where the price has been changed and the base price list equals the price list itself. It counts the Log Instance from the item in
the price list and substract one to get the last entry where the price was changed. The loginstance coutn ignores a count of 1
T0.loginstanc =
((Select count (a.Loginstanc) from ait1 a where a.itemcode = T0.itemcode and a.pricelist = T0.pricelist group by a.itemcode having count(a.Loginstanc) > '1' ) -1)
and
/* Cater for prices in target price lists which may have been manually changed. */
(T1.ovrwritten='y'and T0.Price <> T1.Price)
or (T0.Price <> T1.Price and T2.base_num = T1.pricelist and T2.base_num = T1.pricelist
and T2.base_Num = T2.listnum )
Cater for cases where a currency change but not a price change may happen
OR T0.CURRENCY <> T1.CURRENCY
or
Condition 2: Select all price changes where the price may have changed due to the price of the parent price lsit changing.
As this type of price chnage is not recorded in the AIT1 the second log instance condition details that the base price list
from opln does not equal the actual price list in ait1 or itm1.
T0.loginstanc =
(Select top 1 c.loginstanc from ait1 c where c.itemcode = T0.itemcode and c.pricelist = T0.pricelist and c.loginstanc <> '1' order by c.loginstanc desc)
and T2.base_num <> T1.pricelist and T2.base_num <> T1.pricelist
and T2.base_Num <> T2.listnum
and
caters for a change in the factors or prices in target price lists which may have been manually changed.
((T0.Factor <> T1.factor)
or (T1.ovrwritten='y'and T0.Price <> T1.Price)
or T0.price <> T1.price
Cater for cases where a currency change but not a price change may happen
OR T0.CURRENCY <> T1.CURRENCY
and (T0.Price >= 0 or T1.Price >=0) and ((T0.Price <> T1.Price) or ((T0.Price <>
(Select distinct b.pricelist from itm1 b right outer join OPLN T4 on b.pricelist= T4.listnum and b.pricelist <> T4.base_Num where b.pricelist = T1.pricelist and b.itemcode =T1.itemcode)))
and (Select distinct T3.Updatedate from aitm T3 where T3.itemcode= T0.itemcode and (T3.loginstanc +1)= T0.loginstanc ) >getdate()-30 -
Use of Audit Trail in interface
Hi All,
I want to use audit trail in the existing ABAP -Hr interface , how can I do so .
Thanks In AdvanceCreate the interface with DW_PROJECT_BUILDING table and give this table a name PB.
Now put one filter on the table with the conditions that you have just mentioned in the query above, with the exist statement.
I assume data from this table is targeted into one more aggregated table: here is the definition for the table:
CREATE TABLE PROJECT_BUILDING_AGGR
(PROJ_BUILD_KEY VARCHAR2(20),
PROJECT_KEY varchar2(20));
perform mapping like :
PROJECT_KEY=PB.PROJECT_KEY
PROJ_BUILD_KEY=count(distinct PB.DW_PROJECT_BUILDING_KEY)
Select IKM as IKM SQL control append.
FLOW control as false.
run the interface, it is giving something like this for me, I hope this is according to your requirement:
insert into
ORACLE_SOURCE.PROJECT_BUILDING_AGGR
PROJ_BUILD_KEY,
PROJECT_KEY
select
PROJ_BUILD_KEY,
PROJECT_KEY
FROM (
select
count(distinct PB.DW_PROJECT_BUILDING_KEY) PROJ_BUILD_KEY,
PB.PROJECT_KEY PROJECT_KEY
from
ORACLE_SOURCE.DW_PROJECT_BUILDING PB
where
(1=1)
And (EXISTS
(SELECT 1
FROM DW_PROJECT_BUILDING PB1
WHERE PB1.PROJECT_KEY = PB.PROJECT_KEY
AND PB1.RECORD_STATUS_ID = 1)
AND PB.RECORD_STATUS_ID = 1
AND TRUNC (PB.LOAD_DT) >= '03-OCT-2013')
Group By PB.PROJECT_KEY
) ODI_GET_FROM -
Using wliconsole's process instance monitoring and audit trail
Hello,
I have couple of questions about wliconsole's process monitoring capabilities to be able to use in real production environments.
1. Is it possible to add some custom data to the Process Instance Summary table? For example, we would like to show the party that send the initial request, and some internal process type information.
2. How can we achieve audit trail logging when we have several processes? For example, we have business processes that span over several wli-processes, and our process is split into several re-usable sub-processes. And the audit trail stops at the process boundaries. Finding the corresponding sub-processes is quite a challenge now.
Thanks,
Timo Lukumaa
Reaktor Innovations www.ri.fiThe WLI version we're about to use is 8.1 sp2.
One question more:
3. Is there somekind of metadata or resource directory in wliconsole or some place else?
We're about use a SOA style architecture where re-usable business logic is modeled as web services.
So we would like to have one place (a web page) where the available services could be seen and corresponding WSDLs and schemas downloaded.
Or are we just looking at the wrong product? ;)
Thanks,
Timo -
A shot in the dark question about Audit Trail
Gurus,
We (development team) typically provide deployment scripts which contain API calls or table inserts for OA configurations. This ensures consistency between environments and prevents Admin user error from fat-fingering. With that said, anyone have any idea if the Audit trail forms use backend API calls to write to standard tables? Or do those Audit trail forms write directly to standard tables/views?
I feel much more comfortable calling an API rather than trying to mimic standard table inserts.
Audit trail for base tables consist of several steps:
1. Enable audit at application level (Intall Form)
2. Define Audit name and define table (Groups Form)
3. Define audit columns from table (Tables Form)
4. Run Audit Trail concurrent job.
I am mostly concerned about writing a script for tasks 1-3, since we can easily execute a concurrent job through FND_REQUEST. I've been looking at the FND_AUDIT* packages and none reference a "create" procedure.
BTW, form diagnostic tool didn't supply much information.
Any help would be greatly appreciated.
Thanks,
ScottHi,
Log a SR, Oracle support should be able to help.
Regards,
Hussein -
Hello , I had scenario where I had to monitor the changes what the user makes.
It was easy for me to monitor in a regular form . But when it comes to Tabular form as the form does not have any page item associated.. I had to use TRigger on the table.
But upon using the trigger on table I notice that the Trigger starts mutating when Deleting the records from all the tables. Cos even the Audit trail table data gets deleted at that point. So is there any way I can monitor the Delete of records from APEX side instead of Trigger on the table for tabular form.
thank you.The solution (usually) to performing any DML on a table in a trigger where the table in question is being hit by both the current DML statement and also by any sort of additional DML or select in the trigger is to use "PRAGMA AUTONOMOUS_TRANSACTION;" in something called by your trigger such that the DML executes in a different session.
The gotcha there is that the separate session won't yet be aware of your current row that you're inserting/updating/deleting, so not sure if that would open up a new issue or not. I guess it depends on the details of what you're trying to do.
Try "PRAGMA AUTONOMOUS_TRANSACTION;" and see if that helps.
Here's an example of the syntax:
http://www.java2s.com/Tutorial/Oracle/0560__Trigger/MarktriggerwithPRAGMAAUTONOMOUSTRANSACTION.htm -
ORACLE 10g generate reports for audit trail
HELP ORACLE 10 g
I am a beginner about the oracle 10g
anybody can guide me how to start with
generate reports for audit trail , top ten url
, no of hits in the portlets ......
=(
thank you ....In a nutshell:
1 - You will have to have the portal database schema as your data source.
2 - You will have to design a target database schema with the target data bjects (tables, dimensions and fact tables - cubes) where the data will be loaded for reporting purposes.
3 - Then you will have to model the loading process by defining mappings (mappings will translate into generated code for the load process) and process flows to run the mappings in the right order etc.
4 - You will deploy the sources, targets and processing entities to the target schema.
5 - You will run the deployed code periodically as needed and maintain the source, target and loading entities which might change with time.
One observetion - OWB does not produce reports. It creates and maintains the data infrastructure for a reporting/analysis system (a data warehouse, data mart or an operational data store). To produce reports (for example, the top-10 report mentioned by you), you will have to run a reporting tool on top of the data structures created and maintained by OWB.
Regards:
Igor -
Enabling Audit Trail (Oracle 9i Solaris 9)
Hi Guys,
On my initialization parameters Audit Trail = False. How do I change this parameter to true / Set it to true in the init.ora file.
Thank you.Maran has given the answer to you. I suggest you read the concept guide and admin guide from Oracle for sure as these all are covered there in gory details.
Find them here
Admin Guide
Concept Guide
Aman.... -
While generating audit trails for planning application, i enabled the option of Auditing->Data. I can also view the changes made by users in Audit records and audit options table in oracle database.
The administrator requirement is that through the planning web, they should be able to generate such reports.user10146120 wrote:
While generating audit trails for planning application, i enabled the option of Auditing->Data. I can also view the changes made by users in Audit records and audit options table in oracle database.
The administrator requirement is that through the planning web, they should be able to generate such reports.Hyperion Planning can have audit report when turns on audit. However not sure there are ready-to-use reports showing the data records being changed.
Maybe you are looking for
-
IPhoto still doesn't work correctly with IOS 4.3
Was told after last update that IOS 4.3 would finally fix Ipad and Iphone not listing events in alphabetical order, rather than just by date. Well, guess what!! It doesn't Still only shows events arranged by date. Wish I could get my old IOS back, as
-
I'm having trouble understanding how the Address Book "works".
I like to have one card for each organization not each Person, if that is possible. For example, Thunderbirds Organization: Jeff Tracy, Lady Penelope, Mr hackenbaker. On the same card. Is it possible to have all 3 names on the same card? I am
-
Error Message during order confirmation.
Hi PP Gurus, In the mapping of MTO process scenario and it's simulation I am using 2 BoM components as the NON-VALUATED (MATERIAL TYPE) for this I have made only 'Quantity Update' indicator ON in IMG settings. After MRP run and at the time of Produc
-
How come I keep getting errror message -50n when trying to create slow motion footage?
How comme I can not slow motion a section of video keep getting error message -50?
-
Objects required when publishing inbound interface
Hi We are publishing an inbound interface in SAP PI SR, and implementing proxy in ECC. What all objects do we need to create in PI. In ESR we will just need one inbound service interface, with request/response messages. - Do we need to have any other