Oracle备份与恢复基础篇(二)

2014-11-24 16:18:16 · 作者: · 浏览: 4
们已经发现具体操作的相关信息。注意,这个查询可以使基于时间的也可以使基于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