在oracle 数据库 11g中,该表FLASHBACK_TRANSACTION_QUERY
提供了UNDO_SQL
SQL 反转由先前执行的特定查询所做的修改的列。
但是,我需要(已执行REDO_SQL
的原件)代替。SQL
有没有办法(使用 SQL)从oracle 闪回REDO_SQL
区域中提取信息?
正如您在文档中看到的,Oracle 闪回功能专注于数据而不是 SQL 语句。因此,您无法从闪回数据中发现语句。
相反,您可以在数据库设置中启用AUDIT功能( AUDIT_TRAIL参数),然后使用此处AUDIT
所述的语句管理审核设置。
可以使用DBA_AUDIT_TRAIL
或USER_AUDIT_TRAIL
视图访问记录的语句。
达到相同目标的另一种方法是使用DBMS_FGA
包来调整审计策略,然后参考DBA_FGA_AUDIT_TRAIL
或V$XML_AUDIT_TRAIL
获取已执行语句的列表。此选项涉及细粒度审计功能,仅适用于企业版 Oracle 数据库。
更新
抱歉最初的错误,审查审计记录的视图的真实名称是DBA_AUDIT_TRAIL
(上面更正)。
该视图可以TRANSACTIONID
与视场在字段XID
上进行连接,FLASHBACK_TRANSACTION_QUERY
以获得相应的闪回记录。
除了 Oracle 文档之外,Oracle-Base 站点上还有许多关于审计的好文章。