日期:2014-05-16 浏览次数:20638 次
文档里总结的很全, 不过有几个错误的(如fal_server和fal_client的说明)或说的不够明确的地方, 我做了一些修正. 为区别网络连接串,SID的差异, 把主备库的信息先列一下.
主库:
版本: Oracle 10.2.0.1.0
ORACLE_SID = WENDING
db_name = WENDING
db_unique_name/instance_name = WENDING
global_name/service_names = WENDING.LK
net service name = DB_WENDING
备库:
ORACLE_SID = WDSTD
db_name = WENDING(物理备库)/WDSTD(逻辑备库)
db_unique_name/instance_name = WDSTD
global_name/service_names = WDSTD.LK
net service name = DB_WDSTD
两个库的tnsnames.ora配置一样,如下:
DB_WENDING =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary_server)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WENDING.LK)
)
)
DB_WDSTD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby_server)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WDSTD.LK)
)
)
配置Dataguard的相关参数解释:
1. DB_NAME, 数据库名字, 需要保持同一个DataGuard中所有主库和物理备库的DB_NAME相同, 逻辑备库可以不一样
primary端和standby端相同:
*.DB_NAME='WENDING'
2. DB_UNIQUE_NAME, 对应数据库的实例名, 每一个数据库需要指定一个唯一的名字
primary端:
*.DB_UNIQUE_NAME=WENDING
standby端:
*.db_unique_name=WDSTD
3. LOG_ARCHIVE_CONFIG, 该参数通过DG_CONFIG 属性罗列同一个DataGuard中所有DB_UNIQUE_NAME(含主库及备库), 以逗号分隔
primary端和standby端相同:
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(WENDING,WDSTD)'
4. CONTROL_FILES, 控制文件位置说明, 注意要修改到具体的控制文件位置
primary端:
*.control_files='/u01/oradata/WENDING/controlfile/o1_mf_4srph8fv_.ctl','/u02/flash_recovery_area/WENDING/controlfile/o1_mf_4srph96b_.ctl'
standby端:
*.control_files='/u01/oradata/WDSTD/controlfile/o1_mf_4srph8fv_.ctl','/u02/flash_recovery_area/WDSTD/controlfile/o1_mf_4srph96b_.ctl'
5. LOG_ARCHIVE_DEST_n, 归档文件的生成路径, LOCATION代表本地机上, SERVICE指明在另一台机器上
primary端:
*.LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch/WENDING VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WENDING'
*.LOG_ARCHIVE_DEST_2='SERVICE=DB_WDSTD LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=WDSTD'
standby端:
*.LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch/WDSTD VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WDSTD'
*.LOG_ARCHIVE_DEST_2='SERVICE=DB_WENDING LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=WENDING'
6. LOG_ARCHIVE_DEST_STATE_n, 指定参数值为ENABLE, 激活定义的归档日志目录, 允许redo传输服务传输redo数据到指定的路径
primary端:
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
standby端:
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
7. REMOTE_LOGIN_PASSWORDFILE, 推荐设置参数值为EXCLUSIVE或者SHARED, 注意保证相同DataGuard配置中所有db 服务器sys密码相同
primary端:
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
standby端:
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
8.LOG_ARCHIVE_FORMAT, 指定归档文件格式, 这里在主备端最好保持一样的格式
primary端:
*.LOG_ARCHIVE_FORMAT=log_%t_%s_%r.arc
standby端:
*.LOG_ARCHIVE_FORMAT=log_%t_%s_%r.arc
9. LOG_ARCHIVE_MAX_PROCESSES, 指定归档进程的数量(1-30), 默认值通常是2
本实验中没有对这个参数进行修改.
10. COMPATIBLE, 这个参数指明了Oracle的版本号, 主库和物理备库的Oracle版本必须一致, 逻辑备库可以不一样
primary端:
*.COMPATIBLE='10.2.0.4.0'
standby端:
*.COMPATIBLE='10.2.0.4.0'
11. LOCK_NAME_SPACE, 这是当主库和备库在同一台机上时要设该参数, 设为备库的SID
primary端:
*.LOCK_NAME_SPACE=WDSTD
standby端(备库进行设置, 是为了在切换后主备角色互换):
*.LOCK_NAME_SPACE=WENDING
经试验证明, 该参数已经过时(obsolete), 所以该参数不需要再进行设置.
12. FAL_SERVER, 备库端的参数, 指定主库的网络连接串名(即tnsnames.ora中的设置)
primary端(主库进行设置, 是为了在切换后主备角色互换):
*.FAL_SERVER=DB_WDSTD
standby端:
*.FAL_SERVER=DB_WENDING
13. FAL_CLIENT, 备库端的参数, 指定备库的网络连接串名(即tnsnames.ora中的设置)
primary端(主库进行设置, 是为了在切换后主备角色互换):
*.FAL_CLIENT=DB_WENDING
standby端:
*.FAL_CLIENT=DB_WDSTD
14. DB_FILE_NAME_CONVERT, 主库和备库的数据文件转换目录或需转变部分对映(如果两数据库的目录结构不一样), 如果有多个对映, 逐一指明对映关系
格式: *.db_file_name_convert=主库数据文件目录或需转变部分, 备库数据文件目录或转变部分
primary端(主库进行设置, 是为了在切