標籤:活動 管理 空間 bms 日誌 修改 update 錯誤碼 upd
一、審計分類:
oracle中審計總體上可分為“標準審計”和“細粒度審計”後者也稱為“基於政策的審計”,在Oracle10G之後功能得到很大增強。其中標準審計可分為使用者級審計和系統級審計。使用者級審計是任何Oracle使用者可設定的審計,主要是使用者針對自己建立的資料庫表或視圖進行審計,記錄所有使用者對這些表或視圖的一切成功和(或)不成功的訪問要求以及各種類型的SQL操作。系統級審計只能由DBA設定,用以監測成功或失敗的登入要求、監測GRANT和REVOKE操作以及其他資料庫級許可權下的操作。
二、標準審計
分類:
在ORACLE中分別支援以下三種標準審計類型:
語句審計,對某種類型的SQL語句審計,不指定結構或對象。
特權審計,對執行相應動作的系統特權的使用審計。
對象審計,對一特殊模式對象上的指定語句的審計。
這三種標準審計類型分別對如下3方面進行審計:
審計語句的成功執行、不成功執行,或者其兩者。
對每一使用者會話審計語句執行一次或者對語句每次執行審計一次。
對全部使用者或指定使用者的活動的審計。
當資料庫的審計功能開啟後,在語句執行階段產生審計記錄。審計記錄包含有審計的操作、使用者執行的操作、操作的日期和時間等資訊。審計記錄可存在資料字典表(稱為審計記錄)或作業系統審計記錄中。Database Audit記錄是在SYS模式的AUD$表中。
三、細粒度審計:
細粒度審計 (FGA)(通過 Oracle9i 引入)可以理解為“基於政策的審計”。與標準的審計功能相反,FGA 可用於指定產生審計記錄必需的條件:FGA 政策通過使用“dbms_fga”程式包以編程方式綁定到對象(表、視圖)。類似於用於通過 VPD ("dbms_rls") 進行存取控制的程式包,它允許您建立任何需要的條件,例如:僅當以下條件為真時:
在早上九點到下午六點之間或在星期六和星期日對某個表進行了訪問。
使用了公司網路外部的某個 IP 位址。
選定或更新了特定列。
使用了該列的特定值。
這將建立更有意義的審計線索,因為無需記錄每一個人對錶的每一次訪問。從 Oracle 資料庫 10g 開始,FGA 支援在一個策略中使用“選擇”、“插入”、“更新”和“刪除”語句的任意組合。事實上,綁定到表的 FGA 政策簡化了審計政策的管理,因為這將只需在資料庫中對其更改一次,不用在每個應用程式中一次次進行。此外。無論使用者通過何種方式串連至資料庫(通過應用程式、Web 介面或通過 SQL*Plus),其操作都會記錄下來。
四、細粒度審計(FGA)審計和標準審計的差異 :
1. 標準審計必須用參數 AUDIT_TRAIL 在資料庫級啟用。這個參數不是動態;你必須重啟資料庫來使其生效。相比而言,FGA 不需要任何參數修改。
2. 一旦被設定在一個對象上,標準審計將保持在那裡。要解除它,必須用 NOAUDIT 命令刪除審計選項。這可能很不方便,因為在一個表上丟棄審計選項也將丟棄中繼資料資訊。然而,FGA 可以臨時禁用和啟用,不丟失任何中繼資料資訊。
3. FGA 只能夠處理四種類型的語句:SELECT、INSERT、UPDATE 和 DELETE。相比而言,常規審計可以處理其它許多語句和許可權,甚至會話串連和斷開。
4. 標準審計每次會話只建立一條記錄(按會話)或每次訪問對象建立一條記錄(按訪問)這種佔用資源很少的方式對於控制審計線索表中的空間非常重要。FGA 並不是同樣節省資源;它每次訪問運行一次 — 使得線索更大。
5. 通過記錄線索,標準審計可以用來檢測任何中斷企圖,如果企圖沒有成功,則將產生錯誤碼。而 FGA 不能。
6. 標準審計可以寫資料庫表或 OS 檔案。後者在審計員(不是資料庫管理員)能夠訪問線索時非常有用。在 Windows 下,非Database Audit線索記錄在事件記錄中,並且可以用不同的方式對其進行訪問。這個選項保護了審計線索的完整性。然而,FGA 日誌僅寫到資料庫表 FGA_LOG$ 中。可以在 FGA 中建立使用者自訂的審計處理常式來寫 OS 檔案,但它們的完整性不能保證。
7. 標準審計可以設定用於預設對象。當表是在運行期建立時,這個功能變得極為有用:預設的審計選項允許沒有資料庫管理員幹預的審計。這在 FGA 中是不可能的,使用者必須在一個現有的表上建立策略,上述的情況只能在表已建立之後才可能發生。
8. 在 FGA 中,審計更加靈活 — 僅當訪問某些列,當某個特定的條件為真時等等。這種多功能性在您需要控制線索的增長時非常方便。
9. 在 FGA 中,SQL 賦值變數預設被捕獲。在標準審計中,必須把初始化參數 audit_trail設為 db_extended,以啟用這一功能。
10. 許可權差異:標準審計需要審計系統或語句許可權;FGA 只需要 dbms_fga 程式包上的運行許可權。
Oracle審計功能