代码改变世界

oracle-审计1

2012-03-30 09:24  java ee spring  阅读(239)  评论(0编辑  收藏  举报

一、oracle 10g审计活动概述:

1.概述
oracle 10g审计活动包括监视和记录指定的数据库活动。
oracle 10g支持四个级别的审计:
管理语句审计;
管理特权审计;
管理对象审计;
管理精细度审计;


----------------------------------------------------------------------------------------
****************************************************************************************
二、oracle 10g启用审计:
****************************************************************************************
----------------------------------------------------------------------------------------

1.启用审计
/*
audit_trail可以包含下列参数:
none:禁用数据库审计
os:设置将审计结果记录到一个操作系统文件中
DB:指出oracle将审计记录写入到数据库审计跟踪;这些审计记录将写入到SYS.AUD$表中,并借助DBA_AUDIT_TRAIL和
USER_AUDIT_TRAIL数据目录视图变的可使用。

DB,EXTENDED:指出oracle将发送所以审计记录到数据库审计跟踪到SYS.AUD$表中,除此之外填充SQLBIND和SQLTEXT CLOB列。

XML:指定数据库审计,进入OS文件的是XML格式的审计记录。

XML,EXTENDED:与XML设置相同而且还记录所有审计跟踪列包括SQLTEXT和SQLBIND。

 

当设置将审计记录写入到数据库时默认写入SYS.AUD$表,该表不能直接查询我们可以通过DBA_AUDIT_TRAIL和
USER_AUDIT_TRAIL数据目录视图查询;
当设置将审计记录写入到OS时则写入到初始化参数audit_file_dest所指定的日志文件。系统默认在
SQL> show parameters audit_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      E:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                 \ORCL\ADUMP


*/


*********************************************************************************

--1.1 启用审计并将审计结果保存到DB中


SQL> show parameters audit_trail;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      NONE
SQL> show parameters audit_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      E:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                 \ORCL\ADUMP
SQL> alter system set audit_trail=db , extended scope=spfile;

系统已更改。

 

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  599785472 bytes
Fixed Size                  1250380 bytes
Variable Size             201329588 bytes
Database Buffers          394264576 bytes
Redo Buffers                2940928 bytes
数据库装载完毕。
数据库已经打开。


SQL> show parameters audit_trail;

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------------
audit_trail                          string      DB, EXTENDED

--测试是否将审计结果保存到到数据库中
SQL> show user
USER 为 "SYS"
SQL> audit table
  2  ;

审计已成功。

SQL> conn scott/tiger
已连接。
SQL> drop table accp;

表已删除。

SQL> conn sys/password as sysdba
已连接。
SQL> select username, timestamp, action_name from dba_audit_trail
  2  where username='SCOTT';

USERNAME                       TIMESTAMP      ACTION_NAME
------------------------------ -------------- ----------------------------
SCOTT                          28-10月-08     CREATE TABLE
SCOTT                          28-10月-08     DROP TABLE

 

**************************************************************************

--1.2 启用审计并将审计结果保存到OS中
SQL> show parameters audit_trail;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB

SQL> show parameters audit_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      E:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                 \ORCL\ADUMP

SQL> alter system set audit_trail=os scope=spfile;

系统已更改。

SQL> host mkdir e:\audit

--在该目录下新建一个记事本文件1.txt


SQL> alter system set audit_file_dest='e:\audit\1.txt' scope=spfile;

系统已更改。

--如果是unix中这里路径格式就不对。


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  599785472 bytes
Fixed Size                  1250380 bytes
Variable Size             205523892 bytes
Database Buffers          390070272 bytes
Redo Buffers                2940928 bytes
数据库装载完毕。
数据库已经打开。

SQL> show parameters audit_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      E:\AUDIT\1.TXT

SQL> show parameters audit_trail;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      OS


--测试审计

SQL> audit table;

审计已成功。

SQL> show user
USER 为 "SYS"

SQL> conn scott/tiger
已连接。

SQL> drop table t01;

表已删除。


SQL> conn sys as sysdba
输入口令:
已连接。

--audit_file_dest参数主要在unix系统中设置;windows中设置不会生效,会把审计结果记录到
事件查看器中的应用程序中。