Oracle 10g R2 DataGuard之物理standby的switchover和failover

简介:

 一、物理standbyswitchover

 

注:在做switchover前,需要将监听解析文件tnsnames.ora 文件中的主机名对换一下,主备都要更改,并重启监听。

主库操作:

相关的参数文件要添加的参数,已经在之前创建的时候已经添加,具体请看前面的步骤,下面进行转换:

首先查看主库的转换状态:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

--------------------

TO STANDBY

 

执行转换命令:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

状态是:TO STANDBY这是可以进行转换的。

 

注意如果,当前有用户连接到数据库其状态是如下:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

 

SWITCHOVER_STATUS

--------------------

SESSIONS ACTIVE

 

这个时候的状态是会话连接状态的,在执行转换命令的时候会报错误ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

此时可以加上 witch session shutdown 

 

关闭数据库,启动到mount 的状态;

备库操作:

查看备库的转换状态:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

 

SWITCHOVER_STATUS

--------------------

TO PRIMARY

 

状态是:TO PRIMARY这是可以进行转换的。

 

执行转换命令:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

日志:


注意:

有时候状态是如下的:

就是没有实时应用归档的原因,此时执行:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

即可,改变状态为:TO PRIMARY

然后在新备库上进行日志应用:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

验证结果:


二、物理standbyfailover

1、检查归档文件是否连续

查询待转换standby 数据库的V$ARCHIVE_GAP 视图,确认归档文件是否连接:

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

 

如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的standby 服务器。这一步非常重要,必须确保所有已生成的归档文件均已存在于standby 服务器,不然可能会数据不一致造成转换时报错。

文件复制之后,通过下列命令将其加入数据字典:

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE '归档文件名称';

2、检查归档文件是否完整

分别在primary/standby 执行下列语句:

SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;

该语句取得当前数据库各线程已归档文件最大序号,如果primary standby 最大序号不相同,必须将多出的序号对应的归档文件复制到待转换的standby服务器。

 

3、启动failover

执行下列语句:

SQL> alter database recover managed standby database finish ;

 

4、切换物理standby 角色为primary

SQL> alter database commit to switchover to primary;

5、启动新的primary 数据库。

SQL> alter database open;



     本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/772935,如需转载请自行联系原作者

相关文章
|
3月前
|
Oracle 关系型数据库 数据库
手把手教你Oracle DataGuard主备切换(switchover)
手把手教你Oracle DataGuard主备切换(switchover)
545 4
|
3月前
|
数据采集 监控 Oracle
实时计算 Flink版产品使用问题之如何从Oracle物理备用库中进行实时数据抽取
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
14天前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的物理存储结构
Oracle的物理存储结构包括数据文件、联机重做日志文件、控制文件、归档日志文件、参数文件、告警日志文件、跟踪文件和备份文件。这些文件在硬盘上存储数据库的各种数据和日志信息,确保数据库的正常运行和故障恢复。视频讲解和详细说明见原文。
|
3月前
|
Oracle 网络协议 关系型数据库
Oracle DataGuard主备切换之自动切换
Oracle DataGuard主备切换之自动切换
168 2
|
Oracle 关系型数据库 数据库
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
188 1
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库
❤️Docker中只需2步即可拥有Oracle 10G环境,史上最快部署❤️
❤️Docker中只需2步即可拥有Oracle 10G环境,史上最快部署❤️
1228 1
❤️Docker中只需2步即可拥有Oracle 10G环境,史上最快部署❤️
|
SQL Oracle 关系型数据库
Oracle 10g与Oracle 11g之间的导入与导出
Oracle 10g与Oracle 11g之间的导入与导出
|
Oracle 网络协议 关系型数据库
oracle 11g dataguard 配置步骤
oracle 11g dataguard 配置步骤
221 0
|
存储 Oracle 关系型数据库
Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步
Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步