在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,