Oracle Data Guard常用命令

--查询数据库角色和保护模式
select database_role,switchover_status from v$database;
--切换备库为主库(切换后,主库为mount状态)
--TO PRIMARY
alter database commit to switchover to primary; 
--SESSIONS ACTIVE
alter database commit to switchover to primary with session shutdown; 
--切换主库为备库(切换后,备库为shutdown状态)
--TO STANDBY
alter database commit to switchover to physical standby;
--SESSIONS ACTIVE
alter database commit to switchover to physical standby with session shutdown;--查询数据库打开模式
select open_mode from v$database;
--开启数据同步(mount模式执行READ ONLY,open模式执行READ ONLY WITH APPLY)
alter database recover managed standby database using current logfile disconnect from session;
--关闭数据同步(必须先关闭,才可以执行alter database open打开数据库)
alter database recover managed standby database cancel;
--主库异常无法恢复时,异常切换时备库需执行下列命令
alter database recover managed standby database finish;
alter database recover managed standby database finish force;--查询数据库保护模式
select protection_mode from v$database;
--更改数据库保护模式
alter database set standby database to maximize protection; --最大保护
alter database set standby database to maximize performance; --最高性能
alter database set standby database to maximize availability; --最高可用

DataGuard角色切换 数据库切换状态

主库状态(switchover_status)

        NOT ALLOWED:未找到备库。

        TO STANDBY:当前主机已就绪,可切换为备机。

        SESSIONS ACTIVE:当前主机存在活动会话,但也可切换为备机。

        RESOLVABLE GAP:备库未开启数据同步,导致主备数据有差异。

备库状态(switchover_status)

        NOT ALLOWED:主库还未执行switchover,不允许切换为主。

        TO PRIMARY:当前备机已就绪,可切换为主机。

        SESSIONS ACTIVE:当前备机存在活动会话,但页可切换为主机。

        RECOVERY NEEDED:当前未开启数据同步。

正常切换(switchover)

主备切换

1.主库切换为备库,如下图:

--1.查询主库状态为TO STANDBY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换主库角色为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;
--3.重启数据库到open模式
startup
--4.开启redo同步
alter database recover managed standby database using current logfile disconnect from session;
--5.查询数据库状态已经是TO PRIMARY(主库成功切换为备库)
select database_role,switchover_status from v$database;
--6.查询数据库打开模式为READ ONLY WITH APPLY(读写分离,redo实时同步)
select open_mode from v$database;

 此时,主库已经切换为备库,下面可以在所有备库选择一个切换为主库。

 2.备库切换为主库,如下图:

--1.查询备库状态为TO PRIMARY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换备库角色为主库
alter database commit to switchover to primary;
alter database commit to switchover to primary with session shutdown;
--3.打开数据库(切换完后为mount状态)
alter database open;
--4.查询数据库状态为TO STANDBY(表示切换完成)
select database_role,switchover_status from v$database;

至此,正常切换完成,可在主库insert/update数据看是否实时可在备库中select到。

应急切换(failover)

1.模拟主库不可用,如下图,直接关闭主数据库:

shutdown immediate;


2. 切换备库为主库,如下图:

--1.查询备库状态NOT ALLOWED
select database_role,switchover_status from v$database;
--2.执行sql停止同步并应用所有redo
alter database recover managed standby database cancel;
alter database recover managed standby database finish;
--3.切换备库为主库
alter database commit to switchover to primary;
alter database commit to switchover to primary with session shutdown;
--4.打开数据库(切换完后为mount状态)
alter database open;
--5.查询数据库状态为TO STANDBY(表示切换完成)
select database_role,switchover_status from v$database;

至此,应急切换完成,备库可正常使用了。

3.若原主库故障解决,利用RMAN将主库恢复到备库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/562805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java八股文(秒杀)

Java八股文の秒杀 秒杀 秒杀 你对秒杀功能模块的理解是什么?你认为秒杀功能的关键点是什么? ○ 秒杀功能模块是指在一段时间内,将某个商品以非常优惠的价格或特殊活动进行销售,从而吸引大量用户抢购。其关键点是高并发的请求处理…

hadoop基本概念

一、概念 Hadoop 是一个开源的分布式计算和存储框架。 Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和 MapReduce。 二、HDFS 命名节点 (NameNode) 命名节点 (NameNod…

一文详解Rust中的字符串

有人可能会说,字符串这么简单还用介绍?但是很多人学习rust受到的第一个暴击就来自这浓眉大眼、看似毫无难度的字符串。 请看下面的例子。 fn main() {let my_name "World!";greet(my_name); }fn greet(name: String) {println!("Hello…

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

CICD流水线(ali)

后端CICD 一、打开云效流水线,创建流水线

2024年企业级通用人工智能的关键技术趋势

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

UDS升级入门,手把手教你——QT上位机开发1

上位机开发1 QT环境: 1、环境搭建 需要用到周立功 相关接口,拿到库文件,进行二次开发 使用以下文件 新建立一个工程,或者网找一个demo工程,在原有的基础进行开发(建议使用第二种)。 并…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀,在不到两年的时间内,迅速被广大开发者青睐和推崇,得益于它颠覆性的优势“快”,快到可以节省7套代码。本课程由uni-app开发者团队成员亲授,带领大家无障碍快速掌握完整的uni-app…

Redis的String类型为什么重新设计使用了SDS数据结构呢

Redis 选择重新设计其 String 类型的底层数据结构,采用 SDS(Simple Dynamic String)而不是直接使用 C 语言标准库提供的原生字符串(char*)的原因主要包括以下几点: O(1) 时间复杂度获取长度: 在…

Stable Diffusion实现光影字效果

昨天下午有人在群里发光影图片,大家都觉得很酷,我没怎么在意。直到早上我在小红书看到有人发同款图片,只是一晚上的时间点赞就超过了8000,而且评论数也很高,也可以做文字定制变现。研究了一下发现这个效果不难实现&…

@ohos.router (页面路由)实现页面间跳转与数据传递

一、描述 本模块提供通过不同的url访问不同的页面,包括跳转到应用内的指定页面、用应用内的某个页面替换当前页面、返回上一页面或指定的页面等。 二、导入模块 import router from ohos.router 三、router.pushUrl 1、描述 跳转到应用内的指定页面。 router.pu…

对话悠易科技蔡芳:品牌逐渐回归核心能力建设,布局和构建自己的流量阵地

关于SaaS模式在中国的发展,网上出现多种声音。Marteker近期采访了一些行业专家,围绕SaaS模式以及Martech在中国的发展提出独特观点。悠易科技副总裁蔡芳认为,中国目前存在SaaS的应用场景与客户需求,用户的应用能力也在提升&#x…