Oracle 8x中監控sysdba角色使用者登陸情況(轉)

gugu99發表於2007-08-13
Oracle 8x中監控sysdba角色使用者登陸情況(轉)[@more@]

  在Oracle 8i版本之前,使用internal使用者來執行資料庫的啟動和關閉以及create database等操作;從8i版本以後,Oracle已經逐漸淘汰了internal使用者,採用授與sysdba或者sysoper角色的使用者才可以執行資料庫的啟動和關閉等操作,為保持使用者習慣在8i中依舊保留了internal使用者和svrmgrl,但已完全可以不使用svrmgrl工具和internal使用者了。最新發布的oracle 9i已經完全淘汰了svrmgrl工具和internal使用者。由於具有角色sysdba的使用者許可權很大,可以執行資料庫的啟動和關閉等操作,所以要對具有這些角色的使用者進行監控

  在unix平臺的Oracle資料庫產品中,每次當使用者以sysdba許可權登陸資料庫時,系統就自動建立一個名為ora_.aud的檔案,該檔案預設在$ORACLE_HOME/rdbms/audit目錄下。該檔案的自動建立根本不需要系統開啟審計功能。在這個檔案中記錄了連線的使用者,終端機器的名稱以及登陸時間等資訊。根據這些資訊,我們可以很容易地監控到是何人在何時以sysdba許可權登陸資料庫。下面是一個例子:

  1. 首先在客戶端sqlplus中以sysdba連線資料庫伺服器:

  SQL> conn sys@gs1 as sysdba

  請輸入口令:********

  已連線。

  2. 檢視伺服器端$ORACLE_HOME/rdbms/audit目錄下最新的ora_.aud檔案內容:

  nbtax1> cat ora_589980.audAudit file /ora1/oracle/app/product/8.1.6/rdbms/audit/ora_589980.audOracle8i Enterprise Edition Release 8.1.6.3.0 - ProductionWith the Partitioning and Parallel Server optionsJServer Release 8.1.6.3.0 - ProductionORACLE_HOME = /ora1/oracle/app/product/8.1.6System name: OSF1 -- 系統名稱Node name: nbtax1 -- 節點名稱Release: V5.1 -- 作業系統版本號Version: 732Machine: alpha -- 伺服器名稱Instance name: nbgs1 -- 例項名稱Redo thread mounted by this instance: 1Oracle process number: 247 -- Oracle 程式號Unix process pid: 589980, image: oracle@nbtax1 (TNS V1-V3)Fri Sep 21 10:26:57 2001 -- 登陸時間ACTION : 'connect internal' OSPRIV : DBA -- 執行何種操作CLIENT USER: Administrator -- 客戶端使用者名稱稱CLIENT TERMINAL: XIAOFEISHI -- 客戶端終端名稱

  從上面檔案中的內容我們可以看到,該檔案詳細記錄了登陸時間,執行的操作,客戶端使用者的名稱,以及登陸伺服器終端機器的名稱。根據這些資訊我們就很容易確定何人何時以sysdba許可權登陸過資料庫伺服器。注意ora_589980.aud檔案中的漢字解釋均為作者所加,不是系統自動生成。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-954170/,如需轉載,請註明出處,否則將追究法律責任。

相關文章