我正在使用Oracle 11g标准版。
我想将用户正在执行的所有SQL查询记录到表中。
如何才能做到这一点?
如果您使用的是现代版本的数据库(9i或更高版本),并且您拥有企业版许可证,则可以使用细粒度审核。它使我们能够通过已定义的策略以非常低的粒度审核用户查询。
要捕获SQL文本并绑定变量,您需要在添加FGA策略时适当设置AUDIT_TRAIL参数。 了解更多。
“我使用的是11g标准,因此不支持审核功能。”
不完全是。AUDIT命令是标准Oracle构建的一部分,但是它仅允许我们在给定用户针对给定表发出SELECT时捕获。但是,是的,找出到底 是什么 ,他们正在选择需要企业版许可证。
另外,没有ON SELECT触发器,因此我们无法滚动自己的触发器。
“那么我可以在标准版中使用AUDIT命令吗?……但是一位顾问告诉我,如果不支付企业许可证,就无法使用它?”
我自己以顾问的身份发言,我不得不说那些家伙并不总是知道他们在说什么。
因此,让我们清楚一点: