audit命令对系统表作了些什莫操作?

[复制链接]
查看11 | 回复4 | 2015-3-6 11:57:31 | 显示全部楼层 |阅读模式
近日正在学习审计相关的知识,以下是一点理解,不知对否,恳请各位指点:
从方案对象审计选项视图DBA_OBJ_AUDIT_OPTS的脚本可以看出,如果要对某张表进行审计,可以通过修改tab$表的audit$列的值达到对相应表的审计控制,达到与“audit all on 表名 by access”命令相同的效果,因此可以创建一系统触发器,在某个用户登录时触发修改tab$的值以开通审计功能,记录下该用户对另一用户下的某张表的所有操作。
可是还有个问题就是,这样是开通了在某一张表上的审计功能,会纪录所有用户在该表上的操作信息,这样一来,恐怕会对系统资源有比较显著的消耗。请问各位,如何控制,以使得审计只针对某个用户在某张表上的操作,而不是所有用户对该表的操作?
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
which document you are reading?
http://download-west.oracle.com/ ... 17/a76956/audit.htm
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
上面的链接文档我看了,但还是不能够解决我的问题。另外,我后来的测试证明我上面的理解不对,当我对DBA_OBJ_AUDIT_OPTS的audit#值修改了之后,竟然对审计的功能没有任何影响。真的不知道这个audit/noaudit命令对系统还作了其他什莫操作,请高手指点。
感激不尽!!!
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
还有就是经过测试发现,不能在触发器中执行audit/noaudit all on tab1 by access;这条语句(否则就不会想要通过修改相关系统表的值来达到开启/关闭审计的目的),而我就想建立一个系统级触发器,当某个用户登录时,开启审计功能,其登出时,关掉审计功能,就只对该用户的操作进行审计,这样就可以把审计对系统的影响降低,毕竟被审计的用户是不经常登入系统的,但其任何操作被记录下来。
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
Object auditing是对所的用户都要审计的;
Statement Auditing可以加 by user参数,是否可以换成 这种方式来实现呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行