1. 程式人生 > >Oracle 11g 預設審計選項 說明

Oracle 11g 預設審計選項 說明

一. Oracle 11g 預設審計說明

之前整理的一篇有關審計的說明:

       在Maclean 的blog上看到了2篇介紹Oracle 11g 預設審計的文章,原文連結如下:

       11g預設審計選項

       Find password cracker in 11g

根據這2篇文章重新整理一下。

       在Oracle 11g中預設啟用審計選項,AUDIT_TRAIL引數的預設值為DB,而在Oracle 10g中該引數預設值為none,即不啟用審計。 關於這些引數的說明,可以參考我之前整理的審計的文章。

       審計資料預設存放SYSTEM 表空間下的AUD$審計字典基表上。

Oracle官方宣稱預設啟用的審計日誌不會對絕大多數產品資料庫的效能帶來過大的負面影響,同時Oracle公司還推薦使用基於OS檔案的審計日誌記錄方式(OS audit trail files)。

       注意在Oracle11g中CREATE SESSION將被作為受審計的許可權來被記錄,因此當SYSTEM表空間因磁碟空間而無法擴充套件時將導致這部分審計記錄無法生成,這將最終導致普通使用者的新會話將無法正常建立,普通使用者將無法登陸資料庫。在這種場景中仍可以使用SYSDBA身份的使用者建立會話,在將審計資料合適備份後刪除一部分記錄,或者乾脆TRUNCATE AUD$都可以解決上述問題。

       當AUDIT_TRAIL設定為OS時,審計記錄檔案將在AUDIT_FILE_DEST引數所指定的目錄中生成。全部這些檔案均可以隨時被刪除或複製。

       注意在預設情況下會以AUTOEXTEND ON自動擴充套件選項建立SYSTEM表空間,因此係統表空間在必要情況下還是會自動增長的,我們所需注意的是磁碟上的剩餘空間是否能夠滿足其增長需求,以及資料檔案擴充套件的上限,對於普通的8k smallfile表空間而言單個數據檔案的最大尺寸是32G。

SQL> select * from v$version whererownum=1;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise EditionRelease 11.2.0.1.0 - Production

以下許可權將對所有使用者審計:

       DBA_PRIV_AUDIT_OPTS describescurrent system privileges being audited across the system and by user.

SQL> select privilege,success,failurefrom dba_priv_audit_opts;

PRIVILEGE                                SUCCESS    FAILURE

-------------------------------------------------- ----------

CREATE EXTERNAL JOB                      BY ACCESS  BY ACCESS

CREATE ANY JOB                           BY ACCESS  BY ACCESS

GRANT ANY OBJECT PRIVILEGE               BY ACCESS  BY ACCESS

EXEMPT ACCESS POLICY                     BY ACCESS  BY ACCESS

CREATE ANY LIBRARY                       BY ACCESS  BY ACCESS

GRANT ANY PRIVILEGE                      BY ACCESS  BY ACCESS

DROP PROFILE                             BY ACCESS  BY ACCESS

ALTER PROFILE                            BY ACCESS  BY ACCESS

DROP ANY PROCEDURE                       BY ACCESS  BY ACCESS

ALTER ANY PROCEDURE                      BY ACCESS  BY ACCESS

CREATE ANY PROCEDURE                     BY ACCESS  BY ACCESS

PRIVILEGE                                SUCCESS    FAILURE

-------------------------------------------------- ----------

ALTER DATABASE                           BY ACCESS  BY ACCESS

GRANT ANY ROLE                           BY ACCESS  BY ACCESS

CREATE PUBLIC DATABASE LINK              BY ACCESS  BY ACCESS

DROP ANY TABLE                           BY ACCESS  BY ACCESS

ALTER ANY TABLE                          BY ACCESS  BY ACCESS

CREATE ANY TABLE                         BY ACCESS  BY ACCESS

DROP USER                                BY ACCESS  BY ACCESS

ALTER USER                               BY ACCESS  BY ACCESS

