Oralce闪回功能的简单使用–回退已经提交的内容
如果可以,还是尽量避免出现提交了不该提交的内容吧。在对数据做了更改之后最好核对一下更改内容,以确认修改的有效性。
但是万一,真的把不该改的数据改掉,并且提交了,还是有办法的,Oracle有闪回–FlashBack功能。当然,闪回这种级别的操作,需要DBA权限。能闪回的时间段取决于闪回恢复区大小。
确定修改提交的时间
SELECT
T.SQL_TEXT,
T.FIRST_LOAD_TIME
FROM
V$SQLAREA T
WHERE
T.FIRST_LOAD_TIME LIKE '2021-05-12%'
ORDER BY
T.FIRST_LOAD_TIME DESC
查询提交之前的表记录,确认信息
SELECT
COLUMN1,COLUMN2...
FROM
ALTER_TABLE AS OF TIMESTAMP TO_TIMESTAMP('2021-05-12 08:00:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE
CONDITION;
启用行移动功能
ALTER TABLE ALTER_TABLE ENABLE ROW MOVEMENT;
执行闪回
FLASHBACK TABLE ALTER_TABLE TO TIMESTAMP TO_TIMESTAMP('2021-05-12 04:00:00', 'YYYY-MM-DD HH24:MI:SS');
最后,反省一下自己,虽然有闪回操作可以兜底,但是这不应该是进行了错误的修改之后盲目提交的借口。