存储在 Oracle 数据库中执行的所有查询

Posted

技术标签:

【中文标题】存储在 Oracle 数据库中执行的所有查询【英文标题】:Store all the queries executed in Oracle Database 【发布时间】:2020-11-12 03:46:37 【问题描述】:

考虑到没有为选择查询启用审计并且我们也无法启用它,我如何将包括选择查询在内的所有查询存储在用户定义的表中。

【问题讨论】:

请您详细说明您想说什么? 为什么您无法启用 AUDIT,但您能够(允许?)发展自己的审核功能?这听起来像是另一个 x-y 问题。通过存储“包括选择查询在内的所有查询”解决的业务问题是什么?将根据这些存储的信息做出哪些决定? 无论我们在 SQL 中执行什么查询,我们都希望将其插入表中,然后创建一个日志文件并从表中删除,或者创建一个日志文件而不将其存储在表中。这是出于内部目的而不是客户的要求,因此我们无法为此启用审计。 【参考方案1】:

您可以使用选择事件处理程序来存储执行的查询。 一个处理程序可以用于多个表或视图上的选择事件,你可以做任何你喜欢的事情

【讨论】:

以上是关于存储在 Oracle 数据库中执行的所有查询的主要内容,如果未能解决你的问题,请参考以下文章

如何查询oracle数据库的操作记录?

如何查看oracle数据库中的所有表

oracle存储过程执行很慢sql很快

怎样查询oracle数据库中所有的表空间

如何让oracle job定时调用一个有参的存储过程

shell 中执行Oracle查询和执行存储过程