Oracle中监控sysdba角色用户登陆情况,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文件中的汉字解释均为作者所加不是系统自动生成