这里我并不想写一篇安装手册,而是对data guard相关的一些常用参数做简单的注解。
- db_name
Primary Database 和 Standby Database名称必须相同。否则在启动时会提示控制文件中的数据库名不对。
Asktom上面有一个活生生的例子。 - db_unique_name
这是一个推荐的参数,不管是primary还是standby都尽量设置这个值。 - fal_client和fal_server
FAL是Fetch Archived Log的简写,意思是从主库中抓取日志。这两个参数只在standby role的时候起作用。建议在Primary数据库中也设置这两个参数,这样在role transition后(Primary转为Standby)也能正常运行。 - log_archive_dest_1
用于设置本地归档路径,primary和standby都应该设置这个参数。例子:log_archive_dest_1='location=D:\xzb\oradata\arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
- log_archive_dest_2
设置standby对象和运行模式,该参数只在primary中有效。如:log_archive_dest_2='service=stdby LGWR SYNC AFFIRM valid_for=(online_logfiles,primary_role) db_unique_name=stdby'
LGWR SYNC AFFIRM表示MAXIMUM PROTECTION模式。推荐设置net_timeout参数。
- log_archive_dest_3
作用跟log_archive_dest_2相同,只是在primary转换为standby时使用。如果需要switchover或failover,则建议设置这个参数。 - log_archive_dest_state_(n)
应该设置为ENABLE。 - log_archive_max_processes
设置ARCn个数,默认是4个。 - standby_file_management
在Physical standby下面,如果主数据库有修改数据文件(如新建,重命名等)则自动在standby中做相应修改。
设为AUTO表示自动管理。设为MANUAL表示需要手工管理。
Oracle使用SYS帐号与standby进行通信,因为两个数据库的SYS帐号密码必须一致。并且,remote_login_passwordfile应该为EXCLUSIVE。