CREATE USER                              BY ACCESS  BY ACCESS

CREATE SESSION                           BY ACCESS  BY ACCESS

AUDIT SYSTEM                             BY ACCESS  BY ACCESS

PRIVILEGE                                SUCCESS    FAILURE

-------------------------------------------------- ----------

ALTER SYSTEM                             BY ACCESS  BY ACCESS

23 rows selected.

SQL>

以下語句也將對所有使用者審計:

       DBA_STMT_AUDIT_OPTS describescurrent system auditing options across the system and by user.

SQL> select audit_option,success,failurefrom dba_stmt_audit_opts;

AUDIT_OPTION                             SUCCESS    FAILURE

-------------------------------------------------- ----------

ALTER SYSTEM                             BY ACCESS  BY ACCESS

SYSTEM AUDIT                             BY ACCESS  BY ACCESS

CREATE SESSION                           BY ACCESS  BY ACCESS

CREATE USER                              BY ACCESS  BY ACCESS

ALTER USER                               BY ACCESS  BY ACCESS

DROP USER                                BY ACCESS  BY ACCESS

PUBLIC SYNONYM                           BY ACCESS  BY ACCESS

DATABASE LINK                            BY ACCESS  BY ACCESS

ROLE                                     BYACCESS  BY ACCESS

PROFILE                                  BYACCESS  BY ACCESS

CREATE ANY TABLE                         BY ACCESS  BY ACCESS

AUDIT_OPTION                             SUCCESS    FAILURE

-------------------------------------------------- ----------

ALTER ANY TABLE                          BY ACCESS  BY ACCESS

DROP ANY TABLE                           BY ACCESS  BY ACCESS

CREATE PUBLIC DATABASE LINK              BY ACCESS  BY ACCESS

GRANT ANY ROLE                           BY ACCESS  BY ACCESS

SYSTEM GRANT                             BY ACCESS  BY ACCESS

ALTER DATABASE                           BY ACCESS  BY ACCESS

CREATE ANY PROCEDURE                     BY ACCESS  BY ACCESS

ALTER ANY PROCEDURE                      BY ACCESS  BY ACCESS

DROP ANY PROCEDURE                       BY ACCESS  BY ACCESS

ALTER PROFILE                            BY ACCESS  BY ACCESS

DROP PROFILE                             BY ACCESS  BY ACCESS

AUDIT_OPTION                             SUCCESS    FAILURE

-------------------------------------------------- ----------

GRANT ANY PRIVILEGE                      BY ACCESS  BY ACCESS

CREATE ANY LIBRARY                       BY ACCESS  BY ACCESS

EXEMPT ACCESS POLICY                     BY ACCESS  BY ACCESS

GRANT ANY OBJECT PRIVILEGE               BY ACCESS  BY ACCESS

CREATE ANY JOB                           BY ACCESS BY ACCESS

CREATE EXTERNAL JOB                      BY ACCESS  BY ACCESS

28 rows selected.

查詢當前資料庫中的現有的審計記錄:

       DBA_AUDIT_TRAIL displaysall standard audit trail entries.

SQL> select action_name,count(*) from dba_audit_trail group by action_name;

ACTION_NAME                    COUNT(*)

---------------------------- ----------

SYSTEM REVOKE                         1

LOGON                                90

DROP DATABASE LINK                    5

LOGOFF                               59

ALTER SYSTEM                          5

CREATE PUBLIC SYNONYM                 2

ALTER DATABASE                        3

DROP PUBLIC SYNONYM                   2

CREATE DATABASE LINK                  5

9 rows selected.

