[英]Oracle DB Audit ALL
我有一個5TB的大型數據庫。
我想審核所有內容,實際上是所有內容。
首先,我嘗試使用AUDIT ALL
,但是根據Oracle的文檔AUDIT ALL does NOT
審核所有內容 ...
我知道必須執行此語句才能開始審核數據庫:
alter system set audit_trail=db,extended scope=spfile;
但是,我應該怎么做才能開始審核用戶執行的所有SQL語句?
如果只想查看數據庫中的用戶查詢( SELECT
, UPDATE
, INSERT
),則不需要使用AUDIT功能。 $AUD
包含DDL語句 ,而V$SQL
僅包含DML語句 。
一個非常簡單的解決方案是使用另一個視圖: V$SQL
。 您可以從中提取持續時間和許多有用的信息。
有用的例子:
SELECT * FROM v$sql vv
WHERE lower(vv.SQL_TEXT) like '%delete%'
AND vv.PARSING_SCHEMA_NAME like 'A_SCHEMA%'
ORDER BY vv.LAST_ACTIVE_TIME desc;
V$SQL
列出不具有GROUP BY
子句的共享SQL
區域的統計信息,並為輸入的原始SQL文本的每個子項包含一行。V$SQL
中顯示的統計信息通常在查詢執行結束時進行更新。
長時間運行的查詢每5秒更新一次。 這顯示了長時間運行的SQL仍在起作用的影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.