天天看点

升级前必做操作创建restore point --rac环境

     在升级之前可以创建restore point ,当升级失败时,可以退回到之前创建还原点那个时刻。

单机环境创建restore point请参考;http://blog.csdn.net/zuixinnet/article/details/11635369

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工作。

创建还原点不要求数据库开启 flashback,

restore point 恢复步骤:

1、查看闪回区参数

set lines 120

col name for a30

col value for a40

show parameter db_recover

2、设置闪回恢复区参数

ALTER SYSTEM SET db_recovery_file_dest_size=10g SCOPE=BOTH;

ALTER SYSTEM SET db_recovery_file_dest='+FRA' SCOPE=BOTH;

此处fra目录必须是共享目录。

3、停止数据库

srvctl stop database  -d dbname -o immediate

4、将数据库启动到mount状态。

srvctl start database -d dbname -o mount

5、创建还原点。

create restore point upgrade_point guarantee flashback database;

6、查看还原点

select name from v$restore_point;

7、还原到之前创建的还原点

srvctl stop database  -d dbname -o immediate --停止数据库

srvctl start database -d dbname -o mount --将数据库启动到mount

flashback database to restore point upgrade_point; --还原到之前创建的restore point点

select status from gv$instance;

shutdown immediate --关闭节点二实例

alter database open resetlogs; --打开节点一数据库并重设日志,此命令必须在只有一个实例的状态下执行,否则会报

ORA-38777: database must not be started in any other instance

startup --节点二也open。

8、验证是否成功还原了。

9、drop restore point upgrade_point; --删除还原点

继续阅读