物理dataguard 正常切换 脚色转换,switchover_status 状态改变

Oracle-通过(RECOVER STANDBY DATABASE FROM SERVICE)方式修复DataGuard Oracle在18c对(RESTORE/RECOVER ...FROM SERVICE)功能进行了加强,推出了(RECOVER STANDBY DATABASE ... FROM SERVICE)通过网络服务直接增量恢复备库数据,这个新特性也大大简化了DataGuard主备的问题修复。 阅读详情

物理dataguard 正常切换 脚色转换,switchover_status 状态改变:



正常切换

切换前: 
主库:

SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PRIMARY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
READ WRITE MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE TO STANDBY

SQL> SELECT COUNT(*) FROM V$SESSION WHERE USERNAME IS NOT NULL;

COUNT(*)
----------
1


在切换前,杀掉所有的数据库连接 观察SWITCHOVER_STATUS,如果是 TO STANDBY,则可以直接切换
如果SESSIONS ACTIVE ,则用

备用库 :

SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
MOUNTED MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE NOT ALLOWED


说明:

主库需要注意事项
A 如果switchover_status为TO_STANDBY说明可以转换
直接转换
alter database commit to switchover to physical standby;
B 如果switchover_status为SESSIONS ACTIVE 则关闭会话
SQL>alter database commit to switchover to physical standby with session shutdown;

在备库中操作,查看备库
SQL> select switchover_status from v$database;

A 如果switchover_status为TO_PRIMARY 说明标记恢复可以直接转换为primary库
SQL>alter database commit to switchover to primary

B 如果switchover_status为SESSION ACTIVE 就应该断开活动会话
SQL>alter database commit to switchover to primary with session shutdown;

C 如果switchover_status为NOT ALLOWED 说明切换标记还没收到,此时不能
执行转换。

切换中 :

备用库
SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
MOUNTED MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE SESSIONS ACTIVE

切换后备用的状态,模式:


SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PRIMARY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
READ WRITE MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE TO STANDBY


2. 检查环境:

确认主库和从库间网络连接通畅;

确认没有活动的会话连接在数据库中;

PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态;

确保STANDBY数据库处于ARCHIVELOG模式;

如果设置了REDO应用的延迟,那么将这个设置去掉;

确保配置了主库和从库的初始化参数,使得切换完成后,DATA GUARD机制可以顺利的运行。

如果是最大保护模式,先变成最大性能模式:


3. 切换的顺序: 先从主库到备用,再从备库到主库


主切备:

SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PRIMARY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
READ WRITE MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE TO STANDBY

SQL> 
SQL> 
SQL> alter database commit to switchover to physical standby ;

Database altered.

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup nomount ; 
ORACLE instance started.

Total System Global Area 3242987696 bytes
Fixed Size 733360 bytes
Variable Size 1174405120 bytes
Database Buffers 2063597568 bytes
Redo Buffers 4251648 bytes
SQL> alter database mount standby database;

Database altered.

SQL> alter database recover managed standby database disconnect from session;

Database altered.

SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
MOUNTED MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE TO PRIMARY

备切主
SQL> select DATABASE_ROLE from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
MOUNTED MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE TO PRIMARY

SQL> alter database commit to switchover to primary;

Database altered.

SQL> SQL> SQL> 
SQL> 
SQL> 
SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup ;
ORACLE instance started.

Total System Global Area 3242987696 bytes
Fixed Size 733360 bytes
Variable Size 1174405120 bytes
Database Buffers 2063597568 bytes
Redo Buffers 4251648 bytes
Database mounted.
Database opened.


修改主 备库 的 tnsnames.ora

主库SESSIONS ACTIVE是正常primary状态下的结果。

 

DataGuard:Physical Standby Failover

 

接physical standby switchover

 

primary db :db2

standby db :db1

 

一般情况下failover都是表示primary数据库瘫痪,最起码也是起不来了,因此这种类型的切换基本上不需要primary数据库做什么操作。所以下列步骤中如果有提到primary和standby执行的,只是建议你如果primary还可以用,那就执行一下,即使不去执行,对failover来说也没有关系

 

 

