物理备数据库的切换与故障转移

物理备数据库的切换与故障转移:

一、物理备数据库的切换

切换必须在当前主数据库上发起,并且在目标备数据库上完成。下面的步骤描述如何执行切换。

第 1 步检验是否可能执行切换。

在当前主数据库上,在主数据库上查询 V$DATABASE 固定视图的SWITCHOVER_STATUS 列,以检验是否可能执行切换。例如:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

—————–

TO STANDBY

1 row selected

在 SWITCHOVER_STATUS 列中的TO STANDBY 值指出可能切换主数据库到备角色。如果TO STANDBY 值没有显示,则检查Data Guard 配置是否正确起作用(例如,检查所有的LOG_ARCHIVE_DEST_n 参数值被正确指定)。如果在 SWITCHOVER_STATUS 列中的值是SESSIONS ACTIVE,你需要终止可能阻碍切换处理的活动用户或SQL会话。如果,在执行这些步骤之后,SWITCHOVER_STATUS 列还是显示SESSION ACTIVE,你能通过添加WITH SESSION SHUTDOWN 子句到步骤2 中描述的ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY 语句来成功执行切换。

第 2 步在主数据库上发起切换。

要更改当前主数据库到物理备数据库角色,在主数据库上使用下面 SQL 语句:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

在这个语句完成后,主数据库转换到备数据库。当前控制文件在切换前备份到当前SQL会话跟踪文件。这使得有可能重构当前控制文件,如果必要的话。

第 3 步关闭并重启前主实例。

关闭前主实例,并重启和安装数据库:

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

注意:在切换过程的这个点,两个数据库都配置为备数据库。

第 4 步检验 V$DATABASE 视图中的切换状态。

在你更改主数据库到物理备角色,以及配置中的备数据库接收到切换通知之后,你应该检验目标备数据库是否处理切换通知,通过查询目标备数据库上的V$DATABASE 固定视

图的SWITCHOVER_STATUS 列。

例如:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

—————–

TO_PRIMARY

1 row selected

如果 SWITCHOVER_STATUS 列中的值是SESSION ACTIVE,你需要确定并终止可能阻碍切换处理的活动用户或SQL 会话。

如果,在执行这些步骤之后,SWITCHOVER_STATUS 列还是显示SESSION ACTIVE,你能处理到步骤5,并过添加WITH SESSION SHUTDOWN 子句到切换语句。

第 5 步切换目标物理备数据库角色到主角色。

当备数据库实例安装在重做应用模式或对只读访问打开时,你能将物理备数据库从备角色切换到主角色。必须是这些模式之一,主数据库的切换请求才能被调度。在备数据库处于适当的模式,在你希望更改主角色的物理备数据库上,执行下面的SQL 语句:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

第 6 步完成备数据库到主角色的转换。

你执行的任务依赖于物理备数据库是否曾经以只读模式打开过:

l 如果物理备数据库自从上次启动过后没有以只读模式打开过,执行SQL ALTER DATABASE OPEN 语句来打开新的主数据库:

SQL> ALTER DATABASE OPEN;

l 如果物理备数据库自从上次启动过后曾经以只读模式打开,你必须关闭目标备数据库并重启:

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP;

注:

不需要关闭并重启在切换的时候联机的其它备数据库(不包括在切换中的)。这些备数据库在切换完成后将继续正常起作用。

第 7 步如果必要,在备数据库上重启日志应用服务。

对于新的物理备数据库和 Data Guard 配置中的每个其它物理或逻辑备数据库,如果日

志应用服务没有预先配置在切换过程中持续打开,使用合适的命令来重启日志应用服务。

第 8 步开始发送重做数据到备数据库。

在新的主数据库上执行下面语句:

SQL> ALTER SYSTEM SWITCH LOGFILE;

二、物理备数据库的故障转移

本小节描述如何执行包含物理备数据库的故障转移。

在包含物理备数据库的故障转移过程中:

l 在所有情况中,在故障转移后,原主数据库不能再参与在 Data Guard 配置中。

l 在大多数情况中,其它逻辑或物理备数据库不直接参与配置中剩余的故障转移,并不必须关闭或重启。

l 在一些情况中,可能有必要在配置新的主数据库之后重建所有备数据库。

这些情况在下面的故障转移步骤中的适当位置描述。

注:

Oracle 推荐你只使用在下面小节中描述的故障转移步骤和命令来执行故障转移。不要使用ALTER DATABASE ACTIVATE STANDBY DATABASE 来执行故障转移,因为这条语句可能导致数据丢失。

故障转移步骤

本小节描述了转换挑选的物理备数据库到主角色必须执行的步骤。任何也是配置中的一部分的其它物理或逻辑备数据库将保留在配置中,并将不需要关闭或重启。

