[Oracle] Data Guard 之 浅析Switchover与Failover

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日

相关文章

  • centos6.6 下 安装 php7 + nginx环境的方法

    安装php7和nginx环境前,需要先安装epel和webtatic仓库。 安装epel和webtatic仓库 # 安装epel仓库 yum install epel-release # 安装webtatic仓库 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 安装完epel和webtatic后…

    database 2023年5月22日
    00
  • Python实现 多进程导入CSV数据到 MySQL

    接下来我会分享一下“Python实现 多进程导入CSV数据到 MySQL”的完整攻略。该攻略分为以下几个步骤: 步骤一:准备工作 安装Python和MySQL; 安装Python库pandas和MySQLdb。这两个库可以通过pip安装。 步骤二:读取CSV数据 可以使用pandas库中的read_csv()函数来读取CSV文件,在此函数中传入CSV文件的路…

    database 2023年5月21日
    00
  • 教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感

    在Windows系统中设置MySQL数据库名、表名大小写敏感 在 Windows 系统中,MySQL 的数据库名和表名默认是不区分大小写的。但是,在一些特殊场景下,需要设置 MySQL 数据库名、表名大小写敏感。下面是具体的操作流程: 打开 MySQL 的配置文件 my.ini; 找到 [mysqld] 部分,添加以下两行配置: lower_case_tab…

    database 2023年5月22日
    00
  • MySQL主从复制与读写分离原理及用法详解

    MySQL主从复制与读写分离原理及用法详解 一、概述 MySQL主从复制是一种数据库复制技术,可以将一个MySQL数据库的数据复制到另外的MySQL服务器上。同时,读写分离是一种优化数据库性能的技术,可以将读请求和写请求分别处理,提高数据库的并发性能。两种技术结合使用可以有效提高MySQL数据库的性能和可用性。 二、MySQL主从复制原理 MySQL主从复制…

    database 2023年5月21日
    00
  • MySQL数据库实验实现简单数据库应用系统设计

    MySQL数据库实验实现简单数据库应用系统设计攻略 1. 实验目的 通过设计和实现简单的数据库应用系统,掌握MySQL数据库的基本操作和应用。 2. 实验环境 操作系统:Windows/Linux/macOS 数据库:MySQL 3. 实验步骤 3.1 数据库设计和创建 根据需求设计数据库的表结构,并在MySQL中创建对应的数据库、表和数据。 示例:创建一个…

    database 2023年5月19日
    00
  • 详解MySQL自增主键的实现

    下面是详解MySQL自增主键的实现的完整攻略。 什么是MySQL自增主键 MySQL自增主键是一种约束,用于确保表中每行数据的唯一标识符。 在表中添加一列自增主键后,MySQL会自动为每行数据赋予唯一的标识符,并输入数据时将自动递增此值,这样可以极大地方便数据管理和使用。 如何添加自增主键 要将自增主键添加到表中,请执行以下步骤: 1.创建表并定义需要的列名…

    database 2023年5月19日
    00
  • CentOS安装配置MySQL8.0的步骤详解

    CentOS安装配置MySQL8.0的步骤详解 1. 安装MySQL8.0 1.1 安装包下载 从MySQL官网下载适合你系统的MySQL 8.0版本安装包,选择”Generic Linux”并下载。 1.2 安装包安装 执行以下命令进行安装包解压: tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz 解…

    database 2023年5月22日
    00
  • 解析MySQL索引的作用

    解析MySQL索引的作用 在MySQL中,索引是一种特殊的数据结构,可以加速数据的查找。本文将详细讲解MySQL索引的作用,以及如何解析索引。 什么是MySQL索引 MySQL索引是一种特殊的数据结构,用于加速数据查找。使用索引可以将查找的时间从线性时间复杂度优化为对数时间复杂度,大大提高了数据库的查询效率。 索引可以看作是一张目录表,表中记录了数据存储的物…

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