Audit tables population
I am working on Oracle 9i database and having nearly 100 tables of 15 columns each on average.
We have two seperate tables for Audit purpose. First table contains only table name which got effected by updates and deletes. Second table contains first table's Id, column name, old value and new value.
If value of one column of a table changes, it would be one record in each audit table. If values of 20 columns are updated then one record in the first table and 20 records in the second table with old and new values.
Please help me out the best way to accomplish this task.
Thanks for the help.
Because I don't know which column is being updated by user.Yes you do.
SQL> set serveroutput on
SQL> create or replace trigger trig_emp2_insupd
2 before insert or update
3 on emp2
4 for each row
5 begin
6 if (UPDATING('ENAME'))
7 then
8 dbms_output.put_line('Ename is updated') ;
9 end if ;
10 if (UPDATING('SAL'))
11 then
12 dbms_output.put_line('Sal is updated') ;
13 end if ;
14 end ;
15 /
Trigger created.
SQL> update emp2 set ename = null where rownum < 2 ;
Ename is updated
1 row updated.
SQL>
SQL> update emp2 set sal = null where rownum < 2 ;
Sal is updated
1 row updated.
SQL>
SQL> update emp2 set sal = null, ename = null where rownum < 2 ;
Ename is updated
Sal is updated
1 row updated.
SQL>
Similar Messages
-
How to maintain previous and record count in audit table in SQL Server 2008 r2?
Hi Experts ,
Situation :
in our database we are having few of stored procedures which will drop and recreates the tables and it is scheduled on weekly basis. when this job will run all the stored procedures will drop all the tables and recreate. Now we need to create one table which
will maintain history of the records.
my table structure is listed below
TableName CurrentReocrdCount CurrentExecutionDate PreviousReordCount PreviousExurtiondate
TEST 1000 2014-03-30 NULL NULL
Test 1500 2014-04-10 1000 2014-03-30
Test 2000 2014-04-11 1500 2014-04-10
How do i achive this .
franklinsentilYou need to create audit tables for these. The table will be populated by COUNT value inside stored procedure. Each time it clears the main table and fills new data and also logs count details to audit tables. You can use COUNT(*) to get count value
and GETDATE function to get current execution value.
So proc will look like
CREATE PROC procname
@param....
AS
--step to drop existing table
IF OBJECT_ID('tablename') IS NOT NULL
DROP TABLE <table name>
--step to fill new table
SELECT ...
INTO TableName
FROM
--Audit table fill step
INSERT AuditTable (TableName,CurrentRecordCount,CurrentExecdate,PrevRecordCount,PrevExecDate)
SELECT TOP 1 'TableName',(SELECT COUNT(*) FROM tableName),GETDATE(),CurrentRecordCount,CurrentExecDate
FROM AuditTable
ORDER BY CurrentExecDate DESC
UNION ALL
SELECT 'TableName',(SELECT COUNT(*) FROM tableName),NULL,NULL
WHERE NOT EXISTS (SELECT 1 FROM AuditTable)
GO
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Fetching SSIS error message into Audit table using SP
Hi Experts,
I want to fetch SSIS Error Info along with Task Name into Audit table 'Error_Info' column. This is nvarchar(max) datatype, i wrote below Stored Procedure for this (Column names passing dynamically in SP)
CREATE PROC [dbo].[usp_AuditErrorHandler]
@AuditTableName nvarchar(MAX)
,@Audit_Status nvarchar(100)
,@Audit_ErrorDescription sql_variant
,@Audit_PkgEnd_dttm nvarchar(100)
,@task sql_variant
,@errordescription sql_variant
,@Audit_ID nvarchar(10)
,@LogID INT
AS
BEGIN
DECLARE @STRQuery NVARCHAR(MAX)
SET @STRQuery = '
UPDATE '+@AuditTableName+'
SET '+@Audit_Status+' = ''Failed''
,'+@Audit_PkgEnd_dttm+' = GETDATE()
,'+@Audit_ErrorDescription+' = ''Task['+ @task +']:'+@errordescription +'''
WHERE ' +@Audit_ID+ ' = ' + CAST(@LogID AS NVARCHAR)
The above procedure is working fine in SSMS and inserting complete error info into table, but when i am executing thru SSIS Pkg i am getting error like
"[Execute SQL Task] Error: Executing the query "exec usp_AuditErrorHandler ?,?,?,?,?,?,?,?" failed with the following error: "Incorrect syntax near '@P1'.". Possible failure reasons: Problems with the query, "ResultSet"
property not set correctly, parameters not set correctly, or connection not established correctly."
So, i tot of checking with string lenght and modifed the code by adding left () to @errordescription as below.
UPDATE '+@AuditTableName+'
SET '+@Audit_Status+' = ''Failed''
,'+@Audit_PkgEnd_dttm+' = GETDATE()
,'+@Audit_ErrorDescription+' = ''Task['+ @task +']:'+LEFT(@errordescription ,100)+'''
WHERE ' +@Audit_ID+ ' = ' + CAST(@LogID AS NVARCHAR)
Here, it is inserting till 119 chars, if i give more than 119 chars pkg is failing with above error.
I want to get insert Complete error info into the column.
Can anybody suggest on this??
Thanks in advance !!!Thanks Arthur for the response, i have tried with the Sql_Variant data type also, here procedure itself not creating and throwing below error.
"The data types nvarchar(max) and sql_variant are incompatible in the add operator."
This is the procedure i am using to fetch error info into Audit table.
ALTER PROC [dbo].[usp_AuditErrorHandler]
@AuditTableName nvarchar(MAX)
,@Audit_Status nvarchar(100)
,@Audit_PkgEnd_dttm nvarchar(100)
,@Audit_Task_ErrorCode nvarchar(100)
,@Audit_ErrorDescription SQL_VARIANT
,@errorcode nvarchar(max)
,@task SQL_VARIANT
,@errordescription SQL_VARIANT
,@Audit_ID nvarchar(10)
,@LogID INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @STRQuery SQL_VARIANT
BEGIN TRY
SET @STRQuery = '
UPDATE '+@AuditTableName+'
SET '+@Audit_Status+' = ''Failed''
,'+@Audit_PkgEnd_dttm+' = GETDATE()
,'+@Audit_Task_ErrorCode+' = '''+@errorcode+'''
,'+@Audit_ErrorDescription+' = ''Task['+ @task +']:'+ @errordescription +'''
(Error is giving in this line)
WHERE ' +@Audit_ID+ ' = ' + CAST(@LogID AS NVARCHAR)
EXEC (@STRQuery)
END TRY
Below is the Audit Table Schema -
How to find the list of all tables populated
How to find the list of tables populated in the implentation of a particular company. DD02L contains all the tables SAP having. But i want only which are configured for a particular company.
Also how to find the list of reports used by all users in a particular company. TSTC contains all transactions. But i require only reports used by a particular company.Hi Mohamed
You use Solution Manager to do the comparison for you. There are some nice features that will highlight all your customised coding. Have a look at the SolMan resources on the Support Portal e.g. using SolMan for upgrade comparisons.
Rgards
Carl. -
Trigger problem -- can't insert the same data into audit table
Sir/Madam,
I'm trying to use insert trigger with a 'long raw' datatype data for my audit purpose. Each time, the data of original table can be inserted correctly. While the trigger for audit table in which it contains almost the same data as original would failed. The error messages are some thing like following:
java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
ORA-06512: at "CORPSEC.TI_ARCHIVE_PDF", line 9
ORA-04088: error during execution of trigger 'CORPSEC.TI_ARCHIVE_PDF'
If the column with 'long raw' datatype is taken out, then there is no error at all. I'm using Oracle 8i 8.1.6 for Windows NT and suspect there is bug in PL/SQL execution.
The following are SQL text for the trigger:
CREATE OR REPLACE TRIGGER "CORPSEC"."TI_ARCHIVE_PDF" AFTER INSERT ON "ARCHIVE_PDF" FOR EACH ROW DECLARE
LOG_SEQ_NO NUMBER;
BEGIN
SELECT AUDIT_SEQ.NEXTVAL INTO LOG_SEQ_NO FROM DUAL
insert into ad_archive_pdf (DOC_TITLE,PDF_FILENAME,CONTENT,DOC_DESC,AUDIT_REF_NO,AUDIT_DATE,AUDIT_MODE,AUDIT_BY)
values (:new.DOC_TITLE,:new.PDF_FILENAME,:new.CONTENT,:new.DOC_DESC,LOG_SEQ_NO,sysdate,'I',:new.created_by);
END;
Any help on this. Thank in advance.
Best regards,
RuijieSee here for a discussion of how to incorporate LONG datatypes into triggers:
http://asktom.oracle.com/pls/ask/f?p=4950:8:635439::NO::F4950_P8_DISPLAYID -
Query based on main table and audit table
Hi,
I had created auditing on some table. Values might not change and if they changed, it should be stored in audit table.
I want to get the values in the table a on real time basis, like dimentions in datawarehouse.
Trying to write a query based on table a and aud_a to get point-in-time or values at anytime in the past.
Something like
SELECT *
FROM a (table_name)
WHERE effective_from >= $DATE_TO_QUERY
AND effective_to < $DATE_TO_QUERY
How to get this kind of query .
Please help. ( Table structure for table a and audit table aud_a and trigger aud_tg_a given below)
Giving code as follows.
main table a
create table a
( val1 number,
val2 number,
update_by varchar2(30),
date_updated date);
creare auidt table aud_a
create table aud_a
( "AUDIT_SEQ" NUMBER,
"AUDIT_TRAN_ID" NUMBER,
"AUDIT_PROG_ID" VARCHAR2(30 BYTE),
"AUDIT_TERMINAL" VARCHAR2(16 BYTE),
"AUDIT_REASON" VARCHAR2(30 BYTE),
"AUDIT_ACTION" CHAR(1 BYTE),
"AUDIT_ACTION_BY" VARCHAR2(20 BYTE),
"AUDIT_ACTION_DT" DATE,
val1 number,
val2 number,
updated_by varchar2(30),
date_updated date);
trigger on table a to populate aud_a
CREATE OR REPLACE TRIGGER aud_tg_a AFTER
INSERT OR
DELETE OR
update on a
for each row
declare
v_time_now DATE;
v_terminal VARCHAR2(16);
v_tran_id NUMBER;
v_prog_id VARCHAR2(30);
V_reason VARCHAR2(30);
BEGIN
v_time_now := sysdate;
v_terminal := userenv('TERMINAL');
v_tran_id := 1;
v_prog_id := 'test';
v_reason := 'AUDIT';
IF inserting THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
val1,
val2,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'I' ,
:new.val1,
:new.val2,
:new.updated_by,
:new.date_updated
elsif deleting THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
us_agy_backed_id,
industry_subgroup,
comments,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'D' ,
:old.val1,
:old.val2,
:old.comments,
:old.updated_by,
:old.date_updated
elsif updating THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
us_agy_backed_id,
industry_subgroup,
comments,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'U' ,
:new.val1,
:new.val2,
:new.updated_by,
:new.date_updated
END IF;
END;
-------------------------Hi hoek,
I am not able to use Oracle's audit functionality becuase I need to trap some changes in particular tables and then rebuild query if required.
Thanks for your suggestion though.
Regards,
Milind -
How to access to audit tables in Oracle Content DB version 10.2.0.0.1
Hello,
Could someone tell me please how to access to Oracle Content DB audit tables as:
ODMZA_RAWAUDITEVENT
ODMZA_AUDITEVENTPROPERTY
ODMZA_AUDITEVENT
ODMZA_AUDITOPTYPE
ODMZA_AUDITTARGETCLASS
ODM_INTERMEDIAAUDIO
ODM_AUDITINGCONFIGURATION
ODM_AUDITTYPEENTRY
ODM_AUDITSPECIFICATION
ODM_AUDITTYPELIST
ODM_AUDITTARGETSPEC
Could you tell me the way to view all these audits logs?
Which interface should I have?
Thanks for your help.
AlexHi
Yes you can directly apply path set 10.2.0.4
Note 839187 - Oracle 10.2.0: Applying patch set/patches/patch collection
Regards
Uday -
How to populate SQL Text in auditing table?
Hi,
Only modifying the 'AUDIT_TRAIL' .ora parameter is enough to popoulate SQL text?
Plz reply,if you have any concerns.
Thanks,Hi,
>>I gone through few documents to enable SQL_TEXT in audit table,it says Changing the . ora parameter to 'DB_EXTENDED' is enough to populate SQL text.
That's right. The exact SQL statement executed by the user and the bind variables used with the SQL are collected in the audit trail when the initialization parameter AUDIT_TRAIL is set to DB_EXTENDED. The DB or TRUE value will not populate the SQLTEXT and SQLBIND columns of the AUD$ table.
Cheers
Legatti -
Auditing tables..
Hi Experts,
Could anyone help me with the following issue.
we are trying to implement the "audit feature" on a table. what is the best way to do the audit? (keep track of all the changes in the table)
This is what we are doing..
Main_table
id
first_name
last_name
dob
hire_date
created_date
created_by
updated_date
updated_by
audit_table
ad_action (whether it is insert,update or delete)
ad_time (time)
ad_user (whos is the user)
id
first_name
last_name
dob
hire_date
created_date
created_by
updated_date
updated_by
and i have a trigger on the "main_table" like this
CREATE OR REPLACE TRIGGER Main_table_AIUD after
insert or update or delete on Main_table for each row
begin
declare
ljn_action varchar2(3);
begin
if inserting then
ljn_action := 'INS';
elsif updating then
ljn_action := 'UPD';
else
ljn_action := 'DEL';
end if;
if inserting then
insert into audit_table
ad_action,
ad_time,
ad_user,
id
first_name
last_name
dob
hire_date
created_date
created_by
updated_date
updated_by
values
ljn_action
,sysdate
,nvl(v('APP_USER') ,USER)
:new.id,
:new.first_name,
:new.last_name,
:new.dob,
:new.hire_date,
:new.created_date,
:new.created_by,
:new.updated_date,
:new.updated_by
elsif updating then
insert into audit_table
ad_action,
ad_time,
ad_user,
id
first_name
last_name
dob
hire_date
created_date
created_by
updated_date
updated_by
values
ljn_action
,sysdate
,nvl(v('APP_USER') ,USER)
:old.id,
:old.first_name,
:old.last_name,
:old.dob,
:old.hire_date,
:old.created_date,
:old.created_by,
:old.updated_date,
:new.updated_by
else
insert into audit_table
ad_action,
ad_time,
ad_user,
id
first_name
last_name
dob
hire_date
created_date
created_by
updated_date
updated_by
values
ljn_action
,sysdate
,nvl(v('APP_USER') ,USER)
:old.id,
:old.first_name,
:old.last_name,
:old.dob,
:old.hire_date,
:old.created_date,
:old.created_by,
:old.updated_date,
:new.updated_by
end if;
end;
end;
/For "Insert" and "Delete" as i need to capture all the elements my code would be ok.
But for "update" how can i capture only the columns that got changed? and put it in the audit table
so next time if i go to the audit table i can clearly see that these elements got changes.
Is there any better way to do this?
Please let me know
ThanksYeah for tracking OLD and NEW values you have to write a trigger.
Your trigger code seems fine except a few quirks.
You audit_table should contain two fields against each column of the main table. e.g. for first_name column in main_table there should be two fields old_firstname and new_firstname in the audit_table.
And then each section of trigger (inserting, updating, deleting) insert both :OLD and :NEW values to the table. In case of INSERT there will be no :OLD values so just insert NULL and in case of DELETE there will be no :NEW values so insert NULL. But in case of UPDATE its important to track both :NEW and :OLD.
and if you track both NEW and OLD values in the trigger and put them in the audit_table then you no longer need to identify which columns are changed. You can figure that later on when you query the audit_table, any fields where OLD and NEW values are same was not updated.
If you still want to check which column was changed in the trigger, refer to Himanshu Kandpal's post above.
And you probably don't need this code in the trigger:
if inserting then
ljn_action := 'INS';
elsif updating then
ljn_action := 'UPD';
else
ljn_action := 'DEL';
end if;You can Just use the values 'DEL','INS' and 'UPD' where appropriate instead of the ljn_action variable. -
Update audit table trigger by a column
Have a need to update a audit table when a specific column data has been updated\deleted\inserted on table T1 . The column is Grade_complete.
My first thought was to create an instead of trigger since the form was based on the table (T1) view
( CREATE OR REPLACE TRIGGER "AI_T1" AFTER INSERT OR UPDATE OF grade_complete ON T1........) but then I realized with instead of , I can't create a trigger with a update of . Can anyone give me some suggestions on how to resolve this ? There got to be something easy that I am just not getting it now.
Thanks.
WanJure, Roel;
Thanks for the reply.
I have no permission to create triggers on the table so instead of being used. when ran the following statement , I am getting "ORA-25004: WHEN clause is not allowed in INSTEAD of triggers. Have tried if statement to no avail. Can anyone help ?
create or replace trigger ioft_test
instead of insert or update or delete on T1
referencing old as old new as new for each row
when nvl(new.grade_complete, 0) != nvl(old.grade_complete, -1)
declare
v_seq number;
begin
insert statemetn here
end; -
Saving and passing SelectOneChoice Values for af: table population
Hey yall.
*First things first... I am using the EJB as opposed to ADF BC so any examples involving VO's would not help me at this point and that's pretty much all I have been able to find online when searching for help. I am using JDev version 10.1.3.1.
Im having some trouble trying to figure out how to program my command button to return a table using the values acquired from a set of 3 dynamic LOV's. In detail, this is what I'm trying to do but can't get it to work no matter what I do:
1. I have a page where the user must select an option from each drop down list (there are 3 in all). The 2nd list depends on the 1st and the 3rd list depends on the 1st and 2nd. That part is working fine.
2. Once all selections are made, the user must then click on execute (my command button on page) to then be taken to another page with a table populated using the values selected in the previous page. The table was created using a method from the data control palette that contains the named queries needed to return results in the table.
3. My problem is figuring out how to wire the execute button to do the tasks mention in #2 above.
Any suggestions? Ideas? Help?
Greatly appreciative... Thanks.Hi,
you can do this from the UI using createWithParams
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/13-create-with-params-169140.pdf
Or by overriding the doDML on the parent EO so you can use an association to update the child records. And of course you could use view links similar. However, the update is recognized on the entity level. And finally, another option - if the tables are not loaded together in an application, is to use a database trigger
Frank -
Is it possible to records another machine ip addree in audit table
Hai
I have written system event trigger,it records username, ip address and time in audit table when user logged on database , The database reside on xx machine ( 10.0.0.88 ipaddess ). Is it possible to records another machine ip addree in audit table while accessing database from another machine?
example we have another database on xxx machine (10.0.0.2 ip address),when accessing database from xxx(10.0.0.2) to xx (10.0.0.88),the xxx node ip address will be stored in audit table?.
Thanks in advance
Regards
mohan
CREATE OR REPLACE TRIGGER On_Logon
AFTER LOGON
ON database
declare
db_name VARCHAR2(50);
addr varchar2(80);
x varchar2(20);
begin
db_name := ora_database_name;
select utl_inaddr.get_host_address into x from dual;
if ( ora_sysevent ='LOGON')
then x:=utl_inaddr.get_host_address;
insert into log1
select ora_sysevent,ora_login_user,ora_database_name,utl_inaddr.get_host_address,sysdate
from dual;
end if;
end;
SQL> select * from log1;
OPERATION USERNAME DATABASE IP_ADDR TIME
LOGON MOHAN1 ISOLA6.US.ORACLE.COM 10.0.0.88 11-APR-02
Based on system events trigger how to find out which user from which machine (ip address) accesing database?
example:
CREATE OR REPLACE TRIGGER On_Logon
AFTER LOGON
ON database
declare
db_name VARCHAR2(50);
addr varchar2(80);
x varchar2(20);
begin
db_name := ora_database_name;
select utl_inaddr.get_host_address into x from dual;
if ( ora_sysevent ='LOGON')
then x:=utl_inaddr.get_host_address;
insert into log1
select ora_sysevent,ora_login_user,ora_database_name,utl_inaddr.get_host_address,sysdate
from dual;
end if;
end;
SQL> select * from log1;
OPERATION USERNAME DATABASE IP_ADDR TIME
LOGON MOHAN1 ISOLA6.US.ORACLE.COM 10.0.0.88 11-APR-02Providing you're on 8i+ this will give you the IP address from which th eclient is connected:
SELECT sys_context('userenv', IP_ADDRESS) FROM dual;
Bear in mind that many network applications assign IP Addresses dynamically, so depending on how your network is segmented, the same machine can have very different IP addresses from day to day. If this is just an internal system you're auditing then you might find this call more useful:
SELECT sys_context('userenv', TERMINAL) FROM dual;
This returns the network's ID for the machine, and this is non-varying (unless network admin change it explicitly - but why would they?). This call is also available in the older, deprecated USERENV function:
SELECT userenv('TERMINAL') FROM dual;
rgds, APC -
Our Production system is suffering performance issues which we attribute to the large volume of records in the audit tables. We want to implement an archival solution to alleviate this, which would involve transferring older audit records to a separate database. To achieve this, we need to write SQL queries against the <app>DATAAUDIT and <app>TASKAUDIT tables in the HFM database. We are aware that we need to join other tables to see descriptions, e.g. <app>SCENARIODESC. We have also deduced the translation of Activity Codes from "HFMAuditExtractSchemaDefs.xml", which accompanies the HFM Audit Extract Utility.
Unfortunately, there are some things which we do not know how to translate:
1) Period (lPeriod) on the <app>DATAAUDIT table, e.g. 67108869 but need to show "Jun" etc.
2) User (ActivityUserId) on the <app>TASKAUDIT table, e.g. -329543984
3) Module (strModuleName) on the <app>TASKAUDIT table, e.g. #@RID@#19
Can anyone advise how we should translate these pieces of data in order to give similar results to those seen on the Data Audit and Task Audit screens in Workspace?1.) Period - I'm not sure where this is coming from, but I'm pretty confident it is not sitting in the database which I find odd. I want to find this as well, but haven't had any free time to search around, sorry.
2.) User - This one I can help you with.
--Get Task Item Data by Hour for a given day by user
select datepart(HOUR, cast(endtime-2 as smalldatetime)), count(activitycode) from <APP_NAME>_task_audit where activitycode in (1,4,6,8,9,12,14,15,16,21,23,44) and cast(endtime-2 as smalldatetime) between '2011-12-7 00:00:00' and '2011-12-7 23:59:59' and ActivityUserID in (select lUserID from HSV_ACTIVITY_USERS where sUserName = '<USER_NAME>') group by datepart(HOUR, cast(endtime-2 as smalldatetime))In the sample SQL Query above, I am looking for all of the task audit activity (for the specified tasks) for a specific user by hour. The part of the query you want to focus on is
and ActivityUserID in (select lUserID from HSV_ACTIVITY_USERS where sUserName = '<USER_NAME>')The ActivityUserID in the task audit table will match up to the lUserID field in the HSV_ACTIVITY_USERS table. sUserName will be the actual text username. Depending on how you are configured, the name may look like johndoe or johndoe@Native Directory or johndoe@AD, etc. If you query that table, you'll figure it out pretty quickly.
3.) Module ID. I can only partially assist on this one.
This is not also in the HFM database. I suspected it might be floating in workspace; however, can't really find it there either.
I can tell you a couple things though....
#@RID@# Is just a placeholder for Resource ID. The important part is the number behind it. If you do a search on your folders for @RID@, you'll get one hit where it is defined as a constant, but that is it. (I was hoping a file search would reveal a table of the ID's; however, I wasn't that lucky). There is probably a table of values that correspone somewhere, but I haven't found it.
If you do a distinct select, you'll see there's not too many ...
select distinct strmodulename from <APP_NAME>_task_audit#@RID@#10
#@RID@#13
#@RID@#14
#@RID@#16
#@RID@#18
#@RID@#23
#@RID@#30
#@RID@#32
#@RID@#4294967295
#@RID@#45
#@RID@#46
#@RID@#49
#@RID@#52
#@RID@#58
#@RID@#59
#@RID@#65
#@RID@#66
#@RID@#67
#@RID@#68
#@RID@#69
#@RID@#7
#@RID@#9
HyperionReports
How can you determine these values?
The quick and dirty way would be to run a Task Audit Extract for a given date range as this will reveal the Module Name.
Then execute a SQL Query on the Task Audit Table for the same data range. You could then match up the records and deduce the values.
--Get Task Items by Date Range
select (select sUserName from HSV_ACTIVITY_USERS where lUserID = ActivityUserID) as UserName, ActivityCode, ServerName, AppName, cast(StartTime-2 as smalldatetime), cast(EndTime-2 as smalldatetime), strDescription, strModuleName from <APP_NAME>_task_audit where cast(endtime-2 as smalldatetime) between '2011-12-7 00:00:00' and '2011-12-7 23:59:59' order by endtime ascOnce you determine the values, I would create a table in your database to hold them so that you could use them in future queries. I would also recommend you do the same with the activitycodes. -
I want to know is there anyway we can capture wb_rt tables in mapping. This are runtime audit tables in owb. Is there any documentation where I can get the description of this tables.
What I want to do is to get infor from audit tables to get the row count from previous mapping run and compare before loading the final target.
I am new to owb and I want to know is there any process in owb or process flow to check before loading into target like checking how many rows were loaded into staging and is it equal to no. of rows after transformation.
Is anyone doing this kind of consistency checks in there ETL process. Any kind of info will be helpful
Thnakshttp://download-east.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm
in the second chapter -
Audit- Not laoding Audit data into Audit tables
Hi ,
Audit data not loading into audit tables in my XI3.1 SP4Environament.
Audit data base is in SQL SERVER 2008 R2
where Audit database congigured , audit events enabled properly.
and also log files creating without any errors also
Please help me ..
Edited by: Reddeppa Konduru on Nov 9, 2011 11:31 AM
Edited by: Reddeppa Konduru on Nov 9, 2011 12:31 PMI am getting below error
bsystem_impl.cpp:2651: TraceLog message 1
2011/11/09 03:22:47.071|>>|A| |13664|9368| |||||||||||||||assert failure: (.\auditsubsystem_impl.cpp:2651). (false : Next event id value should be greater than the current one, check the auditee packing events code).
Maybe you are looking for
-
EXP-00037: Export views not compatible with database version
kindly help with this error. We have already run catexp.sql but still that is not helping, we are still getting the same error. we are exporting 8i db. Export: Release 8.1.7.0.0 - Production on Thu Feb 21 14:34:25 2008 (c) Copyright 2000 Oracle Corpo
-
What is Java and why do I need it, and is it safe yet?
It's my understanding Oracle has not put forth a true "fix" on the lack of security for Java. I don't really understand what Java is or why I need it, but what I don't want is something that allows cybercriminals a way into my computer. I currently h
-
For 'Reason' if you get the message "Failed to Open MIDI Support Library"
I tried to open Reason 3.0.5 with an MBox 2 on my new MacBook Pro (Leopard) and I got this message: 'Failed to Open MIDI Support Library.' When I went to my 'Audio-MIDI' setup on my Mac, nothing loaded properly... I found the solution to this problem
-
Program using Native SQL ... Need suggestion.. Look into code
Hi Friends , I need your Inputs to solve the new requirement , which need to be solve using Native SQL, For this i need to connet to data base 'SIP'. The table used for this are SAPI.TRANSACTION fields in SAPI.TRANSACTION - SYSTEMCODE
-
Transaction for data particular plant number from BW to APO is not loaded
Hi gurus, Transaction for data for particular plant number from BW to APO is not loaded . I checked the transfer rules and update rules there is no restrictions for this plant number. pls help guys. Regards shekar reddy