Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87562
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 292
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-05 00:33
个人简介

干掉蝴蝶效应中的蝴蝶。。。

文章分类

全部博文(24)

文章存档

2014年(6)

2013年(18)

我的朋友

分类: Oracle

2013-08-05 23:13:59

1:停止standby备库的同步并查出需要同步的最小scn号
sql>alter database recovery managed standby cancel;
sql>set numwidth 30
sql>select min(fhscn) from x$kcvfh;
2:在主库做增量备份并创建standby控制文件
$rman target /
rman>backup incremental from scn min(fhscn) database format '/backup2/increback/forstandby_%U' tag 'forstandby';
sql>alter database create standby controlfile as '/backup2/standbyctl/control.ctl'
3:拷贝增量备份文件和standby控制文件到备库
备库$scp * /data01/increback/
备库$scp /show/parameter/control/
4:比较找出主库比备库多出的数据文件
主备库sql>select file#,name from v$datafile;
备库sql>select substr(name,1,10) from v$datafile;
5:停备库,备份拷过来的standby控制文件并替换现有的控制文件
sql>create pfile from spfile;
sql>shutdown immediate
$cp control.ctl control.ctl.standby
$cp control.ctl controlold.ctl
6:备库注释db_file_name_convert参数,使用pfile启动并修改standby_file_management为manual
sql>startup nomount pfile='/dbs/initsid.ora';
sql>alter database mount standby database;
sql>show parameter db_file_name_convert
sql>alter system set standby_file_management='MANUAL';
7:备库上创建比主库少的数据文件
sql>alter database create datafile '/primary/datafile' as '/standby/datafile';
8:停备库,使用刚开始拷过来的控制文件,使用pfile启动,开启db_file_name_convert参数
sql>shutdown immediate
$cp control.ctl.standby controlold.ctl
sql>startup nomount pfile='/dbs/initsid.ora'
sql>alter database mount standby database;
sql>show parameter db_file_name_convert;
sql>alter system set standby_file_management='AUTO';
9:备库catalog所有数据文件,包括刚创建的比主库少的数据文件、增量备份,switch,recover database
$rman target /
rman>catalog start with '/data01/data';
rman>catalog start with '/standby/datafile';
rman>catalog start with '/data01/increback';
rman>switch database to copy;
rman>recover database noredo;
10:重启备库,开启mrp进程同步
sql>recover database managed standby database disconnect from session;
11:常用检查同步情况的语句
sql>select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;
sql>select thread#,low_sequence#,high_sequence# from v$archive_gap;
sql>select process,thread#,sequence#,status from v$managed_standby;
(注意1: 若目录下存在数据文件但是catalog不上,可以使用先使用CHANGE DATAFILECOPY UNCATALOG;,然后再catalog start with试试。)
(注意2:若switch不成功,注意下主备的incarnation是否一致,主库rman>list incarnation,备库rman>reset database to incarnation num; 再switch。)
阅读(1350) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:asm extent与db extent

给主人留下些什么吧!~~