二. 審計應用一例

       在使用者的profile 屬性裡面有一個屬性:FAILED_LOGIN_ATTEMPTS, 該引數預設值是10. 即當我們使用者連續10次輸入錯誤密碼,這個使用者就會被鎖住。使用者連詞失敗次數是在表USER$ 中的lcount欄位記錄的。 該值預設為0. 當失敗一次,該值加1. 成功登入,該值清零。

      一般在生產環境下,會根據具體情況設定這個引數,如果防止使用者被鎖,則將這個引數設定為UNLIMITED。 這個是注意的地方。當然設定成無限也有它的弊端,比如不能防止暴力破解資料庫密碼。

       有關profile 的更多內容參考:

       在11g中預設啟用了對登入登出操作LOGON/LOGOFF的審計,那麼如果我們發現使用者被鎖,那麼可以應用11g的審計功能來檢視從哪臺機器上發來的連結失敗導致使用者被鎖,可以幫助我們定位問題。

指令碼如下:

SQL> selectos_username,userhost,terminal,username,count(*)

 2    from dba_audit_trail

 3   where returncode = 1017

 4   group byos_username,userhost,username,terminal;

OS_USERNAME                    USERHOST                       TERMINAL     USERNAME       COUNT(*)

------------------------------------------------------------ ------------ ------------ ----------

DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI    ICD                   7

DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     SYSTEM                9

DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     SYS                   3

DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     EXIT                  1

       注意對於LOGON PER SECOND很高的資料庫,如果應用程式配置檔案中的資料庫使用者密碼不正確,同時應用在短期內發起大量會話登入資料庫的話可能引發頻繁的dc_users字典快取鎖,使用者登入無法成功,乃至整個例項hang住。這個問題直接參考Maclean的blog:

       Row Cache lock Problem

-------------------------------------------------------------------------------------------------------

QQ:492913789

Email:[email protected]

Linkedin: http://cn.linkedin.com/in/tianlesoftware

DBA1 群:62697716(滿);   DBA2 群:62697977(滿)  DBA3 群:62697850(滿)  

DBA 超級群:63306533(滿);  DBA4 群: 83829929(滿) DBA5群: 142216823(滿) 

DBA6 群:158654907(滿)  聊天 群:40132017(滿)   聊天2群:69087192(滿)

--加群需要在備註說明Oracle表空間和資料檔案的關係,否則拒絕申請

相關推薦

Oracle 11g 預設審計選項 說明

一. Oracle 11g 預設審計說明 之前整理的一篇有關審計的說明:        在Maclean 的blog上看到了2篇介紹Oracle 11g 預設審計的文章,原文連結如下:        11g預設審計選項        Find password

Oracle 11g 預設使用者名稱和密碼不正確

1.安裝ORACLE時,若沒有為下列使用者重設密碼,則其預設密碼如下: 使用者名稱 / 密碼 登入身份 說明 sys/change_on_install

ORACLE 11g 實現審計使用者登入登出的詳細記錄

需求就是需要記錄使用者登陸登出的記錄,包括時間以及連線ip地址以及連線方式等等,這樣有助於跟蹤分析問題,特別是一些人為無意識的dml操作導致資料丟失、資料混亂的問題追蹤,還是非常有效的。大家知道oracle庫開啟了審計audit後,肯定有辦法查到問題,但是審計比較消耗資源,所

oracle 11g 忘記預設使用者密碼的處理方法

1.啟動sqlplus  2.請輸入使用者名稱:  sqlplus/as sysdba  3.輸入口令: 直接回車  (說明:對於sys無論鎖與不鎖都能本地認證登陸成sysdba) 4.連線到:   &

oracle 11g system 使用者的預設密碼

啟動sqlplus 請輸入使用者名稱:  sqlplus/as sysdba 輸入口令: 直接回車 連線到:    oracle database 11g enterprise edition release 11.2.0.1.0 - production   

oracle 11g 安裝後預設密碼

安裝ORACLE時,若沒有為下列使用者重設密碼,則其預設密碼如下: 使用者名稱 / 密碼                      登入身份                              說明 sys/change_on_install       SYSD

oracle 11g grid安裝

oracle 11g grid安裝 oracle 11g grid安裝1、創建oracle用戶及用戶組groupadd oinstall groupadd dbauseradd -g oinstall -G dba -m oracle設置oracle用戶的口

oracle 11g expdp impdp詳細使用方法

