Oracle使用審計監控使用者執行過的SQL語句
監控使用者執行過的SQL語句,經常會使用查詢V$SQL等檢視,但這樣查不出來多次執行相同的SQL語句,使用審計可以解決這個問題,這裡採用精細審計某個使用者的所有表。
用sys使用者登記
建立下面的的過程
create or replace procedure auditUser(auditUser in varchar2,oper in int)
is
policyName varchar2(2000);
policynum varchar2(20);
cursor tables is select object_name from dba_objects where wner=auditUser and object_type='TABLE';
begin
for tableName in tables loop
begin
policynum := 'AUDIT1_';
policyName := concat(policynum,tableName.Object_Name);
if per=1 then
dbms_fga.add_policy(object_schema=>auditUser,object_name=> tableName.Object_Name,policy_name => policyName,
statement_types=>'select,insert,update,delete',enable=>true);
end if;
if per=0 then
dbms_fga.drop_policy(object_schema=>auditUser,object_name=>tableName.Object_Name,policy_name => policyName);
end if;
exception
when others then
NULL;
end;
end loop;
commit;
end;
查詢建立的審計策略:
select * from DBA_AUDIT_POLICIES
入參auditUser 表示要審計的使用者,oper=1表示審計使用者的所有表,oper=0表示刪除審計策略
審計完成之後最好刪除建立的審計策略。
查詢執行過的SQL語句:
select timestamp,db_user,os_user,sql_text from dba_fga_audit_trail order by timestamp desc
系統允許一段時間之後,資料量增加,查詢會很慢,可刪除表資料
truncate table fga_log$
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-716972/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle-監控sql語句的過載率OracleSQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- Oracle SQL 語句的執行過程OracleSQL
- 理解oracle執行sql語句的過程OracleSQL
- ORACLE:使用tcpdump 監控客戶端發過來的所有SQL語句OracleTCP客戶端SQL
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- 監控 SQL Server 的執行狀況--常用檢測語句SQLServer
- 查詢Oracle正在執行和執行過的SQL語句OracleSQL
- Oracle 資料庫監控SQL語句Oracle資料庫SQL
- ORACLE sql 語句的執行過程(SQL效能調整)OracleSQL
- oracle之 v$sql_monitor 監視正在執行的SQL語句的統計資訊OracleSQL
- 簡單使用oracle的審計語句Oracle
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- CoreData執行過程的sql語句SQL
- 剖析SQL語句的執行過程SQL
- 監控使用高cpu的sql語句指令碼SQL指令碼
- mysql執行sql語句過程MySql
- 【實驗】Oracle審計語句的使用演示Oracle
- 後臺執行SQL語句(oracle)SQLOracle
- Oracle SQL語句執行步驟OracleSQL
- 通過分析SQL語句的執行計劃優化SQL 二SQL優化
- 一條sql語句的執行過程SQL
- 淺談SQL語句的執行過程SQL
- 清除SQL語句的執行計劃SQL
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- SQL語句執行過程詳解SQL
- sql語句執行過程小結SQL
- 查詢Oracle正在執行的SQL語句OracleSQL
- 通過分析SQL語句的執行計劃優化SQL(總結)SQL優化
- 【檢視】使用V$SQL_PLAN檢視獲取曾經執行過的SQL語句執行計劃SQL
- ORACLE 11G 使用SPM來調整SQL語句的執行計劃OracleSQL
- 10_SQL語句執行過程剖析SQL
- 透過分析SQL語句的執行計劃最佳化SQL(總結)SQL
- sql語句如何執行的SQL
- 執行大的sql語句SQL
- 獲取oracle sql語句詳細些執行計劃OracleSQL
- Oracle常用效能監控語句解析Oracle
- 獲取oracle正在處於等待狀態的sql語句的執行計劃的語句OracleSQL