oracle dg状态检查及相关命令
oracle dg 状态检查
先检查备库的归档日志同步情况
SELECT NAME,applied FROM v$archived_log;
alter database recover managed standby database cancel;
select thread#,sequence#,standby_dest,archived,applied,status from v$archived_log order by 1,2;
alter database
recover managed standby database using current logfile disconnect from session;
.在备库 查看gap
1.
select * from
v$archive_gap;
ALTER DATABASE RECOVER MANAGED
STANDBY DATABASE DISCONNECT FROM SESSION;
查看主库的基本信息:
SYS@enmo1
hey~1->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE
DATABASE_ROLE
SWITCHOVER_STATUS
-------------------- -----------------------------
------------------------ ------------------------
READ WRITE MAXIMUM PERFORMANCE
PRIMARY
TO STANDBY
查看备库的基本信息:
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE
DATABASE_ROLE
SWITCHOVER_STATUS
------------------------- -----------------------------
------------------------ ------------------------
READ ONLY WITH APPLY MAXIMUM PERFORMANCE PHYSICAL
STANDBY NOT ALLOWED
备库应用日志保持和主库数据一致(如果不一致,执行如下语句应用日志)
SYS@enmo2
hey~2->recover managed standby database using current logfile disconnect
from session;
Media recovery complete.
SYS@enmo2
hey~2->recover managed standby database cancel;
Media recovery complete.
主库切换到备库角色并查看切换之后的状态为RECOVERY NEEDED
SYS@enmo1
hey~1->alter database commit to switchover to physical standby with session
shutdown;
Database
altered.
SYS@enmo1
hey~1->shutdown abort;
ORACLE instance
started.
Total System
Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 700451960 bytes
Database Buffers 121634816 bytes
Redo Buffers 6586368 bytes
Database mounted.
SYS@enmo1 hey~1->select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
RECOVERY NEEDED
切换应用日志,然后在查看切换状态为TO primary正常:
SYS@enmo1
hey~1->recover managed standby database using current logfile disconnect
from session;
Media recovery complete.
SYS@enmo1 hey~1->select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
备库切主库:
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- -------------------- ----------------
--------------------
MOUNTED MAXIMUM PERFORMANCE PHYSICAL STANDBY TO PRIMARY
SYS@enmo2
hey~2->alter database commit to switchover to primary with session shutdown;
Database
altered.
SYS@enmo2
hey~2->alter database open;
Database
altered.
SYS@enmo2
hey~2->select switchover_status,database_role from v$database;
SWITCHOVER_STATUS
DATABASE_ROLE
-------------------- ----------------
FAILED DESTINATION PRIMARY
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role from v$database;
OPEN_MODE
PROTECTION_MODE DATABASE_ROLE
-------------------- -------------------- ----------------
READ WRITE MAXIMUM PERFORMANCE
PRIMARY
二、备库不同步的问题检查方法
1、检查主备两边的序号
select max(sequence#) from v$log; ---检查发现一致
2、备库执行,查看是否有数据未应用
select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;
select
SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;
3、检查备库是否开启实时应用
select recovery_mode from v$archive_dest_status where dest_id=2;
4、检查备库状态
select switchover_status from v$database; --发现状态not allowed
3、看看进程MRP是否存在
ps aux|grep mrp --发现进程不存在
4、如果不存在执行以下:
alter database recover managed standby database using current logfile
disconnect;
alter
database recover managed standby database disconnect from session; --后台执行
alter
database recover managed standby database --前台执行,执行这个可以看到报错的情况
如果有报错,查看alert日志和log.xml日志
5、验证是否正常
select process,status from v$managed_standby;
select process,status,sequence# from v$managed_standby;
如果看到mrp0正常
6、以上步骤处理好后,如果数据还不正常,接着处理
关闭备库,接着处理:
把主库上 undotbs01.dbf 文件,物理的重拷到备库机上以前undotbs01.dbf 所在目录下;
$scp /data/oracle/oradata/voip/undotbs01.dbf 192.168.122.204:/data/oracle/oradata/voip
再在主库上重新生成一个standby control file ,拷到备库机上相应目录下,
alter
database create standby controlfile as '/data/oracle/oradata/voip/qyqdg01.ctl'
$scp
/data/oracle/oradata/voip/qyqdg01.ctl
192.168.122.204:/data/oracle/oradata/voip
$ mv qyqdg01.ctl control01.ctl
$ cp control01.ctl /data/oracle/flash_recovery_area/qyq/
$cd /data/oracle/flash_recovery_area/qyq/
$ mv control01.ctl control02.ctl
接着
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
--------------------------------------
session恢复完成后,重启打开备库;
alter
database open read only;
oracle dg状态检查及相关命令的更多相关文章
- linux系统状态查看/管理相关命令
系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...
- Oracle dg 状态校验
查看主库状态: select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE ...
- pgpool如何对数据库节点进行状态检查及相关数据结构描述
/* * configuration parameters */typedef struct { char *listen_addresses; /* hostnames/ ...
- [ SHELL编程 ] 编程常用的ORACLE相关命令
本文主要描述shell编程中常用的Oracle相关命令. 1.sqlplus -L/-S参数 sqlplus -L user/password #-L参数表示用户只尝试登录一次, 而不是在出错时再次提 ...
- oracle相关命令收集-张
orcle相关命令收集 1,用管理员登陆 /as sysdba:2, 更改用户密码 alter user name identified by password: alter user exptest ...
- Oracle基础介绍及常用相关sql*plus命令
以管理员身份运行Database Configuration Assistant,新建数据库实例. 要使用Oracle首先要启动Oracle服务,在任务管理器中找到服务,打开有关OracleServi ...
- 某控股公司OA系统ORACLE DG搭建
*此处安装ORACLE DATAGUARD是利用ORACLE RMAN DUPLICATE方式安装.*可以搭建好ORACLE DG再来impdp生产数据,也可以先导入主库数据再来做DG*注意看下面的配 ...
- ORACLE 12c RAC的常用管理命令
ORACLE 12c RAC的常用管理命令 一.查询 1.RAC查询 1.1.查询节点 [grid@swnode1 ~]$ su - grid [grid@swnode1 ~]$ /u01/app/1 ...
- oracle之 调整 I/O 相关的等待
I/O相关竞争等待简介 当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle ...
随机推荐
- fiddler---Fiddler工具详细介绍
在做测试的过程中,遇到一些问题都会去进行抓包,抓包可以帮助我们解决很多问题,抓包工具有很多比如fiddler,浏览器调试工具(F12),charles等,抓包工具是我们测试人员必不可少的一项技能. 什 ...
- vue 组件之纯表格渲染--没有事件交互
组件 名称小写==> 用-链接 02===> 属性==> empty-text="暂无数据" 当表格中没有数据 就会显示 暂无数据 <el-table-co ...
- 【bzoj4559】[JLoi2016]成绩比较(dp+拉格朗日插值)
bzoj 题意: 有\(n\)位同学,\(m\)门课. 一位同学在第\(i\)门课上面获得的分数上限为\(u_i\). 定义同学\(A\)碾压同学\(B\)为每一课\(A\)同学的成绩都不低于\(B\ ...
- unittest执行顺序,使用unittest.main()按照test开头,由0-9,A-Z,a-z的顺序执行; 可使用TestSuite类的addTest方法改变执行顺序;
import unittestclass Study(unittest.TestCase): # def setUp(self): # print('start') # def tearDown(se ...
- 理解docker镜像
镜像是用来启动容器的只读模板,是容器启动所需要的rootfs,类似于虚拟机所使用的镜像. 列出本机镜像 [root@localhost ~]# docker imagesREPOSITORY TAG ...
- Shiro内置过滤器
Shiro内置过滤器 DefaultFilter 枚举类定义了shiro所有的默认过滤器. package org.apache.shiro.web.filter.mgt; public enum D ...
- 洛谷P2508 [HAOI2008]圆上的整点
题目描述 求一个给定的圆$ (x^2+y^2=r^2) $,在圆周上有多少个点的坐标是整数. 输入格式 \(r\) 输出格式 整点个数 输入输出样例 输入 4 输出 4 说明/提示 \(n\le 20 ...
- .NET CORE下最快比较两个文件内容是否相同的方法
本文因为未考虑磁盘缓存, 结果不是很准确, 更严谨的结果请参看本博文的续集 最近项目有个需求,需要比较两个任意大小文件的内容是否相同,要求如下: 项目是.NET CORE,所以使用C#进行编写比较方法 ...
- 在windows上搭建git服务器教程
1.首先,需要确保windows系统上安装并配置了Java运行环境,JDK>=1.7. 2.下载Gitblit,下载地址:http://www.gitblit.com/ 3.解压缩下载的压缩包即 ...
- PHP匿名函数的写法
传统写法<pre>function timer () { echo "hello world";}Swoole\Timer::tick(2000, 'timer');& ...