無法登錄 目錄 expdp like tempfile spa ase 平臺 ads 11G中有個新特性,當表無數據時,不分配segment,以節省空間 解決方法如下圖: 二、oracle10g以後提供了expdp/impdp工具,同樣可以解決此問題 1、導出expdp工

Oracle 11g R2 日誌結構總結

oracle 11g 日誌Oracle從11g開始,對日誌結構做了比較大的調整,日誌存放目錄和存儲格式有都有了變化。下面總結了Oracle Database、Oracle監聽、ASM和Oracle GI各日誌的存放目錄和目錄結構。1、Oracle Database日誌Oracle Database日誌存放在$

ORACLE 11G DB RAC ORA-00257archiver error解決辦法

orcale11g rac   ora00257   處理asm磁盤空間不足問題ORA-00257archiver error解決辦法1.之前有處理單機過oracle 11.2.0.4歸檔日誌磁盤空間不足的問題 ,但是沒有處理過ORACLE RAC的歸檔日誌磁盤空間不足的問題 所以沒

oracle 11g rac dbca建庫時提示創建監聽

oracle 監聽 listener oracle rac Oracle 11g rac dbca建庫時提示創建監聽在安裝oracle 11g rac時,使用dbca建庫的過程中提示需要創建監聽:Default Listener "LISTENER" is not configured in

oracle 11g錯誤ora-01033:oracle initialization or shutdown in progress解決辦法

想要 文件 area .net total rop shutdown 一個 pro 原文出自:http://blog.csdn.net/liverliu/article/details/6410287 一、首先:問題的產生原因,先前我在f:/llh/目錄創建的一個book

自動備份Oracle 11g數據庫

str 數據庫 字段 1-1 xxx left 下午 bject log 采用Linux提供的crontab定時任務觸發器。實施過程如下: 一、使用oracle帳號登錄 二、在/home/oracle目錄下添加XXXXX.sh腳本。 內容:export ORACLE_SID

centos6 安裝oracle 11g

centos oracle一、安裝oracle所需要的軟件包(具體根據oracle官方文檔)可以使用# yum -y install binutils* compat-lib* gcc-* glibc-* ksh libgcc-* libstdc++-* libaio-* make-* sysstat*進行安

ORACLE 11G在安裝時沒有進入“口令管理"而直接按確定了、怎麽辦?

sys system b- tps ora ext tex ide 連接 運行 sqlplus /nolog在sql> connect / as sysdba連接成功後執行 sql> alter user system identified by

CentOS上oracle 11g R2數據庫安裝折騰記

現在 unknown product 密碼登錄 緩沖 libstdc 字節 虛擬機 命令 1.虛擬機上centos鏡像的獲取。這裏推薦網易鏡像站中的CentOS7版本(其他開源鏡像站亦可)。這裏給出鏈接: http://mirrors.163.com/centos/7.3.

Oracle 11g 記錄DML錯誤數據

error 創建 建表 expr nal blog eject tps exceptio [From] https://oracle-base.com/articles/10g/dml-error-logging-10gr2 需要記錄下大量DML操作中出錯的具體record

Oracle 11g Articles

ssa rac ise tag roc cal pre uic control 發現一個比較有意思的站點,http://www.oracle-base.com/articles/11g/articles-11g.php Oracle 11g Articles

Centos7.0無桌面環境上靜默安裝oracle 11g

oracle 11g centos 7 Centos7.0無桌面環境上靜默安裝oracle 11g 1 配置基礎環境1.1 創建用戶及組 groupadd oinstall #創建oinstallgroupadd dba # 創建dba組useradd -g oinstall -G d

centos 7 下面安裝oracle 11g r2 過程分享

java blog tails 方法 執行 article 訪問外網 修改 並且 本人對LINUX等很多還不熟悉,如果有不對的地方還請各位指正。謝謝。 打算學習下ORACLE,RMAN備份與還原功能,所以安裝了虛擬機,用的是centos7 X86_64-1611版本,ora