分类: Oracle
2008-05-28 08:05:33
来源:赛迪网 作者: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成功: |