Ⅰ 审计局如何审计数据库
第一节 电子数据的获取 审计人员采用审计软件进行审计,须先取会计电子数据。如何取得电子数据,应根据不同的网络环境和工作平台,采取不同的方式来处理。 1 、确定客户是单机还是网络型数据库。客户使用的是单机或网络数据库是由客户所使用的会计软件所决定,会计软件有单机版和网络版之分,一般来讲大中型企业,应用网络版较多,中小企业使用单机版较多,审计人员可以通过询问了解,确定该客户使用会计软件是单机版还是网络版。 2 、确认客户的工作平台。工作平台一般有三种,常见平台有:第一种 DOS 环境,第二种 WINDOWS 系列,第三种 UNIX 系统。 3 、会计数据库指定。 DOS 或 WINDOWS 环境下的单机版,首先找到数据库文件,确定数据库文件名,将该文件拷贝到审计工作区即可。如何找到数据库文件呢?一般来讲,单机数据库是以文件形式存的,确定该文件的位置,将其拷贝至审计工作区即完成会计数据的指定。 方法一:根据数据库的后缀可确定数据库的类型,如,后缀和数据库类型对照如下表。 后缀名 数据库类型 DBF DBASE 或 FOXPRO DB PARADOX , SYBASE 单机版 MDB ACCESS TXT 文本类型 方法二:审计人员也可以通过输入几张凭证来查找出存放会计数据的数据库,有可能根据文件更新的时间来确定数据库。 方法三:主要通过和会计人员交谈,来确定数据库的位置,也可通过询问软件公司或软件设计人员来确定其位置。 4 、网络型数据的获取数据方法。 方法一:通过 ODBC 连接,用数据库所提供的终端驱动来直接连接至数据库,读取数据。 用友V-8.0 采集 .doc 方法二:大型数据库一般具有输出成其它数据库格式的功能,能将所需数据表转换为其它数据库格式文件。 如: SQLSEVER 中输出数据的功能项为 Import and Export Data 执行 , 待出现 Data transformation Servies Wizard .第一, Source 选择界面中最底行 database 选所要访问的数据库。第二, . 执行下一步会出现 Destination 界面与 Source 界面相似。只是 Destination 数据而已。选择所导出的数据库类型。注:若选择 Access 等需是已建立的空库如 DB1.MDB .随后一步步执行即可。 Sqlserver 数据库导出介绍 .doc 5 、 UNIX 操作系统下数据库的利用。装有 WINDOWS 终端时或可装 WINDOWSNT 终端,通过数据库所提供的终端驱动来直接连接至数据库,读取数据。转成单机数据库,首先在该 UNIX 操作系统下将数据转换成单机数据库。然后,在 UNIX 操作系统下可用命令 ‘ DOSCOPY ' 或’ DSCOPY '来将数据拷贝成 DOS 文件格式。 第二节 数据获取案例 一。数据获取举例: 1 . 用友 6 用友V6 采集 .doc 2 . 用友 7 3 . 用友 8 用友V-8.0 采集 .doc Sqlserver 数据库导出介绍 .doc 4 . 金蝶 6 5 . 金蝶 8 类似用友 8 6 . 天翼。软件本身有 exchange.exe, 可将数据导出为 DBF 型 数据。 7 . 邮政。软件本身有导出为 DBF 数据库的功能。 8 . 远光, SQLSEVER 数据库。 9 . 金算盘 , 单机板数据库为 ACCESS 型 *.mdb, 口令为“ gold ”。网络版本为 Oracle 输出为文本文件。 10 . 安易财务软件单机版为 DBASE ,网络版为 SQLSEVER . 11 . 以浪潮软件为例,在软件中有数据导出功能,可将帐务数据导出为文本文件。 12 . 通用财务软件为 ACCESS97 数据库 , 但其数据文件后缀为 ,*.DB 其它各类软件,不外乎以下各类数据库,现归纳如下。 第三节 各类数据库导数方法 1. Access ACCESS 数据的导入 .doc 1)。 导入其它数据库 2 )导入文本文件 3 ) ODBC 导入 2. Execl 如何运用 EXCEL 读取文本文件 .doc 1 )打开 DBASE 文件 2 )导入文本文件 3. SQLSEVER 4. Oracle 1) ODBC 设置ODBC 用 ACCESS 导出较为常用 , 参见 ACCESS 数据导入。 2) 文本文件 由系统管理员用 SQLPLUS 引出数据为文本文件。 5. Sybase 1 ) ODBC 2 ) 导出为文本文件如,浪潮软件系列。 6. Db2 1 ) ODBC 2 )文本文件 7. BDE 第四节 数据转移方法 1 . 软盘。压缩工具 rar 、 zip 、 arj 等工具。在光盘工具目录下有各压缩工具。 1) 在 windows 环境下推荐使用 winzip,rar 来压缩和解压,要求在客户机上能使用 winzip 或 rar .审计人员应掌握以上软件的用法,特别是文件较大时,压缩至多张盘的用法。选项中注意明确文件名为长文件名,文件类型为 win95/98, 多张盘压缩时可直接压缩至 A 盘。 2) 用软件拷贝,如, dos 环境下可用 ARJ 先将数据压缩成一张软盘大小可容纳的文件,然后拷贝至软盘。具体操作命令: ARJ a test *.* 解释:将该目录下所有文件压缩至 test.arj (压缩好的文件名) . 若数据较大,需压缩至多张软盘,具体操作命令: ARJ a – r – v1440 test *.* 解释:将该目录下的所有文件,包括下级目录下的文件,压缩至 test.arj, test.a01, …。然后将压缩好的文件 test.arj, test.a01, …分别拷贝至软盘。 解压命令为: ARJ x test.arj 多张盘解压命令为: ARJ x – vv test.arj . 2 .双机互连线,前提是双机须有网卡 , 用特制网线连接,双机域名,工作组名相同,双机可看见,若看不见,须互相查找以传递数据。特制网线的制作和一般网线稍有不同, A 机的端口中的第 1 和 2 根线对应 B 机的第 3 和 6 根线,同样 B 机的第 1 和 2 根线对应 A 机的第 3 和 6 根线。 3 . 网络传送。将该机设为网络终端,以终端身份访问网络中的服务器或其它机器。 4 . 优盘。大小为 32M , 64M , 128M . 5 . USB 连线。须安装驱动程序。 6 . 移动硬盘。 取得会计电子数据后,即可对其进行审计分析相关热词:审计人员获取审计数据
Ⅱ 如何开启数据库里某USER所有表的审计
您好,不知道你的数据库是什么?
Oracle的审计是放到AUD$表里面,需要sys权限。
查询审计:
select * from sys.aud$;
select returncode, action#, userid, userhost, terminal,timestamp from aud$。
SYS.AUD$ 是唯一保留审计结果的表。其它的都是视图。
STMT_AUDIT_OPTION_MAP 包含有关审计选项类型代码的信息由SQL.BSQ 脚本在CREATEDATABASE 的时候创建
AUDIT_ACTIONS 包含对审计跟踪动作类型代码的说明
ALL_DEF_AUDIT_OPTS 包含默认对象审计选项。当创建对象时将应用这些选项
DBA_STMT_AUDIT_OPTS 描述由用户设置的跨系统的当前系统审计选项
DBA_PRIV_AUDIT_OPTS 描述由用户正在审计的跨系统的当前系统权限
DBA_OBJ_AUDIT_OPTS 描述在所有对象上的审计选项
USER_OBJ_AUDIT_OPTS USER 视图描述当前用户拥有的所有对象上的审计选项
以下是审计记录
DBA_AUDIT_TRAIL 列出所有审计跟踪条目
USER_AUDIT_TRAIL USER视图显示与当前用户有关的审计跟踪条目
DBA_AUDIT_OBJECT 包含系统中所有对象的审计跟踪记录
USER_AUDIT_ OBJECT USER 视图列出一些审计跟踪记录而这些记录涉及当前用户可以访问的对象的语句
DBA_AUDIT_SESSION 列出涉及CONNECT 和DISCONNECT 的所有审计跟踪记录
USER_AUDIT_ SESSION USER视图列出涉及当前用户的CONNECT 和DISCONNECT 的所有审计跟踪记录
DBA_AUDIT_STATEMENT 列出涉及数据库全部的GRANT REVOKE AUDIT NOAUDIT 和ALTER SYSTEM 语句的审计跟踪记录
USER_ AUDIT_ STATEMENT 对于USER 视图来说这些语句应是用户发布的
DBA_AUDIT_EXISTS 列出BY AUDIT NOT EXISTS 产生的审计跟踪条目
下面的视图用于细粒度审计
DBA_AUDIT_POLICIES 显示系统上的所有审计策略
DBA_FGA_AUDIT_TRAIL 列出基于值的审计的审计跟踪记录。
Ⅲ 如何实现MySQL数据库使用情况的审计
mysql的审计功能
mysql服务器自身没有提供审计功能,但是我们可以使用init-connect + binlog的方法进行mysql的操作审计。由于mysql binlog记录了所有对数据库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细用户信息。在后期审计进行行为追踪时,根据binlog记录的行为及对应的connection-id 结合 之前连接日志记录 进行分析,得出最后的结论。
1. 设置init-connect
1.1 创建用于存放连接日志的数据库和表
create database accesslog;
CREATE TABLE accesslog.accesslog (`id` int(11) primary key auto_increment, `time` timestamp, `localname` varchar(30), `matchname` varchar(30))
1.2 创建用户权限
可用现成的root用户用于信息的读取
grant select on accesslog.* to root;
如果存在具有to *.* 权限的用户需要进行限制。
这里还需要注意用户必须对accesslog表具有insert权限
grant select on accesslog.* to user@’%’;
1.3 设置init-connect
在[mysqld]下添加以下设置:
init-connect=’insertinto accesslog.accesslog(id, time, localname, matchname)
values(connection_id(),now(),user(),current_user());’
------注意user()和current_user()的区别
log-bin=xxx
这里必须开启binlog
1.4 重启数据库生效
shell> /etc/init.d/mysql restart
2. 记录追踪
2.1 thread_id确认
可以用以下语句定位语句执行人
Tencent:~ # mysqlbinlog --start-datetime='2011-01-26 16:00:00'
--stop-datetime='2011-01-26 17:00:00' /var/lib/mysql/mysql-bin.000010
| grep -B 5 'wsj'
COMMIT/*!*/;
# at 767
#110126 16:16:43 server id 1 end_log_pos 872 Query thread_id=19 exec_time=0 error_code=0
use test/*!*/;
SET TIMESTAMP=1296029803/*!*/;
create table wsj(id int unsigned not null)
--
BEGIN
/*!*/;
# at 940
#110126 16:16:57 server id 1 end_log_pos 1033 Query thread_id=19 exec_time=0 error_code=0
SET TIMESTAMP=1296029817/*!*/;
insert into wsj(id) values (1)
--
BEGIN
/*!*/;
# at 1128
#110126 16:16:58 server id 1 end_log_pos 1221 Query thread_id=19 exec_time=0 error_code=0
SET TIMESTAMP=1296029818/*!*/;
insert into wsj(id) values (2)
2.2 用户确认
thread_id 确认以后,找到元凶就只是一条sql语句的问题了。
mysql> select * from accesslog where id=19;
+----+---------------------+---------------------+-----------+
| id | time | localname | matchname |
+----+---------------------+---------------------+-----------+
| 19 | 2011-01-26 16:15:54 | [email protected] | test@% |
+----+---------------------+---------------------+-----------+
1 row in set (0.00 sec)
3. Q
Q:使用init-connect会影响服务器性能吗?
A:理论上,只会在用户每次连接时往数据库里插入一条记录,不会对数据库产生很大影响。除非连接频率非常高(当然,这个时候需要注意的就是如何进行连接复用和控制,而非是不是要用这种方法的问题了)---如果采用长连接并且缓存的话,可以提高性能
Q:access-log表如何维护?
A: 由于是一个log系统,推荐使用archive存储引擎,有利于数据厄压缩存放。如果数据库连接数量很大的话,建议一定时间做一次数据导出,然后清表。
Q:表有其他用途么?
A:有!access-log表当然不只用于审计,当然也可以用于对于数据库连接的情况进行数据分析,例如每日连接数分布图等等,只有想不到没有做不到。---可以用来测试读写分离,验证负载均衡等
Q:会有遗漏的记录吗?
A:会的,init-connect 是不会在super用户登录时执行的。所以access-log里不会有数据库超级用户的记录,这也是为什么我们不主张多个超级用户,并且多人使用的原因。--这种审计不会记录root等具有super权限的账号对数据库的访问
Ⅳ 皓迪数据库审计系统怎么用
1、首先需要打开浏览器搜索皓迪数据首含库审计系统使用教程。
2、其次打开需要进者州笑行使用的系统和程序。
3、其次根据教程指示进行操作即可。迹游
Ⅳ 如何启用数据库审计功能,记录对数据库进行插入、修改、删除等操作的信息。
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
输入口令:
已连接
Ⅵ 什么是数据库审计系统有哪些功能
数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。推荐你了解一下安华金和数据库安全审计系统,一家专业做数据安全的企业。还不明白自己网络下。
Ⅶ 如何开启sqlserver2008数据库审计功能
SQLSERVER2008新增的审核功能
在sqlserver2008新增了审核功能,可以对服务器级别和数据库级别的操作进行审核/审计,事实上,事件通知、更改跟踪、变更数据捕获(CDC)
都不是用来做审计的,只是某些人乱用这些功能,也正因为乱用这些功能导致踩坑
事件通知:性能跟踪
更改跟踪:用Sync Services来构建偶尔连接的系统
变更数据捕获(CDC):数据仓库的ETL 中的数据抽取(背后使用logreader)
而审核是SQLSERVER专门针对数据库安全的进行的审核,记住,他是专门的!
我们看一下审核的使用方法
审核对象
步骤一:创建审核对象,审核对象是跟保存路径关联的,所以如果你需要把审核操作日志保存到不同的路径就需要创建不同的审核对象
我们把审核操作日志保存在文件系统里,在创建之前我们还要在相关路径先创建好保存的文件夹,我们在D盘先创建sqlaudits文件夹,然后执行下面语句
--创建审核对象之前需要切换到master数据库
USE [master]
GO
CREATE SERVER AUDIT MyFileAudit TO FILE(FILEPATH='D:\sqlaudits') --这里指定文件夹不能指定文件,生成文件都会保存在这个文件夹
GO
实际上,我们在创建审核对象的同时可以指定审核选项,下面是相关脚本
把日志放在磁盘的好处是可以使用新增的TVF:sys.[fn_get_audit_file] 来过滤和排序审核数据,如果把审核数据保存在Windows 事件日志里查询起来非常麻烦
USE [master]
GO
CREATE SERVER AUDIT MyFileAudit TO FILE(
FILEPATH='D:\sqlaudits',
MAXSIZE=4GB,
MAX_ROLLOVER_FILES=6)
WITH (
ON_FAILURE=CONTINUE,
QUEUE_DELAY=1000);
ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)
MAXSIZE:指明每个审核日志文件的最大大小是4GB
MAX_ROLLOVER_FILES:指明滚动文件数目,类似于SQL ERRORLOG,达到多少个文件之后删除前面的历史文件,这里是6个文件
ON_FAILURE:指明当审核数据发生错误时的操作,这里是继续进行审核,如果指定shutdown,那么将会shutdown整个实例
queue_delay:指明审核数据写入的延迟时间,这里是1秒,最小值也是1秒,如果指定0表示是实时写入,当然性能也有一些影响
STATE:指明启动审核功能,STATE这个选项不能跟其他选项共用,所以只能单独一句
在修改审核选项的时候,需要先禁用审核,再开启审核
ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)
ALTER SERVER AUDIT MyFileAudit WITH(QUEUE_DELAY =1000)
ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)
审核规范
在SQLSERVER审核里面有审核规范的概念,一个审核对象只能绑定一个审核规范,而一个审核规范可以绑定到多个审核对象
我们来看一下脚本
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
CREATE SERVER AUDIT MyAppAudit TO APPLICATION_LOG
GO
ALTER SERVER AUDIT MyAppAudit WITH(STATE =ON)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)
GO
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyAppAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
我们创建一个服务器级别的审核规范CaptureLoginsToFile,然后再创建多一个审核对象MyAppAudit ,这个审核对象会把审核日志保存到Windows事件日志的应用程序日志里
我们禁用审核规范CaptureLoginsToFile,修改审核规范CaptureLoginsToFile属于审核对象MyAppAudit ,修改成功
而如果要把多个审核规范绑定到同一个审核对象则会报错
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileA
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileB
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
--消息 33230,级别 16,状态 1,第 86 行
--审核 'MyFileAudit' 的审核规范已经存在。
这里要说一下 :审核对象和审核规范的修改 ,无论是审核对象还是审核规范,在修改他们的相关参数之前,他必须要先禁用,后修改,再启用
--禁用审核对象
ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)
--禁用服务器级审核规范
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)
GO
--禁用数据库级审核规范
ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=OFF)
GO
--相关修改选项操作
--启用审核对象
ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)
--启用服务器级审核规范
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=ON)
GO
--启用数据库级审核规范
ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=ON)
GO
审核服务器级别事件
审核服务级别事件,我们一般用得最多的就是审核登录失败的事件,下面的脚本就是审核登录成功事件和登录失败事件
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
修改审核规范
--跟审核对象一样,更改审核规范时必须将其禁用
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =OFF)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile
ADD (login_change_password_gourp),
DROP (successful_login_group)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =ON)
GO
审核操作组
每个审核操作组对应一种操作,在SQLSERVER2008里一共有35个操作组,包括备份和还原操作,数据库所有权的更改,从服务器和数据库角色中添加或删除登录用户
添加审核操作组的只需在审核规范里使用ADD,下面语句添加了登录用户修改密码操作的操作组
ADD (login_change_password_gourp)
这里说一下服务器审核的内部实际上使用的是SQL2008新增的扩展事件里面的其中一个package:SecAudit package,当然他内部也是使用扩展事件来收集服务器信息
审核数据库级别事件
数据库审核规范存在于他们的数据库中,不能审核tempdb中的数据库操作
CREATE DATABASE AUDIT SPECIFICATION和ALTER DATABASE AUDIT SPECIFICATION
工作方式跟服务器审核规范一样
在SQLSERVER2008里一共有15个数据库级别的操作组
7个数据库级别的审核操作是:select ,insert,update,delete,execute,receive,references
相关脚本如下:
--创建审核对象
USE [master]
GO
CREATE SERVER AUDIT MyDBFileAudit TO FILE(FILEPATH='D:\sqldbaudits')
GO
ALTER SERVER AUDIT MyDBFileAudit WITH (STATE=ON)
GO
--创建数据库级别审核规范
USE [sss]
GO
CREATE DATABASE AUDIT SPECIFICATION CaptureDBActionToEventLog
FOR SERVER AUDIT MyDBFileAudit
ADD (database_object_change_group),
ADD (SELECT ,INSERT,UPDATE,DELETE ON schema::dbo BY PUBLIC)
WITH (STATE =ON)
我们先在D盘创建sqldbaudits文件夹
第一个操作组对数据库中所有对象的DDL语句create,alter,drop等进行记录
第二个语句监视由任何public用户(也就是所有用户)对dbo架构的任何对象所做的DML操作
创建完毕之后可以在SSMS里看到相关的审核
Ⅷ 如何开启和关闭oracle数据库中的审计功能
在oracle11g中,数据库的审计功能是默认开启的(这和oracle10g的不一样,10g默认是关闭的),
oracle11gr2的官方文档上写的是错的,当上说default是none,而且是审计到db级别的,这样就会
往aud$表里记录统计信息。
1.如果审计不是必须的,可以关掉审计功能;
sql>
show
parameter
audit_trail;
name
type
value
------------------------------------
-----------
------------------------------
audit_trail
string
db
sql>
alter
system
set
audit_trail=none
scope=spfile;
sql>
shut
immediate;
sql>startup
2.删除已有的审计信息
可以直接truncate表aud$,
truncate
table
sys.aud$;
3.或者将aud$表移到另外一个表空间下,以减少system表空间的压力和被撑爆的风险。
附:11g中有关audit_trail参数的设置说明:
audit_trail
property
description
parameter
type
string
syntax
audit_trail
=
{
none
|
os
|
db
[,
extended]
|
xml
[,
extended]
}
default
value
none
modifiable
no
basic
no
audit_trail
enables
or
disables
database
auditing.
values:
none
disables
standard
auditing.
this
value
is
the
default
if
the
audit_trail
parameter
was
not
set
in
the
initialization
parameter
file
or
if
you
created
the
database
using
a
method
other
than
database
configuration
assistant.
if
you
created
the
database
using
database
configuration
assistant,
then
the
default
is
db.
os
directs
all
audit
records
to
an
operating
system
file.
oracle
recommends
that
you
use
the
os
setting,
particularly
if
you
are
using
an
ultra-secure
database
configuration.
db
directs
audit
records
to
the
database
audit
trail
(the
sys.aud$
table),
except
for
records
that
are
always
written
to
the
operating
system
audit
trail.
use
this
setting
for
a
general
database
for
manageability.
if
the
database
was
started
in
read-only
mode
with
audit_trail
set
to
db,
then
oracle
database
internally
sets
audit_trail
to
os.
check
the
alert
log
for
details.
db,
extended
performs
all
actions
of
audit_trail=db,
and
also
populates
the
sql
bind
and
sql
text
clob-type
columns
of
the
sys.aud$
table,
when
available.
these
two
columns
are
populated
only
when
this
parameter
is
specified.
if
the
database
was
started
in
read-only
mode
with
audit_trail
set
to
db,
extended,
then
oracle
database
internally
sets
audit_trail
to
os.
check
the
alert
log
for
details.
xml
writes
to
the
operating
system
audit
record
file
in
xml
format.
records
all
elements
of
the
auditrecord
node
except
sql_text
and
sql_bind
to
the
operating
system
xml
audit
file.
xml,
extended
performs
all
actions
of
audit_trail=xml,
and
populates
the
sql
bind
and
sql
text
clob-type
columns
of
the
sys.aud$
table,
wherever
possible.
these
columns
are
populated
only
when
this
parameter
is
specified.
you
can
use
the
sql
audit
statement
to
set
auditing
options
regardless
of
the
setting
of
this
parameter.