Oracle备份与恢复基础篇(二)
们已经发现具体操作的相关信息。注意,这个查询可以使基于时间的也可以使基于scn的。Starttime代表一行记录被执行时的时间,endtime代表被替代的时间。另外,我们还可以基于一段时间或是scn进行查询。当然了,这个功能也是受限于undo表空间的设置的。
四) flashbackversion query
通过flash query可以看出它只能看到某个时间点的操作变化,那么flashback version query就是在一个时间段内的操作变化。如:
Selectempno,versions_operation,versions_starttime,versions_endtime,versions_xid fromtest9 versions between timestamp minvalue and maxvalue;
另外注意ORA_ROWSCN伪劣的相关内容。当每次修改需要记录ORA_ROWSCN时可以在创建表时,使用rowdependencies.
五) flashbacktransaction query
同样该功能的实现都需要使用undo。那么该功能就是依赖于一个flashback_transaction_query这个视图,然后进行事务的修改。
我的操作如下:
SQL>select * from test9;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
-------------------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7777 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
SQL>update test9 set empno=3333 where empno=7369;
已更新 1 行。
SQL>commit;
提交完成。
SQL>select versions_operation,versions_xid from test9 versions between timestampminvalue and maxvalue; VVERSIONS_XID ----------------- U05001600200E0000 I 05001A001E0E0000 SQL>select xid,undo_sql from flashback_transaction_query wherexid='05001600200E0000'; XID ---------------- UNDO_SQL -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 05001600200E0000 update"SCOTT"."TEST9" set "EMPNO" = '7369' where ROWID= 'AAASE1AAEAAAABeAAA'; 05001600200E0000 SQL>
然后我们就可以给予某个事务进行撤销恢复了。
六) flashbackdatabase
flashbackdatabase 与其他flashback操作有所不同,那么flashbackdatabase是基于flashback log的,我们可以通过使用flashback日志把整个
数据库闪回到以前一个状态,注意:此过程中需要涉及到数据库重启操作。那么我们可以通过配置相关参数然后启动此项功能。默认是被关闭的,在开启此功能后会在后台进程增加一个rvwr日志写入进程。注意;此项功能是需要启动数据库归档模式。
操作如下;关闭此功能如下:
开启此功能如下:
另外我们也可以再告警日志中查看到如下信息:
db_recovery_file_dest_size of 5120 MB is 43.82% used.
看出我们的区用了43.82%。当达到峰值时,需要使用rman进行删除。
以下是操作:
另外还有db_flashback_retention_target参数。
常用的视图有:
V$flashback_recovery_area_usage、v$database、v$flashback_database_log、v$flashback_database_logfile、v$flashback_database_stat