triggers – 创建侦听多个表的全局触发器

我想在Oracle 11g中创建一个全局触发器.哪个可用于审计约100个表.多个表可以触发单个触发器.如果是,那么我该如何实现呢?

解决方法

I want to create a global trigger in oracle 11g,which can be used for auditing of around 100 tables

你有没有理由重新发明轮子?为什么不利用Oracle内置的审计?

Oracle Base提供了有关如何开始审计的一些基本信息:

Auditing can enabled by setting the AUDIT_TRAIL static parameter,which has the following allowed values.

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }

以下列表提供了每个设置的说明:

none or false - Auditing is disabled.
db or true - Auditing is enabled,with all audit records stored in the database audit trial (SYS.AUD$).
db,extended - As db,but the sql_BIND and sql_TEXT columns are also populated.
xml- Auditing is enabled,with all audit records stored as XML format OS files.
xml,extended - As xml,but the sql_BIND and sql_TEXT columns are also populated.
os- Auditing is enabled,with all audit records directed to the operating system's audit trail.

要启用对数据库审计跟踪的审计,请启用对数据库的审计

sql> ALTER SYstem SET audit_trail=db,extended ScopE=SPFILE;

System altered.

关机&重启db

sql> SHUTDOWN
Database closed.
Database dismounted.
ORACLE instance shut down.
sql> STARTUP
ORACLE instance started.

现在,通过用户多维数据集审核SELECTS,INSERTS,UPDATES,DELETES,执行以下操作:

CONNECT sys/password AS SYSDBA

AUDIT ALL BY cube BY ACCESS;
AUDIT SELECT TABLE,UPDATE TABLE,INSERT TABLE,DELETE TABLE BY cube BY ACCESS;

可以通过查询DBA_AUDIT_TRAIL来启动审计日志

进一步阅读:

> Auditing
> Fine grained auditing
> Configuring and administering auditing

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...