1.检查归档文件是否连续,是否有gap

      在standby库执行

      SQL> select THREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE# from v$archive_gap;

 2.如果步骤1查询出来纪录,则在primary库上执行,否则跳过此步骤

    在主库上执行语句,按步骤1查询出来的纪录找出归档文件

 SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN XX AND XX;

  --如果primary存在,拷贝相应的归档到STANDBY数据库,并注册.

  SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'xxx';

3.检查归档文件是否完整

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

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

  把相差的归档复制到待转换的standby服务器,并手工register

 

4.开始做failover

  察看standby进程状态

  SQL> select process,client_process,sequence#,status from v$managed_standby;

 

PROCESS  CLIENT_P SEQUENCE# STATUS

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

ARCH     ARCH            30 CLOSING

ARCH     ARCH             0 CONNECTED

RFS      LGWR            31 IDLE

RFS      ARCH             0 IDLE

RFS      N/A              0 IDLE

MRP0     N/A             31 APPLYING_LOG

 

   SQL> alter database recover managed standby database finish force ;

FORCE关键字将会停止当前活动的RFS进程,以便立刻执行failover。

  或

  SQL> alter database recover managed standby database finish skip standby logfile;

 

SQL> alter database commit to switchover to primary;

SQL> shutdown immediate

SQL> startup

 

SQL> select database_role,protection_mode,protection_level,open_mode from v$database;

 

DATABASE_ROLE   PROTECTION_MODE     PROTECTION_LEVEL    OPEN_MODE

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

PRIMARY         MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE READ WRITE

 

Failover切换成功


极速建站!用1Panel面板一键部署Halo博客的保姆级教程 | 企业官网/个人博客搭建教程 个人博客是一种在互联网上发布自己的文章、图片、视频等内容的平台,通常以文字为主要形式,但也可以包含其他媒体。个人博客的用途非常广泛。它可以用来记录博主的日常生活、分享自己的知识和经验、展示自己的作品和技能,以及交流自己的观点和看法。通过个人博客,博主可以与读者建立联系,分享自己的见解和体验,同时也可以从读者那里获得反馈和建议。 阅读详情

相关推荐

PLS-SEM(偏最小二乘路径建模)模型拟合优度指标

PLS-SEM(偏最小二乘路径建模)是一种基于方差的分析方法,侧重于预测导向,通过迭代优化路径系数和外部权重来最大化潜变量的解释方差(R²)。其评估指标分为外部测量模型和结构模型两部分:外部测量模型关注潜变量与显变量的关系,通过标准化载荷(>0.7)、信度指标(Cronbach’s α、复合信度CR>0.7)、聚合效度(AVE>0.5)和区分效度(Fornell-Larcker标准、HTMT<0.85)来评估模型的可靠性和有效性。结构模型则检验潜变量间的因果关系,通过路径系数(β值)

wewil_lwin的博客 3229

dataguard 主备切换

