数据库环境:RAC数据库两个NODE,node1 instance_name='NBSMT1', node2 instance_name='NBSMT2',使用的是ocfs2的聚簇文件系统实现共享,rac已经切换为归档模式。oracle数据库版本为10.2.0.1 for x86-64。
目标:为该数据库在一台机器上创建物理的STANDBY DB。
初期准备工作:在第三台机器上安装相同版本的操作系统和oracle数据库软件。并划分和primary db相似的目录结构。
步骤
1 在PRIMARY DB 的一个node上执行 sql>alter database force logging; 防止某些操作如create index等使用nologging选项以至产生日志不完全造成standby db无法同步。
2check主库是否使用了密码文件, 如果没有,必须创建一个。同时在备库创建密码文件,主库和备库的sys用户密码必须相同。
1 先对primary db执行RMAN全备到一个指定的目录
rman target '/ '
>backup device type disk format='/opt/oracle/stage/%u' database plus archivelog;
备份控制文件
>backup device type disk format='/opt/oracle/stage/%u' current controlfile for standby;
同样也可以在sqlplus中执行以下语句
alter database create standby controlfiles as '/u01/app/standby.ctl';
然后将监听文件,TNSNAMES.ora文件,pfile文件拷贝到该目录下
2在 standby主机上建同样的文件夹,并将primary db该目录的所有文件拷贝到standby主机。
3修改tnsnames.ora文件,使得primary的tnsnames包含所有standby的服务,而standby的tnsnames.ora文件也包含所有primary主机的服务。
4修改pfile.ora文件,修改一些参数。具体有
1聚簇参数
如 将cluster_database=true 改为*.cluster_database=false.
rac1.instance_name=rac1
rac2.instance_name=rac2改为*.instance_name=STANDBY
db_unique_name修改为STANDBY
2与dataguard相关的参数
*.fal_server=PRIMARY
*.db_log_config='dg_config=(PRIMARY,STANDBY)'
*.db_file_name_convert='PRIMARY','STANDBY','/A01/oradata/PRIMARY/','/A01/oradatA/STANDBY/'
*.log_file_name_convert='/A01/oradata/PRIMARY/','/A01/oradata/SECOND/'
*.control_files='/A01/oradata/STANDBY/conctl01.ctl','/A01/oradata/STANDBY/conctl02.ctl','/A01/oradata/STANDBY/conctl03.ctl'
*.STANDBY_FILE_MANAGEMENT=AUTO
5修改完pfile.ora文件后,在从库创建spfile文件,并start up nomount;
6创建dataguard的实例和数据库
rman target
sys/chenbo@nbsmt auxiliary /
rman>dupilcate target database for standby nofilenamecheck;
如果目录结构相同的话,必须加上nofilenamecheck;
7此时standby db已经被mount;
在sqlplus 中执行如下语句
>alter database recover managed standby database disconnect from session;
8在主库中配置聚簇相关的参数。
db_log_config='dg_confg=(PRIMARY,STANDBY)
log_archive_dest_2='service=STANDBY LGWR SYNC DB_UNIQUE_NAME=STANDBY'
standby_file_management=AUTO
*.fal_server=STANDBY
rac1.fal_client=PRIMARY1
rac2.fal_client=PRIMARY2
*.fal_client=STANDBY
9 在备库用sys用户登录,执行
9 在备库用sys用户登录,执行
〉alter database recover managed standby database disconnect from session;
10启动主库
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10522540/viewspace-192122/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10522540/viewspace-192122/