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状态检查及相关命令的更多相关文章

  1. linux系统状态查看/管理相关命令

    系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...

  2. Oracle dg 状态校验

    查看主库状态: select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE ...

  3. pgpool如何对数据库节点进行状态检查及相关数据结构描述

    /* * configuration parameters */typedef struct {    char *listen_addresses;            /* hostnames/ ...

  4. [ SHELL编程 ] 编程常用的ORACLE相关命令

    本文主要描述shell编程中常用的Oracle相关命令. 1.sqlplus -L/-S参数 sqlplus -L user/password #-L参数表示用户只尝试登录一次, 而不是在出错时再次提 ...

  5. oracle相关命令收集-张

    orcle相关命令收集 1,用管理员登陆 /as sysdba:2, 更改用户密码 alter user name identified by password: alter user exptest ...

  6. Oracle基础介绍及常用相关sql*plus命令

    以管理员身份运行Database Configuration Assistant,新建数据库实例. 要使用Oracle首先要启动Oracle服务,在任务管理器中找到服务,打开有关OracleServi ...

  7. 某控股公司OA系统ORACLE DG搭建

    *此处安装ORACLE DATAGUARD是利用ORACLE RMAN DUPLICATE方式安装.*可以搭建好ORACLE DG再来impdp生产数据,也可以先导入主库数据再来做DG*注意看下面的配 ...

  8. ORACLE 12c RAC的常用管理命令

    ORACLE 12c RAC的常用管理命令 一.查询 1.RAC查询 1.1.查询节点 [grid@swnode1 ~]$ su - grid [grid@swnode1 ~]$ /u01/app/1 ...

  9. oracle之 调整 I/O 相关的等待

    I/O相关竞争等待简介 当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle ...

随机推荐

  1. 关于如何刷新清除某个特定网站的缓存---基于Chrome浏览器

    今天工作时又发现了一个小技巧 1.打开一个网站如:百度 2.打开F12开发者模式 3.右键浏览器的刷新按钮,会出现三个选项:正常重新加载,硬性重新加载,清空缓存并硬性重新加载 正常重新加载 Ctrl+ ...

  2. postman---postman增加断言

    我们在做测试的时候都会有一个验证点,我们通常把这个验证点叫做断言,断言通过了就会说明我们的这个用例是通过的,当然这么强大的postman也是有断言的,我们一起学习下如何通过postman增加断言. 断 ...

  3. Ambari 大数据集群管理

    最近做了一个大数据项目,研究了下集群的搭建,现在将集群搭建整理的资料与大家分享一下!如有疑问可在评论区回复. 1前置配置 Centos7系统,每台系统都有java运行环境 全程使用root用户,避免安 ...

  4. 25.Java基础_继承

    继承的格式(Java类) Java中继承的注意事项 继承的好处与弊端 继承中成员变量的访问特点(对public形式的变量来说) 继承中成员函数的访问特点 this和super: 继承中构造方法的访问特 ...

  5. AtCoder Beginner Contest 145

    传送门 A - Circle 签到. B - Echo 签到到. C - Average Length 要卡下精度,可用二分或者long double来搞. Code /* * Author: hey ...

  6. 4.web基础$_POST

  7. Linux下MongoDB安装和配置(二)

    1. 下载MongoDB 下载地址:https://www.mongodb.com/download-center/community 这里选择的是:mongodb-linux-x86_64-4.0. ...

  8. LeetCode 676. Implement Magic Dictionary实现一个魔法字典 (C++/Java)

    题目: Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll ...

  9. 10.python3实用编程技巧进阶(五)

    5.1.如何派生内置不可变类型并修其改实例化行为 修改实例化行为 # 5.1.如何派生内置不可变类型并修其改实例化行为 #继承内置tuple, 并实现__new__,在其中修改实例化行为 class ...

  10. session未释放

    客户反映一个关于session的bug,说有了1,2天以后,就无法登陆了. 我们这边试了好几天,都没有出现类似问题,后来没办法,只能远程开会,7点左右和他们通话,偶然发现他们居然直接关remote d ...