Oracle 11g DataGuard 配置
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
一、测试环境准备
1.主库和备库oracle版本一致,运行在相同平台如linux,服务器硬件可以不一样。
2.Primary 数据库必须运行于归档模式,并且务必确保在primary 数据库上打开FORCE LOGGING,以避免用户通过nologging 等方式避免写redo 造成对应的操作无法传输到standby 数据库。
3.Primary 和standby 数据库均可应用于单实例或RAC 架构下,并且同一个data guard 配置可以混合使用逻辑standby 和物理standby.
4.建议数据库必须采用相同的存储架构。比如存储采用ASM/OMF 的话,那不分primarty 或是standby也都需要采用ASM/OMF。
5.standby库的环境和primary一致。
二、调整主库
1.将主数据库改为强制产生日志模式
alter database force logging;
2. 创建密码
orapwd file=$ORACLE_HOME/dbs/orapwtest password=test entries=3
3. 修改主库的初始化参数
db_unique_name ='test01'
db_name指定数据库的名称,db_unique_name指定了数据库(主库和备库)的不同名称,是对db_name的唯一的标识。其实是为了区分db_name名一样的数据库,方便应用和管理。是10g以后的参数。
log_archive_config='DG_CONFIG=(test01,test02)'
test01,test02是.db_unique_name
log_archive_dest_1='location=/u01/app/oracle/arch/test/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test01'
log_archive_dest_2='SERVICE=test_db_02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test02'
确定log_archive_dest_state_1
log_archive_dest_state_1= enable #默认就是enable
log_archive_dest_state_2= enable
/*以下部分为主机切换为备库使用*/
fal_server=test_db_02
fal_client=test_db_01
standby_file_management=auto
#如果主备库文件或路径不同
db_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
log_file_name_convert='/u01/app/oracle/oradata/test','/u01/app/oracle/oradata/test'
建议参数文件使用spfile,这样可以在不停库使用命令修改参数。
4. 确保数据库运行在archivelog模式下
SQL> archive log list
Database log mode &nbs