(1)首先查询主库状态,确认可以做切换: SQL> select switchover_status from v$database; SWITCHOVER_STATUS -------------------- TO STANDBY SQL> SWITCHOVER_STATUS有三个状态: to standby、 sessions active、 not allowed(该状态下无法

weiwang的专栏 907

CocosCreator 面试题(十七)Cocos creator 固定宽度与固定高度的底层原理是什么?Cocos creator是如何做适配的?

通过固定宽度或固定高度的适配方式,可以使游戏在不同屏幕尺寸上保持一定的一致性,确保游戏中的元素的大小和位置相对稳定。具体选择哪种适配方式取决于你的游戏需求和设计考虑。在 Cocos Creator 中,你可以通过设置「设计分辨率」和使用相对坐标和布局方式来实现固定宽度或固定高度的适配。总之,Cocos Creator 提供了多种适配方式和工具,帮助你在不同屏幕尺寸上保持游戏画面的一致性。在 Cocos Creator 中,固定宽度和固定高度是两种常见的适配方式,用于在不同屏幕尺寸上保持游戏画面的一致性。

w风雨无阻w的专栏 1688

switchover_status概念

一、switchover_status概念: A 如果switchover_status为TO_PRIMARY 说明标记恢复可以直接转换为primary库alter database commit to switchover to primary B 如果switchover_status为SESSION ACTIVE 就应该断开活动会话alter database commit to swi

dba_monkey的博客 4247

海康读码器上位机开发避坑指南:IDMVS客户端之外,如何用C# SDK搞定扫码、数据比对与实时控制?

本文详细介绍了如何利用海康读码器的C# SDK进行二次开发,实现从基础扫码到复杂工业控制的全流程解决方案。内容涵盖SDK架构解析、多设备管理系统构建、业务逻辑与设备控制实现,以及系统集成与性能优化等关键环节,为工业自动化领域的开发者提供实用指南。

weixin_30642561的博客 550

从理论到实践:TRL去嵌入校准在国产矢量网络分析仪上的应用全解析

本文全面解析了TRL去嵌入校准技术在国产矢量网络分析仪上的应用实践,从核心算法到工程实现。详细介绍了TRL校准的数学原理、国产VNA的程控接口开发、校准件质量评估及测量不确定度控制策略,帮助工程师掌握高频器件测量的关键技术。

tech5的博客 1012

v$database 中 switchover_Status参数含义说明

值 含义 NOT ALLOWED 当前的数据库不是带有备用数据库的主数据库 PREPARING DICTIONARY 该逻辑备用数据库正在向一个主数据库和其他备用数据库发送它的重做数据,以便为切换做准备 PREPARING SWITCHOVER 接受用于切换的重做数据时,逻辑备用配置会使用它 RECOVERY NEEDED 备用数据库还没有接收到切换请求 SESSIONS ACTIVE 在主数据库中存在活动的SQL会话;在继续执行之前必须断开这些会话 SWITCHOVER...

Ruishine的博客 974

1、工作流介绍

工作流起源于办公自动化,是对软件中业务流程的抽象。通过工作流将各个任务有序组织起来形成一个完整的业务闭环。比如:请假审批流程,网上购物流程,银行贷款流程;!

leyoliu的博客 5109

oracle dataguard switch over,Oracle学习之DATAGUARD(八) Switchover与failover

Switchover是将主从库角色切换,无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级啦,软件升级啦之类的。而failover是当主库发生故障时,如何将从库切换成主库。一、如何使用sql命令进行switchover 。检查主库是否支持switchover操作登录数据库,执行如下查询SQL>selectswitchover_statusfromv$database;...

weixin_39631519的博客 559

脑电信号处理实战 01 | 从 0 跑通第一个 EEG 分析:加载、滤波、频谱与“睁眼闭眼“

本文以 UCI 公开数据集"EEG Eye State"为例,从零走通脑电处理的完整流水线——数据加载、1–40 Hz 带通滤波、Welch 功率谱、频带功率、通道相关性与箱线图质控、睁闭眼对比和时频分析,并用 8 张科研风格图层层揭示这份数据中的伪迹与通道重复问题,说明"流程跑得通不等于结果可信,质量控制永远先行"。

qq_53529450的博客 115

AI上推荐 之 AutoInt模型(Transformer开始玩特征交互)

1. 写在前面 这段时间做优化模型的事情,正好和特征交互有关系,这个也是推荐系统里面一直探索的一个方向,从浅层模型的FM, FFM, HOFM, FwFM到深层模型的DNN, PNN, NFM, AFM, DeepFM, DCN, xDeepFM, FiBiNet等,而这次正好借着这次机会, 多看一些有关于特征交叉方向的模型paper, 把一些新的模型或者较为前沿的思想融入进来。 上一篇的FiBinet模型就是在特征交互上一个非常有意思的探索, 通过SENET动态选择有用的交互特征, 然后再用一个双线性交互

Miracle8070 5724

switch_status not allowed等物理dataguard 正常切换 脚色转换

物理dataguard 正常切换 脚色转换,switchover_status 状态改变: 正常切换 切换前: 主库: SQL> select DATABASE_ROLE from v$database; DATABASE_ROLE ---------------- PRIMARY SQL> select OPEN_MODE,PROTE

demonson的专栏 5929

MAC-电脑中的user文件夹在哪?

MAC-电脑中的user文件夹在哪?

兴趣是最好的老师 1万+

物理dataguard 正常切换 脚色转换

物理dataguard 正常切换 脚色转换,switchover_status 状态改变: [@more@]正常切换 切换前: 主库: SQL> select DATABASE_ROLE from v$database...

cuipeng3659的博客 131

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

dataguard 主备切换方式switchover 和 failover 操作步骤

dataguard 切换方式有两种方式:switchover 和 failover。(1)Switchover :无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级、软件升级之类的。switchover是有计划的,正常的切换,不会破坏数据库DG关系。通常它给你带来的工作量非常小并且都是可预计的。其执行分两个阶段,第一步,primary 数据库转换为standby 角色,第二步,standby 数据库转换为 primary 角色,primary 和 standby 只是简单的角色互换。

老苏畅谈运维 2101

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Oracle - ADG主备切换

ADG主备切换

m0_53148885的博客 3195

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ORACLE Dataguard安装

ORACLE Dataguard安装 2011-02-25 15:58:23|  分类: 数据库之Oracle |  标签:oracle  dataguard   |字号大中小 订阅 花了一周时间,终于部署和稳定都整理好了. 拷贝到blog里, 留份记录. 也算是对大

paluo的专栏 7400

Data Guard主备切换

关于DG环境搭建请跳转https://blog.youkuaiyun.com/weixin_42774383/article/details/82629349 一、Switchover正常切换 1、主库 (1)、查看主库状态及角色 SQL&gt; select name,database_role from v$database; NAME   DATABASE_ROLE --------- --...

吴用的博客很有用啊!!! 875

重庆思庄oracle技术分享-主备库redo日志大小不一样的异常处理

重庆思庄oracle技术分享-主备库redo日志大小不一样的异常处理

duanweifang的博客 629

Oracle Data Guard

至此,正常切换完成,可在主库insert/update数据看是否实时可在备库中select到。SESSIONS ACTIVE:当前主机存在活动会话,但也可切换为备机。SESSIONS ACTIVE:当前备机存在活动会话,但页可切换为主机。TO STANDBY:当前主机已就绪,可切换为备机。TO PRIMARY:当前备机已就绪,可切换为主机。此时,主库已经切换为备库,下面可以在所有备库选择一个切换为主库。3.若原主库故障解决,利用RMAN将主库恢复到备库。至此,应急切换完成,备库可正常使用了。

干货满满~ 943

查看各项Oracle数据库信息

一、数据库 数据库名称 ...

ctols1654的博客 775

Oracle 11g RAC如何把物理DG变成只读库

在DG上执行: SQL> select database_role from v$database; DATABASE_ROLE ---------------- PHYSICAL STANDBY 物理备库。...

cuihengju8933的博客 582

单节点DG的switchover切换介绍

本章主要介绍DG的switchover切换,当用方法论来统筹知识和经验的时候,操作笔记的价值并不大,不过新手可以借鉴 PRIMARY: 主库是处于open状态,有业务访问,v$database视图中的switchover_s...

cijuxk357157的博客 607

Oracle数据库 ADG主备切换

Failover一般表示Primary数据库瘫痪或至少无法启动,这种转换已不能在Primary数据库上做任何操作,只要更改Standby数据库的角色为primary。如果此时在主库插入数据,然后手动切换log,会发现archive log会传至备库,但是未被应用。此时因为原来的主库已经切换到的备库,所以这个备库可以切换到主库了,状态为:TO PRIMARY。3)一般情況下,新的primary数据库配置后,要建立新的Standby数据库。主备切换完成,在新的主库做数据变更,在新的备库做数据校验,是否同步。

qq_55914897的博客 2120
上一篇: tomcat 内存调整【备忘】
下一篇: 物理standby database的日常维护
nerissa
博客等级 码龄22年 9粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值