您好,欢迎访问一九零五行业门户网

Oracle 备份恢复概要介绍

备份恢复是oracle的一门重要技术,当然大家最好都不需要用到这门技术,就像大家最好都不需要去医院。 在打开数据库的时候,oracl
备份恢复是oracle的一门重要技术,当然大家最好都不需要用到这门技术,就像大家最好都不需要去医院。
在打开数据库的时候,oracle会对控制文件和数据文件头的检查点进行比对:
1.检查数据文件头的checkpoint cnt与控制文件中的checkpoint cnt是否一致,如果一致,那么进行第二次检查
2.检查数据文件头开始的scn和控制文件中结束的scn进行比较,如果一致,那么不需要进行恢复,但是如果不一致,比如突然断电,控制文件还没有
来得及记录数据文件的结束的scn,所以这里的第二步就无法通过。
当然一切备份其实都是为了更快的恢复,所以在制定备份策略,就要兼顾到很多方面
下备份的分类:
类型分类:
逻辑备份和物理备份
数据库状态:
热备和冷备
备份的状态:
一致性备份和非一致性备份
备份规模:
完全备份(归档和非归档),表空间备份,数据文件备份,控制文件备份,归档日志文件备份
恢复的分类:
实例恢复,介质恢复
恢复方式:
完全恢复和不完全恢复
常见的备份恢复技术:
1.用户管理备份和恢复
2.rman备份和恢复
3.闪回
4.逻辑导入导出,exp/imp expdp/empdp
5.data guard,当然dg是容灾用的,说到底其实还是备份
今天把最简单的一种技术介绍一下,算开个头
闪回查询:
这个特性其实要归功与undo,,闪回查询其实就是查询的undo操作过的数据,所以如果操作过的数据如果不在undo里了,那么肯定无法闪回查询。
举例:比如一个update的操作,操作后,会在undo里构造update之前要操作的数据,所以立即使用闪回查询可以查到,当然如果你的update是误操作,就可以闪回
但是如果undo已经覆盖了操作的数据,那么无法闪回。大家都知道undo是根据一定的参数,有一个undo数据的保留时间,过了这个时间当然会被覆盖掉。
闪回查询支持的类型:
1.基于scn的闪回查询(as of scn)
2.基于时间的闪回查询(as of timestamp)
基于scn的闪回查询实例:
sql> create table flash_table_scn as select * from dba_objects where rownum
table created.
sql> select count(*) from flash_table_scn;
count(*)
--------------------------------------------------
1000
sql> select dbms_flashback.get_system_change_number from dual;
get_system_change_number
--------------------------------------------------
122693324625
sql> delete from flash_table_scn;
1000 rows deleted.
sql> commit;
commit complete.
sql> select count(*) from  flash_table_scn as of scn 122693324625;
count(*)
--------------------------------------------------
1000
as of timestamp还是转换为as of scn的
sql> select timestamp_to_scn(sysdate) from dual;
timestamp_to_scn(sysdate)
--------------------------------------------------
122693325694
sql> select to_char(scn_to_timestamp(122693325694),'yyyy-mm-dd hh24:mi:ss') from dual;
to_char(scn_to_timestamp(12269
---------------------------------------------------------------------------
2013-04-15 17:21:56
能转换是因为smon_scn_time此表,这里记录了时间和scn的对应数据,所以如果这张表没有对应的,那么是无法转换的。
闪回技术用起来很方便,这里还可以闪回database,table这些技术将在接下的继续。 见
其它类似信息

推荐信息