【OCP最新題庫解析(052)–題34】You want to audit update statements that

  • 2019 年 10 月 10 日
  • 筆記

Q

題目

You want to audit update statements that refer to USER1.DEPT.DNAME.Which type of auditing must you use?

A. standard auditing

B. mandatory auditing

C. value-based auditing

D. fine-grained auditing

A

答案

Answer:D

進行資料庫審計時會記錄審計對象中發生的插入、更新和刪除操作,但是不會捕獲更改的實際值。要擴展資料庫審計,可使用基於值的審計,利用資料庫觸發器(事件驅動的PL/SQL 構造)來捕獲更改的值。

用戶在連接了相應觸發器的表中插入、更新或刪除數據時,觸發器在後台將審計資訊複製到包含審計資訊的表中。因為審計觸發器程式碼在每次插入、更新或刪除操作發生時都必須執行,所以與標準資料庫審計相比,使用基於值的審計時,性能下降幅度比較大。性能下降幅度取決於觸發器程式碼的效率。只在標準資料庫審計捕獲的資訊不足的情況下,才使用基於值的審計(value-based auditing)。

基於值的審計由用戶或第三方程式碼實施。Oracle DB提供了可用來構建基於值的審計系統的 PL/SQL 構造。基於值的審計的關鍵部分是審計觸發器,這是一個單純為了捕獲審計資訊而構造的PL/SQL 觸發器。

資料庫審計會記錄已發生某個操作這一事實,但是不會捕獲關於導致操作的語句的資訊。細粒度審計(FGA)擴展了審計功能,可捕獲查詢或處理數據的實際SQL語句

與標準資料庫審計或基於值的資料庫審計相比,FGA將重點審計的範圍設置得更窄。可將FGA選項設置為按表或視圖中的各個列進行審計,還可將其設置為條件選項,以便只在符合管理員定義的特定規範時才捕獲審計。FGA策略支援多個相關列。默認情況下,如果其中任何一列出現在SQL語句中,就會審計該語句。通過使用DBMS_FGA.ALL_COLUMNS和DBMS_FGA.ANY_COLUMNS,可對語句中是否使用了任何或全部相關列來進行審計。

可使用DBMS_FGA PL/SQL程式包來創建對目標表或視圖的審計策略。如果查詢塊中返回的任何行與審計列和指定的審計條件相匹配,則審計事件會導致在審計線索中創建並存儲審計記錄。此外,審計事件還可執行某個過程。FGA自動將審計重點放在語句級別。一個SELECT語句會返回數千行,但只生成一條審計記錄。