DataSync 异构数据同步
当然要确保REDO数据被传输到指定服务器,除了在LOG_ARCHIVE_DEST_n参数中指定正确DB_UNIQUE_NAME属性之外,还有一个初始化参数LOG_ARCHIVE_CONFIG也需要进行正确的配置。该参数除了指定Data?Guard环境中的唯一数据库名外,还包括几个属性,用来控制REDO数据的传输和接收: SEND:允许数据库发送数据到远端。 RECEIVE:允许Standby接收来自其他数据库的数据。 NOSEND,NORECEIVE:自然就是禁止喽。 ? 例如,设置Primary数据库不接收任何归档数据,可以做如下的设置: LOG_ARCHIVE_CONFIG=‘NORECEIVE,DG_CONFIG=?(PRI,ST)?‘? 如果做了如上的设置,如果该服务器发生了角色切换,那它也没有接收REDO数据的能力。 ? ? ? ? 五.?Data?Guard环境应配置的初始化参数 ? ? 下列参数为Primary角色相关的初始化参数 DB_NAME 注意保持同一个Data?Guard中所有数据库DB_NAME相同 例如:DB_NAME=Dave DB_UNIQUE_NAME 为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非DBA主动修改它 例如:DB_UNIQUE_NAME=DavePre LOG_ARCHIVE_CONFIG 该参数用来控制从远端数据库接收或发送REDO数据,通过DG_CONFIG属性罗列同一个Data?Guard中所有DB_UNIQUE_NAME(含Primary数据库和Standby数据库),以逗号分隔,SEND/NOSEND属性控制是否可以发送,RECEIVE/NORECEIVE属性控制是否能够接收 例如:LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(DavePre,DaveDG)‘ LOG_ARCHIVE_DEST_n 归档文件的生成路径。该参数非常重要,并且属性和子参数也特别多(可以直接查询Oracle官方文档。Data?Guard白皮书第14章专门介绍了该参数各属性及子参数的功能和设置)。例如: LOG_ARCHIVE_DEST_1=‘LOCATION=l:/oracle/oradata/Dave?VALID_FOR=(ALL_LOGFILES,ALL_ROLES)?DB_UNIQUE_NAME=DavePre‘ LOG_ARCHIVE_DEST_STATE_n 是否允许REDO传输服务传输REDO数据到指定的路径。该参数共拥有4个属性值,功能各不相同。 REMOTE_LOGIN_PASSWORDFILE 推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data?Guard配置中所有DB服务器SYS密码相同 以下参数为与Standby角色相关的参数(建议在Primary数据库的初始化参数中也进行设置,这样即使发生角色切换,新的Standby也能直接正常运行) FAL_SERVER 指定一个Net服务名,该参数值对应的数据库应为Primary角色。当本地数据库为Standby角色时,如果发现存在归档中断的情况,该参数用来指定获取中断的归档文件的服务器 例如:FAL_SERVER=DavePre 提示:FAL是Fetch?Archived?Log的缩写 FAL_SERVER参数支持多个参数值的哟,相互间以逗号分隔 FAL_CLIENT 又指定一个Net服务名,该参数对应数据库应为Standby角色。当本地数据库以Primary角色运行时,向参数值中指定的站点发送中断的归档文件 例如:FAL_CLIENT=DaveDG FAL_CLIENT参数也支持多个参数值,相互间以逗号分隔。 DB_FILE_NAME_CONVERT Standby数据库的数据文件路径与Primary数据库数据文件路径不一致时,可以通过设置DB_FILE_NAME_CONVERT参数的方式让其自动转换。该参数值应该成对出现,前面的值表示转换前的形式,后面的值表示转换后的形式 例如:DB_FILE_NAME_CONVERT=‘f:/oradata/DavePre‘,‘l:/oradata/DaveDG‘ LOG_FILE_NAME_CONVERT ??使用方式与上相同,只不过LOG_FILE_NAME_CONVERT专用来转换日志文件路径 例如: LOG_FILE_NAME_CONVERT=‘f:/oradata/DavePre‘,‘l:/oradata/DaveDG‘ STANDBY_FILE_MANAGEMENT 如果Primary数据库数据文件发生修改(如新建、重命名等)则按照本参数的设置在Standby数据库中作相应修改。设为AUTO表示自动管理。设为MANUAL表示需要手工管理 例如:STANDBY_FILE_MANAGEMENT=AUTO ? ? 对于归档失败的处理,LOG_ARCHIVE_DEST_n参数有几个属性,可以用来控制归档过程中出现故障时应该采取的措施。 1.REOPEN?指定时间后再次尝试归档 使用REOPEN=seconds(默认为300秒)属性,在指定时间重复尝试向归档目的地进行归档操作,如果该参数值设置为0,则一旦失败就不会再尝试重新连接并发送,直到下次REDO数据再被归档时会重新尝试。 例如,设置REOPEN为100秒: LOG_ARCHIVE_DEST_2=‘SERVICE=DavePrimary?LGWR?ASYNC?REOPEN=100‘? 2.ALTERNATE?指定替补的归档目的地 ALTERNATE属性定义一个替补的归档目的地,所谓替补就是一旦主归档目的地因各种原因无法使用,则临时向ALTERNATE属性中指定的路径写。 例如: LOG_ARCHIVE_DEST_1=‘LOCATION=/disk1?ALTERNATE=LOG_ARCHIVE_DEST_2‘? LOG_ARCHIVE_DEST_STATE_1=ENABLE?? LOG_ARCHIVE_DEST_2=‘LOCATION=/disk2‘? LOG_ARCHIVE_DEST_STATE_2=ALTERNATE? 上述参数设置归档路径为/disk1,当/disk1路径下无法成功归档时,自动尝试向/disk2路径下归档文件。 从功能上来看,REOPEN与ALTERNATE是有一定重复的,不过需要注意一点,REOPEN属性比ALTERNATE属性的优先级要高,如果你指定REOPEN属性的值>0,则LGWR(或ARCn)进程会首先尝试向主归档目的地写入,直到达到最大重试次数,如果仍然写入失败,才会向ALTERNATE属性指定的路径写。 ? 3.MAX_FAILURE?控制失败尝试次数 用REOPEN指定失败后重新尝试的时间周期,MAX_FAILURE则控制失败尝试的次数。 例如,设置LOG_ARCHIVE_DEST_1在本地归档文件时,如果遇到错误,则每隔100秒尝试一次,共尝试不超过3次,设置如下: LOG_ARCHIVE_DEST_1=‘LOCATION=E:/ora10g/oradata/jsspdg/?REOPEN=100?MAX_FAILURE=3‘?? ? ? ? ? 六.?物理Standby?和逻辑Standby?的区别 Standby数据库类型分为两类:物理Standby和逻辑Standby。 ? 1.物理Standby 我们知道物理Standby与Primary数据库完全一模一样,DG通过REDO应用来维护物理Standby数据库。 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |