配置Windows与Linux平台的DATA GURAD

第五阅读网 FiveRead.com  2008年05月28日  赛迪网 Bennett

  从Oracle 11g数据库开始,Oracle支持在特定条件下Windows与Linux两个不同OS平台之间配置DATA GUARD,这样DATA GUARD再也不受原来需要同样OS平台的限制了(具体参考Metalink:413484.1):

  配置过程示例:

  主库:Windows 2003 +Oracle 11.1.0.6

  SID:orcl

  数据文件目录:D:/ORACLE/ORADATA/ORCL/

  备用库:RHEL 4 U5+Oracle 11.1.0.6

  SID:standby

  数据文件目录:/home/oracle/opt/oradata/standby/

  1、验证主库是归档模式,并将主库置于FORCE LOGGING模式:

  SQL> archive log list

  Database log mode Archive Mode

  Automatic archival Enabled

  Archive destination USE_DB_RECOVERY_FILE_DEST

  Oldest online log sequence 229

  Next log sequence to archive 231

  Current log sequence 231

  SQL> alter database force logging;

  2、对主库做一个全库的RMAN备份,用于STANDBY配置:

  RMAN> backup database format 'd:/db_%U.bak';

  3、准备STANDBY数据文件路径和其他路径:

  [oracle@test51 oradata]$ pwd

  /home/oracle/opt/oradata

  [oracle@test51 oradata]$ mkdir standby

  [oracle@test51 oradata]$ cd standby

  [oracle@test51 oradata]$ mkdir archive

  [oracle@test51 oradata]$ cd $ORACLE_BASE/admin

  [oracle@test51 admin]$ mkdir standby

  [oracle@test51 oradata]$ cd standby

  [oracle@test51 standby]$mkdir adump

  [oracle@test51 standby]$mkdir dpdump

  [oracle@test51 standby]$mkdir pfile

  [oracle@test51 standby]$ ls

  adump dpdump pfile

  4、生成standby 初始化参数文件:

  SQL> create pfile='d:/init.ora' from spfile;

  添加以下几个STANDBY参数:

  *.log_archive_config=’DG_CONFIG=(orcl,standby)’

  *.fal_client=’standby’

  *.fal_server=’primary’

  *.db_file_name_convert=’D:/ORACLE/ORADATA/ORCL/’,'/home/oracle/opt/oradata/standby/’

  *.log_file_name_convert=’D:/ORACLE/ORADATA/ORCL/’,'/home/oracle/opt/oradata/standby/’

  *.standby_file_management=’auto’

  *.log_archive_dest_1=’location=/home/oracle/opt/oradata/standby/archive VALID_FOR=(STANDBY_LOGFILE,STANDBY_ROLE)’

  5、生成STANDBY控制文件:

  SQL> alter database create standby controlfile as 'd:/ control01.ctl';

  并将生成的STANDBY控制文件、初始化参数文件、备份集分别COPY至STANDBY端相应的目录,另外注意密码文件也需要COPY并在STANDBY端改名,因为主库和备库需要相同的密码文件,否则STANDBY无法配置成功:

  [oracle@test51 standby]$ cp control01.ctl control02.ctl

  [oracle@test51 standby]$ cp control01.ctl control03.ctl

  [oracle@test51 standby]$ ls

  archive control01.ctl control02.ctl control03.ctl db_04j3dk0q_1_1.bak db_05j3dk6n_1_1.bak

  6、在STANDBY端MOUNT STANDBY数据库,可以看到从WINDOWS COPY过来的备份控制文件可以直接在LINUX底下MOUNT成功:

文章评论

发表您的评论 查看完整内容