ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 为RAC数据库配置物理STANDBY DB

为RAC数据库配置物理STANDBY DB

原创 Linux操作系统 作者:testmvb 时间:2008-02-23 22:53:47 0 删除 编辑

数据库环境: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用户登录,执行
〉alter database recover  managed standby database disconnect from session;
10启动主库
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10522540/viewspace-192122/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 要辞工了吗
请登录后发表评论 登录
全部评论

注册时间:2008-02-23

  • 博文量
    51
  • 访问量
    161823