萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle 8x中監控sysdba角色用戶登陸情況

Oracle 8x中監控sysdba角色用戶登陸情況

在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.aud
Audit file /ora1/oracle/app/product/8.1.6/rdbms/audit/ora_589980.aud
Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production
With the Partitioning and Parallel Server options
JServer Release 8.1.6.3.0 - Production
ORACLE_HOME = /ora1/oracle/app/product/8.1.6
System name: OSF1 -- 系統名稱
Node name: nbtax1 -- 節點名稱
Release: V5.1 -- 操作系統版本號
Version: 732
Machine: alpha -- 服務器名稱
Instance name: nbgs1 -- 實例名稱
Redo thread mounted by this instance: 1
Oracle 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文件中的漢字解釋均為作者所加,不是系統自動生成。

copyright © 萬盛學電腦網 all rights reserved