Right now we are trying to do the data level audit for Oracle, please read the PPT attached.
You all can see that for each table we need to do it one by one manually, so we would like to(perfectly):
1)	Create a store procedure to just pass in the database name.
2)	Once the store procedure runs, all will create the respective script for us to create the DBAudit_<table_name> table for any tables hasn’t get the data audit setup yet.
3)	Apart from the DBAudit_<table_name>, the store procedure will also generate the AFTER INSERT/UPDATE and BEFORE delete trigger script for us, let us preview and we run it ourselves.
But for this we need to:
1)	Use query to find out all tables in that database, how?
Select owner, table_name from all_tables?
How to bypass the tables belongs to the schema SYS and SYSTEM ? how to use cursor to do it to find out all table name and save to a permanent table in oracle?
2)	Use query to find out all fields on each table? I think I have to use Cursor to check the table one by one by inputting the all table from 1).
describe ADMGCUK.AFR_ADDR, for example?
Anyway to use cursor to save all field into a temp table?
3)	Once 1 +2 can be done, then each time we run the store procedure, it will:
I.	Scan for any new tables that DO NOT exist in the result permanent table list since last time we run the SP.
II.	Scan for all fields for any new table from I.
III.	Because 1) will save the result to a permanent table, we can compare the result with I. We also need to add the new table name to the permanent table for next time.
IV.	Any table we found IS NOT IN the permanent table will be store in temporary table.
V.	The SP will then generate the respective “create DBAudit_<source table name>…” statement as well as all INSERT/UPDATE/DELETE trigger script from any table store in the temp table and show it in the screen.