1
首先,我想要做的是写一个触发器,它会在日志表如下 -如何在Oracle中编写一个触发器来记录信息是否有CREATE,DROP,ALTER,UPDATE,DELETE被执行?
username
modification (like - CREATE ALTER DROP UPDATE DELETE)
datetime (when it happend)
如果任一下列的事情发生了 - 创建ALTER DROP,更新,删除,然后触发将记录的信息。
它甚至有可能这样做吗?
我想出了表级触发器,它将为特定表的INSERT UPDATE DELETE执行。
但是,我确实需要模式级别的所有对象。
如果没有,至少对于任何表。
请记住,如果声明ON SCHEMA,只有当某人以模式执行DDL登录时才会触发。要获取模式中的所有操作,您需要将其声明为ON DATABASE,然后检查DDL目标的模式是否正确。有关讨论在这里:http://stackoverflow.com/questions/1640317/oracle-trigger-on-schema-not-being-triggered-by-other-users-besides-the-schema-o –
这是真棒,但对于UPDATE或DELETE它不起作用。我需要记录所有这些事件-CREATE ALTER DROP UPDATE DELETE –
对于像这样的DML语句,您应该使用审计功能,因为它可以让您按对象记录这些操作。为什么不问另一个关于Oracle审计或搜索的问题? – kevinsky