如果目标备数据库操作于使用日志写进程(LGWR)的***保护模式或***可用性模式,在归档重做日志文件中不应该存在中断,你能直接进行到步骤4。否则,从步骤1 开始以确定是否必须执行一些手工中断解决步骤。

第 1 步确定并解决归档重做日志文件中的任何中断。

要在目标备数据库上确定是否在归档重做日志文件中存在中断,查询V$ARCHIVE_GAP 视图。V$ARCHIVE_GAP 视图包含对于每个线程已知丢失的归档重做日志文件的序列号。返回的数据只反映***的中断。

例如:

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM

V$ARCHIVE_GAP;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

———- ————- ————–

1 90 92

在这个例子中,中断包括线程 1 的归档重做日志文件序号90、91、和92。如果可能,

从主数据库拷贝所有确定的丢失的归档重做日志文件到目标备数据库,并注册它们。这必须

对于每个线程执行。

例如:

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE ‘filespec1’;

第 2 步重复步骤1 直到解决所有中断。

在步骤 1 中执行的查询只显示***的中断信息。在解决那个中断后,你必须重复步骤1直到查询返回零行。

第 3 步拷贝任何其它丢失的归档重做日志文件。

要确定是否还有其它丢失的归档重做日志文件,在目标备数据库上查询V$ARCHIVED_LOG 视图以获得每个线程的***序列号。

例如:

SQL> SELECT THREAD# AS THREAD, MAX(SEQUENCE#)

2> OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_LOG;

THREAD LAST

———- ———-

1 100

从包含比目标备数据库上可用的***序列号更高序列号的主数据库,拷贝任何可用的归档重做日志文件到目标备数据库并注册它们。这必须对每个线程执行。

例如:

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE ‘filespec1’;

在所有可用的归档重做日志文件已经注册后,如步骤 1 中描述地查询V$ARCHIVE_GAP 视图,检验没有更多的中断在步骤3 中引入。

注:

如果,当执行步骤1 到3 时,你不能解决在归档重做日志文件中的中断(例如,因为你

没有访问故障主数据库所在的系统),在故障转移过程中会发生数据丢失。

第 4 步在目标物理备数据库上发起故障转移。

执行下面语句以发起故障转移:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;

FORCE 关键词终止目标物理备数据库上活动的RFS 进程,使得故障转移能不用等待网

络连接超时而立即进行。

注:

故障转移添加一个重做结束的标识到***一个归档的日志文件的头部,并发送重做到所有允许的对于主数据库有效的目的地(使用VALID_FOR=(PRIMARY_ROLE, *_LOGFILES)或VALID_FOR=(ALL_ROLE, *_LOGFILES)属性指定)。

在SQL 语句中FINISH 关键词必须跟在所有其它关键词后面,除了FORCE、WAIT、或NOWAIT。

第 5 步转换物理备数据库到主角色。

一旦 SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE 语句成功完成,通过执行下面SQL 语句更改物理备数据库到主数据库:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

在执行这条 SQL 语句之后,目标备数据库经历到主角色的转换。作为结果,你不能再使用这个数据库作为备数据库,并且任何后继的从原主数据库接收的重做不能被应用。再故障转移过程中,备重做日志文件在其它所有从原主数据库导出的备数据库上被自动归档并恢复。只有当备目的地在新的主数据库上正确定义时这才会发生。

没有必要关闭并重启任何其它在配置中没有参与故障转移的备数据库。

第 6 步完成备数据库到主数据库角色的转换。

你在本步骤执行的任务依赖于物理备数据库是否曾经以只读模式打开过:

l 如果物理备数据库自从上次启动过后没有以只读模式打开过,执行ALTER DATABASE OPEN 语句来打开新的主数据库。

SQL> ALTER DATABASE OPEN;

然后,跳到步骤 7。

l 如果物理备数据库自从上次启动过后曾经以只读模式打开,你必须关闭目标备数据库并重启:

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP;

目标物理备数据库现在经历到主数据库角色的转换。

第7 步备份新的主数据库。

在执行 STARTUP 语句之前,备份新的主数据库。立即执行备份是必要的安全措施,因为你无法在没有完整的数据库备份拷贝的情况下,恢复故障转移之后的更改。

作为故障转移的结果,原数据库不能再参与在 Data Guard 配置中,并且所有其它备数据库现在接收和应用从新的主数据库的重做数据。

关于物理备数据库的切换与故障转移的讲解到这里就全部讲完啦,希望大家都能够从上文中涉及到的内容中有所收获。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/279223.html<

(0)
管理的头像管理
上一篇2025-05-11 23:17
下一篇 2025-05-11 23:19

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注