linux 下 Oracle 监控sysdba用户登陆

在unix平台的Oracle数据库产品中,每次当用户以sysdba权限登陆数据库时,系统就自动创建一个名为ora_.aud的文件,该文件默认在$ORACLE_HOME/rdbms/audit目录下。该文件的自动创建根本不需要系统打开审计功能。在这个文件中记录了连接的用户,终端机器的名称以及登陆时间等信息。根据这些信息,我们可以很容易地监控到是何人在何时以sysdba权限登陆数据库。下面是一个例子:
1. 首先在客户端sqlplus中以sysdba连接数据库服务器:
        SQL> conn sys@xxx as sysdba
  请输入口令:********

  已连接。


2. 查看服务器端$ORACLE_HOME/rdbms/audit目录下最新的ora_.aud文件内容:

$cd  ?/rdbms/audit
$ cat dbua0_ora_2868_1.aud


Audit file?/rdbms/audit/dbua0_ora_2868_1.aud
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /opt/oracle/11.2.0
System name:    Linux
Node name:      centos62
Release:        2.6.32-220.el6.x86_64
Version:        #1 SMP Tue Dec 6 19:48:22 GMT 2011
Machine:        x86_64
Instance name: DBUA0
Redo thread mounted by this instance: 0
Oracle process number: 0
Unix process pid: 2868, image: oracle@centos62

Wed Mar 27 20:16:13 2013 +08:00
LENGTH : '158'
ACTION :[7] 'CONNECT'
DATABASE USER:[1] '/'
PRIVILEGE :[6] 'SYSDBA'
CLIENT USER:[6] 'oracle'
CLIENT TERMINAL:[13] 'Not Available'
STATUS:[1] '0'
DBID:[0] ''


  从上面文件中的内容我们可以看到,该文件详细记录了登陆时间,执行的操作,客户端用户的名称,以及登陆服务器终端机器的名称。根据这些信息我们就很容易确定何人何时以sysdba权限登陆过数据库服务器。


 

你可能感兴趣的:(Oracle,linux)