ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 10g DataGuard 在虚拟机上的配置

Oracle 10g DataGuard 在虚拟机上的配置

原创 Linux操作系统 作者:db_wang 时间:2011-07-04 08:43:01 0 删除 编辑
1.环境准备
  虚拟机版本:VMware GSX
  操作系统 :redhat linux 4
  
  Primary主机
  ip:192.168.111.131
  db_name:wellcomm
  db_unique_name:wellcomm

  ip:192.168.111.131
  db_name:wellcomm
  db_unique_name:wellcommb

2.设置Primary主机为force logging模式

  alter database force logging;


3.在Primary 上面创建备用日志(为切换而用)
  
  alter database add standby logfile group 4 ('/u01/oracle/oradata/wellcomm/stdredo01.log') size 50m;
  
  alter database add standby logfile group 5 ('/u01/oracle/oradata/wellcomm/stdredo02.log') size 50m;
   
  alter database add standby logfile group 6 ('/u01/oracle/oradata/wellcomm/stdredo03.log') size 50m;


4.修改primary库的参数
   
    alter system set db_unique_name='wellcomm' scope=spfile;
    alter system set log_archive_config='DG_CONFIG=(wellcomm,wellcommb)';
    alter system set log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcomm/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcomm';
    alter system set log_archive_dest_2='SERVICE=wellcommb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcommb';
    alter system set log_archive_dest_state_1=enable;
    alter system set log_archive_dest_state_2=enable;
    alter system set log_archive_max_processes=10;

5.克隆Primary数据库
  
  shutdown immediate
  startup mount
  backup database;

  创建standby的控制文件
  alter database create standby controlfile as '/u01/oracle/controlbak.ctl';

  创建standby的参数文件并按standby主机的配置修改
  create pfile='/u01/oracle/initwellcommb.ora' from spfile;


6.在standby主机上恢复数据库(rman方式);
   
  将5步的文件拷备到对应位置(ftp)
  
  startup mount pfile='';

  修改参数文件
         db_name='ora10g1'
         db_unique_name='ora10g3'
         log_archive_config='DG_CONFIG=(wellcomm,wellcommb)'

         log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcommb/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcommb'
         log_archive_dest_2='SERVICE=wellcomm LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcomm'
         log_archive_dest_state_1=enable
         log_archive_dest_state_2=enable
         remote_login_passwordfile='EXCLUSIVE'
         log_archive_max_processes=10

         restore database;

7.监听配置和tns服务配置
  (1)primary 主机上配置
     listener.ora文件内容如下:
     SID_LIST_LISTENER =
        (SID_LIST = 
          (SID_DESC = 
           (GLOBAL_DBNAME = wellcomm ) 
           (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1) 
           (SID_NAME = wellcomm ) 
         ) 
        ) 

     LISTENER = 
        (DESCRIPTION_LIST = 
        (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521)) 
         ) 
        )
     tnsnames.ora文件内容如下:
    
    WELLCOMM =
       (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = wangwang)(PORT = 1521))
        (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = wellcomm)
        )
       )

    WELLCOMMB = 
      (DESCRIPTION = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521)) 
        (CONNECT_DATA = 
        (SERVER = DEDICATED) 
        (SERVICE_NAME = wellcommb) 
       ) 
       )
 (2)在standby主机上配置
    listener.ora文件内容如下:

    SID_LIST_LISTENER = 
    (SID_LIST = 
      (SID_DESC = 
       (GLOBAL_DBNAME = wellcommb) 
        (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1) 
        (SID_NAME = wellcommb)
         ) 
    )
 
    LISTENER = 
       (DESCRIPTION_LIST = 
       (DESCRIPTION = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = wangkang)(PORT = 1521)) 
       ) 
      ) 
       tnsnames.ora文件内容如下:
    WELLCOMM = 
       (DESCRIPTION = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521)) 
       (CONNECT_DATA = 
        (SERVICE = DEDICATED) 
        (SERVICE_NAME = wellcomm)
        ) 
        ) 
    WELLCOMMB = 
      (DESCRIPTION = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521)) 
       (CONNECT_DATA = 
        (SERVER = DEDICATED )
         (SERVICE_NAME = wellcommb) 
        ) 
        ) 

     重启监听
     lsnrctl stop
     lsnrctl start
8.在standby主机上启动应用redo

  alter database recover managed standby database disconnect from session;
  (取消:alter database recover managed standby database cancel;)

9.确认从Primary到Standby的Redo传输及应用
  (1)在Primary主机上执行日志文件切换(最好多次)
      alter system switch logfile;
  (2)查询Primary的归档日志
     select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;
  (3)查询Standby的归档日志及其应用
     select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;

   注意applied字段显示YES则表明该归档日志已被standby数据库应用了

   

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

请登录后发表评论 登录
全部评论

注册时间:2010-01-18

  • 博文量
    32
  • 访问量
    59100