oracle 闪回事物查询,oracle 使用闪回事务查询是 视图flashback_transaction_query中列operation为unknown...

本文介绍如何在Oracle数据库中通过使用alterdatabase命令启用对DML更改引用的列值和主键值的日志记录,并展示如何执行闪回事务查询来查看具体的DML操作及其undo_sql。此外还提到了为用户授予DBMS_FLASHBACK包上的权限的方法。
摘要由CSDN通过智能技术生成

首先,使用alter

database命令,启用对DML更改引用的列值和主键值的日志记录:

SQL> alter database add

supplemental log data;

数据库已更改。

SQL> alter database add

supplemental log data (primary key) columns;

数据库已更改。

注意,只有对alter

database命令之后的DML操作在flashback_transaction_query中列operation和undo_sql才会有相应的值

SQL> update student set

snum=200605,add_col='boy in ChengDu' where sid=24;

已更新 1 行。

SQL> commit;

提交完成。

SQL> select

operation,undo_sql

2 from

flashback_transaction_query

3 where

xid=hextoraw('01001A00CE040000');

OPERATION UNDO_SQL

--------------------

----------------------------------------------------------------------

UPDATE update "SU"."STUDENT" set "SNUM" = '21', "ADD_COL" = 'null' where

ROWI

D = 'AAASU1AAEAAAAI9AAA';

BEGIN

另外补充一点,用户在执行闪回事务查询之前,必须为用户授予适当的DBMS_FLASHBACK包上的权限。

grant execute on

dbms_flashback to user;

grant select any transaction

to user;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值