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 ...
随机推荐
- Java面试题-基础篇二(干货)
11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用 ...
- 洛谷 P5596 【XR-4】题
洛谷 P5596 [XR-4]题 洛谷传送门 题目描述 小 X 遇到了一道题: 给定自然数 a,ba,b,求满足下列条件的自然数对 (x,y)(x,y) 的个数: y^2 - x^2 = ax + b ...
- vue2.x 监听数据变化 ---- watch
computed: { //需要监听的数据 loginToken () { return this.$store.state.userinfo.status; } }, watch: { loginT ...
- SQL Server 迁移数据库 (三)使用SQL脚本
1. 创建脚本 1.1 在需要迁移的数据库上右击>Tasks>Generate Scrips 1.2 前两步直接Next,第三步我这里选择Save to Clipboard,因为如果选Sa ...
- javaagent的实现
实现javaagent功能的是一个叫做instrument的JVMTIAgent(linux下对应的动态库是libinstrument.so),另外instrument agent还有个别名叫JPLI ...
- 机器学习之线性回归以及Logistic回归
1.线性回归 回归的目的是预测数值型数据的目标值.目标值的计算是通过一个线性方程得到的,这个方程称为回归方程,各未知量(特征)前的系数为回归系数,求这些系数的过程就是回归. 对于普通线性回归使用的损失 ...
- 二分图学习记 之 KM算法 二分图最大权完美匹配。
前置知识 :匈牙利算法 首先有这样一张图,求这张图的最大权完美匹配. 当然如果你不想看这些渣图的话,您可以转到 洛谷 运动员最佳匹配问题 下面我来强行解释一下KM算法 左边一群妹子找汉子,但是每个妹子 ...
- TreeMap 原理
基于jdk1.8 TreeMap第一个想到的就是有序,当然也不是线程安全 TreeMap实现NavigableMap接口,说明支持一系列的导航方法 一.构造方法 public TreeMap() { ...
- 基于Django的Rest Framework框架的版本控制
本文目录 一 作用 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 源码分析 回到目录 一 作用 用于版本的控制 回到目录 二 内置的版本控制类 from rest_framework.v ...
- Windows7运行python3,提示缺少api-ms-win-crt-runtime-l1-1.0.dll
一.实验环境 1.Windows7x64_SP1 二.操作步骤 2.1 python官网下载python3.6后,安装.运行,提示如下错误: 2.2 解决方式 去微软官网下载安装:KB2999226补 ...