在升级之前可以创建restore point ,当升级失败时,可以退回到之前创建还原点那个时刻。
rac环境创建restore point 请参考:http://blog.csdn.net/zuixinnet/article/details/11633911
Flashback Database 和 restore points 都可以提供一个基于时间点的回滚。restore points只能恢复到一个固定的时间点,只抓去一次状态。flashback database 能恢复到开启flashback database 之后的任意一个点,不断的去写日志到fra,对性能有一定的影响。因此对于升级失败后的回退操作,最好用restore point,因为即使我们没有启用Flashback Database,那么也可以恢复到我们创建的point。
利用还原点恢复的要求:
(1) 利用还原点要求数据库处于归档模式下;
(2) 在特性仅在版本10.2之后可用;
(3) 必须保证闪回回复区flashback recovery area有足够的磁盘空间;
(4) 注意在升级后不要立即修改compatible参数,restore point无法跨越compatible工作
restore point 恢复步骤:
1、查看闪回区参数
set lines 120
col name for a30
col value for a40
show parameter db_recover
2、设置闪回恢复区参数
创建/u01/flashback 目录
ALTER SYSTEM SET db_recovery_file_dest_size=10g SCOPE=BOTH;
ALTER SYSTEM SET db_recovery_file_dest='/u01/flashback' SCOPE=BOTH;
3、停止数据库
shutdown immediate
4、将数据库启动到mount状态。
startup mount
5、创建还原点。
create restore point upgrade_point guarantee flashback database;
6、查看还原点
select name from v$restore_point;
7、还原到还原点
shutdown immediate
startup mount
flashback database to restore point upgrade_point; --还原到之前创建的restore point点
alter database open resetlogs; --打开数据库并重设日志
8、验证是否成功还原了。
9、drop restore point upgrade_point; --删除还原点