[Oracle] Data Guard 之 浅析Switchover与Failover

yizhihongxing

Oracle Data Guard 之 浅析Switchover与Failover

什么是Oracle Data Guard

Oracle Data Guard是Oracle数据库提供的一种灾难恢复解决方案。它可以将主数据库的数据自动同步到备库,实现数据的实时复制。并且在主库故障或者计划停机的情况下,可以将备库切换为主库,实现数据库的无缝切换。

Switchover和Failover有什么区别

Switchover是一种计划内的主备切换,它是在主库正常运行的情况下通过Data Guard进行切换。在Switchover过程中,不会丢失任何数据,并且可以保证切换的流畅性。

Failover是一种突发情况下的主备切换,它是在主库不能正常运行的情况下启动的。在Failover过程中,主库可能会丢失一些数据,并且切换的过程也可能会比Switchover更长。

如何进行Switchover

进行Switchover的前提是主库和备库之间的网络连接正常,当需要进行Switchover时,可以执行以下步骤:

  1. 在主库上使用ALTER DATABASE命令将主库转换成备库:ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

  2. 在备库上执行以下命令将备库转换成主库:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

  3. 在主库上启动数据库:STARTUP

  4. 在备库上启动数据库:STARTUP

  5. 启动Data Guard Broker:DGMGRL

  6. 在Broker的交互界面输入以下命令,将主从切换完成:SWITCHOVER TO '<备库名>' ;

如何进行Failover

在进行Failover之前,需要确保主库不能正常运行。当需要进行Failover时,可以执行以下步骤:

  1. 在备库上启动数据库:STARTUP

  2. 启动Data Guard Broker:DGMGRL

  3. 在Broker的交互界面输入以下命令,将备库转换成主库:FAILOVER TO '<备库名>' ;

  4. 确认切换完成之后,对主库进行修复。

示例说明1

假设我们的主备库名分别为'primary'和'standby'。

进行Switchover的命令如下:

--在主库上
ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

--在备库上
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

进行Failover的命令如下:

--在备库上
STARTUP;
DGMGRL
FAILOVER TO 'primary';

示例说明2

假设我们的主备库名分别为'prod'和'dev'。

进行Switchover的命令如下:

--在主库上
ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

--在备库上
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

进行Failover的命令如下:

--在备库上
STARTUP;
DGMGRL
FAILOVER TO 'prod';

以上就是Oracle Data Guard中Switchover和Failover的详细攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:[Oracle] Data Guard 之 浅析Switchover与Failover - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • Oracle分页查询性能优化代码详解

    Oracle分页查询性能优化代码详解 前言 在处理大量数据时,我们常常需要进行分页查询。但是,如果不注意性能优化,分页查询的效率就会变得很低下。而Oracle数据库又是应用非常广泛的关系型数据库之一,因此,Oracle分页查询的性能优化显得尤为重要。 原理 Oracle数据库查询效率优化的核心在于SQL语句的优化。分页查询最为关键的在于其查询语句的构建,要使…

    database 2023年5月21日
    00
  • 极简的Resty服务端和客户端RESTful框架

    极简的Resty服务端和客户端RESTful框架 概述 Resty是一个基于OpenResty的Web框架,提供快速开发RESTful API和Web应用的能力。它的特点是轻量级、易于学习和使用,能够避免一些重复性的代码,提高开发效率。 下面,以一个用例来说明Resty的使用方法。 路由 首先,我们需要在服务端实现路由。Resty提供了一种非常简洁的实现方式…

    database 2023年5月21日
    00
  • sql 插入数据的三种常用方法及小贴士

    我们来详细讲解“SQL 插入数据的三种常用方法及小贴士”: 1. 常用的插入语句 SQL中最经常使用的插入语句是INSERT INTO。语法如下: INSERT INTO 表名 (列1, 列2, 列3,…) VALUES (值1, 值2, 值3,…); 其中,括号内的列名是可选的。如果指定了列名,那么就需要提供对应的值;否则,就需要提供该表中所有列的…

    database 2023年5月21日
    00
  • mysql计算时间差函数

    下面是关于MySQL计算时间差函数的完整攻略: 什么是MySQL计算时间差函数 MySQL计算时间差函数用于计算两个时间之间的差值。常用的函数有DATEDIFF、TIMESTAMPDIFF、TIME_TO_SEC、SEC_TO_TIME等。本文将以这几个函数为例,详细讲解它们的用法。 注:本文下面将使用如下两个日期进行演示: SET @date1 = ’20…

    database 2023年5月22日
    00
  • 运行asp.net程序 报错:磁盘空间不足

    当您在运行ASP.NET程序时,突然遇到“磁盘空间不足”的错误提示时,可能会让您感到很烦恼。此错误提示通常意味着磁盘驱动器的空间已经达到或接近最大容量。 出现此问题时,下面是一些您可以考虑的解决步骤: 确认磁盘空间不足 首先,您需要确认该错误的确是由于磁盘空间不足引起的。通过检查提示信息中提供的详细信息,您应该可以找到受影响的驱动器。这时,您可以手动检查磁盘…

    database 2023年5月21日
    00
  • Centos7备份文件时备份文件加入备件日期

    下面是“Centos7备份文件时备份文件加入备件日期”的完整攻略: 步骤一:创建备份脚本 在Centos7系统上,使用vim或nano等编辑器创建一个新脚本文件,例如命名为backup.sh。 在脚本的开头添加以下代码,用于获取当前日期并存储为变量: #!/bin/bash now=$(date +"%Y-%m-%d") 在脚本中添加其他…

    database 2023年5月22日
    00
  • Redis 密码、端口、ip绑定配置实践说明

     windows下找到  redis.windows-service.conf 文件  搜索bind  如果 bind 127.0.0.1 就是本地的 127.0.0.1   如果 bind 192.168.1.120 就是绑定局域网IP 如果同时绑定 bind 127.0.0.1 bind 192.168.1.120  则只有后面这个有效果   想同时有效…

    Redis 2023年4月11日
    00
  • MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率的比较介绍

    下面是关于 MYSQL 数据库时间字段 INT、TIMESTAMP、DATETIME 的性能效率比较介绍的完整攻略。 一、介绍三种时间字段类型 在 MySQL 数据库中,有三种时间字段类型:INT、TIMESTAMP 和 DATETIME。 1. INT 类型 INT 类型采用整型存储方式,可以存储大于等于0的整数,代表的是从固定日期(例如1970年1月1日…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部