- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
逻辑备数据库的切换和故障转移
分类:?Oracle
本文描述如何执行包含逻辑备数据库的切换和故障转移。????????????????????????????
一、????逻辑备数据库的切换
当你执行切换,在主数据库和逻辑备数据库之间更改角色,总是在主数据库上发起切换并在逻辑备数据库上完成。这些步骤必须以所描述的顺序执行,否则切换将不会成功。
?
注:如果主数据库是RAC?数据库,确保除了一个以外关闭所有实例,并且在发起切换之前禁止相应的线程。类似地,如果逻辑备数据库是RAC?数据库,确保除了一个以外的所有实例关闭SQL?应用,并且在发起切换之前禁止相应的线程。一旦切换操作成功完成,你能重新允许这些线程并启动实例。虽然实例是关闭的,但是当它们重启时,角色更改将不会自动传递到这些实例。
?
第?1?步在主数据库上检验是否有可能执行切换
?
在当前的主数据库上,查询在主数据库上的?V$DATABASE?固定视图的SWITCHOVER_STATUS?列,以检验是否可能执行切换。
例如:
SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO STANDBY
1 row selected。
?
在?SWITCHOVER_STATUS?列中的TO STANDBY?或SESSIONS ACTIVE?的值指出可能切换主数据库到逻辑备角色。如果这些值之一没有显示,则检验Data Guard?配置是否正确起作用(例如,检验所有LOG_ARCHIVE_DEST_n?参数值是否正确指定)。
?
第?2?步为切换准备当前主数据库
?
要为逻辑备数据库角色准备当前主数据库,在主数据库上执行下面的?SQL?语句:
SQL ALTER DATABASE PREPARE TO SWITCHOVER TO LOGICAL STANDBY;
?
这条语句通知当前主数据库,它将马上切换到逻辑备角色并开始从新的主数据库接收重做数据。你在主数据库上执行这个步骤,为接收LogMiner Multiversioned Data Dictionary记录在当前逻辑备数据库的重做流中做准备,如步骤3?中描述。如果这个操作成功,则?V$DATABASE.SWITCHOVER_STATUS?列中显示PREPARING SWITCHOVER?值。
?
第?3?步为切换准备目标逻辑备数据库
?
使用下面命令在作为切换目标的逻辑备数据库上建立?LogMiner Multiversioned Data?Dictionary:
SQL ALTER DATABASE PREPARE TO SWITCHOVER TO PRIMARY;
?
这条语句也在逻辑备数据库上开始重做传输服务 ,开始传送其重做数据到当前主数据库和Data Guard?配置中的其它备数据库。从这个逻辑备数据库接收重做数据的站点接收重做数据但不应用。
依赖于完成的工作量和数据库的大小,切换需要花费一些时间来完成。
当?LogMiner Multiversioned Data Dictionary?正在重做流中记录时,在逻辑备数据库上的V$DATABASE.SWITCHOVER_STATUS?最初显示PREPARING DICTIONARY。一旦这个成功完成,SWITCHOVER_STATUS?列显示PREPARING SWITCHOVER。
?
第?4?步确保当前主数据库为将来的主数据库的重做流做好准备
?
在你能完成主数据库到逻辑备角色的转换之前,通过查询主数据库上的V$DATABASE固定视图的SWITCHOVER_STATUS?列,检验LogMiner Multiversioned Data Dictionary?是否被主数据库接收到。没有收到LogMiner Multiversioned Data Dictionary,切换无法进行,因为当前的主数据库将不能解释从未来的主数据库发送的重做记录。SWITCHOVER_STATUS列显示了切换的过程。
当查询返回?TO LOGICAL STANDBY?值,你能进行到步骤5。
例如:
SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO LOGICAL STANDBY
1 row selected
?
注:
你能通过以下面的顺序执行下面的语句来取消切换操作:
1.在主数据库上取消切换:
SQL ALTER DATABASE PREPARE TO SWITCHOVER CANCEL;
2.在逻辑备数据库上取消切换:
SQL ALTER DATABASE PREPARE TO SW
文档评论(0)