本篇文档学习,DG备库,实时应用如何判断,MR进程,及MRP应用归档,三种情况的查询及验证

1.取消MRP进程

备库查询进程状态
select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby;
PROCESS CLIENT_P SEQUENCE# STATUS BLOCK# BLOCKS
--------- -------- ---------- ------------ ---------- ----------
ARCH ARCH 0 CONNECTED 0 0
ARCH ARCH 0 CONNECTED 0 0
ARCH ARCH 0 CONNECTED 0 0
ARCH ARCH 0 CONNECTED 0 0
RFS UNKNOWN 0 IDLE 0 0
RFS UNKNOWN 0 IDLE 0 0
MRP0 N/A 1124 WAIT_FOR_LOG 0 0

WAIT_FOR_LOG --等待日志传输,说明当前MRP进程应用归档文件进行介质恢复

取消MRP进程应用

alter database recover managed standby database cancel;

select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby where PROCESS like '%M%';

no rows selected

2.启用Foreground recovery session MR(fg),前台恢复进程应用归档文件进行恢复
启用MRP进程,应用归档进行进行恢复

SYS@dage >recover managed standby database;

查询MRP进程状态

PROCESS CLIENT_P SEQUENCE# STATUS BLOCK# BLOCKS
--------- -------- ---------- ------------ ---------- ----------
MR(fg) N/A 1126 APPLYING_LOG 58451 86733 --前台等待状态,应用归档日志

WAIT_FOR_LOG - 进程正在等待归档的重做日志完成

WAIT_FOR_GAP - 进程正在等待解决存档差距

APPLYING_LOG - 进程正在将归档的重做日志主动应用于备用数据库

查询归档进程状态

select dest_name,status,recovery_mode from v$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_1';
DEST_NAME STATUS RECOVERY_MODE
---------------------------------------- --------- -----------------------
LOG_ARCHIVE_DEST_1 VALID MANAGED (Managed recovery is active)应用归档日志

--查询当前已归档的最大归档文件序列号
SYS@dage >select max(sequence#),thread# from v$archived_log group by thread#;
MAX(SEQUENCE#) THREAD#
-------------- ----------
1162 1

--再次查询MRP进程状态,WAIT_FOR_LOG,
MR(fg) N/A 1163 WAIT_FOR_LOG 0 0

小结:如下命令直接启用MR进程,会话不断开,最初MR进程,Foreground recovery session,进程状态最初APPLYING_LOG,应用归档日志,随后归档日志应用完毕后,进程处于等待WAIT_FOR_LOG状态,等待主库传输归档
recover managed standby database;

3.启用MRP进程,后台恢复进程应用归档文件进行恢复

alter database recover managed standby database cancel;

recover managed standby database disconnect from session;

select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby where PROCESS like '%M%';

PROCESS CLIENT_P SEQUENCE# STATUS BLOCK# BLOCKS
--------- -------- ---------- ------------ ---------- ----------
MRP0 N/A 1163 WAIT_FOR_LOG 0 0

--进程为MRP0进程, 处于WAIT_FOR_LOG 等待主库传输归档状态

查询归档进程状态

select dest_name,status,recovery_mode from v$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_1';

DEST_NAME STATUS RECOVERY_MODE
---------------------------------------- --------- ----------
LOG_ARCHIVE_DEST_1 VALID MANAGED

4.启用Foreground recovery session MR(fg),前台恢复进程应用standby redo logfile进行恢复
alter database recover managed standby database cancel;

--启用MR前台恢复进程

alter database recover managed standby database using current logfile;

or

recover managed standby database using current logfile; --等价

--查询进程状态,APPLYING_LOG
select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby where PROCESS like '%M%';
PROCESS CLIENT_P SEQUENCE# STATUS BLOCK# BLOCKS
--------- -------- ---------- ------------ ---------- ----------
MR(fg) N/A 1169 APPLYING_LOG 202 203

查询归档进程状态
select dest_name,status,recovery_mode from v$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_1';
DEST_NAME STATUS RECOVERY_MODE
--------------------------------------- --------- -----------------------
LOG_ARCHIVE_DEST_1 VALID MANAGED REAL TIME APPLY

查询standby 状态发现
select group#,thread#,sequence#,bytes/1024/1024 m,blocksize,status from v$standby_log;
GROUP# THREAD# SEQUENCE# M BLOCKSIZE STATUS
---------- ---------- ---------- ---------- ---------- ----------
11 1 1172 50 512 ACTIVE
12 1 0 50 512 UNASSIGNED
13 1 0 50 512 UNASSIGNED

5.启用MRP 进程,后台恢复进程应用standby redo logfile进行恢复

recover managed standby database using current logfile disconnect;
or
alter database recover managed standby database using current logfile disconnect;

--主库查询
select DEST_NAME,STATUS,TRANSMIT_MODE,NET_TIMEOUT from v$archive_dest;
DEST_NAME STATUS TRANSMIT_MOD NET_TIMEOUT
---------------------------------------- --------- ------------ -----------
LOG_ARCHIVE_DEST_1 VALID SYNCHRONOUS 0
LOG_ARCHIVE_DEST_2 VALID PARALLELSYNC 30 --并行同步数据

--备库查询
select dest_name,status,recovery_mode from v$archive_dest_status;
DEST_NAME STATUS RECOVERY_MODE
---------------------------------------- --------- -----------------------
LOG_ARCHIVE_DEST_1 VALID MANAGED REAL TIME APPLY

--进程状态MRP进程
select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby;
PROCESS CLIENT_P SEQUENCE# STATUS BLOCK# BLOCKS
--------- -------- ---------- ------------ ---------- ----------
MRP0 N/A 1172 APPLYING_LOG 1272 102400

总结:备库应用恢复有四种状态
MRP0 后台 应用归档 or 应用standby redo log
MR((fg) 前台 应用归档 or 应用standby redo log

什么是前台,后台,前台进程,会话断开,进程关闭
什么时候开启前台进程MR,什么时候开启后台MRP0进程
在执行程命令时,未加入disconnect参数,会话不断开,及开启MR前台进程

MRP0进程应用归档,v$managed_standby视图中status为何还存在APPLYING_LOG?
APPLYING_LOG,只是说明了进程正在应用归档,并非标识MRP0进程是否实时应用

如何查询,是否实时应用?
select dest_name,status,recovery_mode from v$archive_dest_status;
recovery_mode=MANAGED REAL TIME APPLY

开启实时应用的前提条件
1.数据库版本>10g
2.需要提取创建standby redo logfile

DG备库,实时应用如何判断,MR进程,及MRP应用归档,三种情况的查询及验证的更多相关文章

  1. 使用using current logfile实现DG备库实时更新

    DG1是主库,DG2是备库:运行在最大可用模式. 实验一:未使用using current logfile参数时,备库在最大可用模式下,不能实时同步备库的更新 -此时需要等待主库进行归档---侧面证明 ...

  2. 模拟主库创建数据文件,dg备库空间不足时问题处理

    本篇文档测试目的: 模拟实际环境中,主库对表空间添加数据文件,备库空间不足,最终导致MRP进程自动断开,处理方式. 1.问题环境模拟 1)正常情况下的dg 主库创建数据文件,备库接受日志,自动创建表空 ...

  3. DG备库无法接受主库归档日志之密码文件

    DG备库无法接受主库归档日志之密码文件 实验目的:还原某个客户案例,客户审计需要,对主库sys用户进行锁定,一小时后对sys用户进行解锁后,发现备库无法接受主库的归档日志 本篇文章,测试sys用户与D ...

  4. Oracle-DG最大保护模式下,dg备库出现问题对主库有什么影响?

    一.需求 疑问?Oracle最大保护模式下,dg备库出现问题,影响主库吗? 我们都知道Oracle最大保护模式的意思是oracle不允许数据丢失,1条记录都不行! 那么备库有问题? oracle主库还 ...

  5. JavaScript判断图片是否加载完成的三种方式

    JavaScript判断图片是否加载完成的三种方式 有时需要获取图片的尺寸,这需要在图片加载完成以后才可以.有三种方式实现,下面一一介绍. 一.load事件 1 2 3 4 5 6 7 8 9 10 ...

  6. DG备库缺失归档文件GAP日志

    问题现象: XXXsdgebus-dg GAP手工注册归档 #出现GAP idle>select * from v$archive_gap; THREAD# LOW_SEQUENCE# HIGH ...

  7. Oracle DG备库强制switch_over过程

    故障描述: 主库异常下线,需要将备库强制启动为主库,切断日志时提示需要介质恢复,执行介质恢复后,再激活日志即可进行切换 1.  执行alter database recover managed sta ...

  8. DG备库磁盘空间满导致无法创建归档

    上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...

  9. 使用DUPLICATE 方式创建ORACLE 11G DG备库环境

    我的最佳实践 ① 手动创建好初始化参数文件: *.audit_file_dest='E:\APP\XJXU\ADMIN\ORASTAND\ADUMP'*.control_files='E:\APP\X ...

随机推荐

  1. H5新特性实现对class的增删改

    直接撸代码 全靠死记硬背 没什么技术点 HTML部分 <!DOCTYPE html> <html lang="en"> <head> <m ...

  2. MapReduce分布式算法

    一.MapReduce 有一种特殊的并行算法,就是分布式算法.在并行算法只需要两个到四个内核时,完全可以在笔记本电脑上运行,但是如果需要数百个内核,这种情况下,可让算法在多台计算机上运行. 假设你有一 ...

  3. hosts.allow和hosts.deny支持哪些服务

    一.背景简介 在linux上多用iptables来限制ssh和telnet,编缉hosts.allow和hosts.deny感觉比较麻烦比较少用. aix没有iptables且和linux有诸多不同, ...

  4. C++简单输入输出-计算火车运行时间

    //写的很差,无力tc 7-4 计算火车运行时间 (17 分) 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间. 输入格式: 输入在一行中给出2个4位正整数,其间以空格分隔,分别 ...

  5. C++ 保留有效小数 保留有效数字

    1.需要头文件 #include <iomanip> 2. 要保留两位有效小数 cout<<setiosflags(ios::fixed)<<setprecisio ...

  6. day05列表 类型

    基本使用 1用途:记录多个值,比如人的多个爱好 # ======================================基本使用================================ ...

  7. python3 爬取简书30日热门,同时存储到txt与mongodb中

    初学python,记录学习过程. 新上榜,七日热门等同理. 此次主要为了学习python中对mongodb的操作,顺便巩固requests与BeautifulSoup. 点击,得到URL https: ...

  8. Linux运维工程师真实的工作状态到底是怎么样的?

    现在的运维工程师在大家眼中是个什么样子呢? 是不是还是把服务器搬来搬去,每天不是在拿着Linux光盘开始装系统,就是在等待系统安装完成.你如果还是这么想,那就大错特错了.现在又有做一个新的物种诞生,那 ...

  9. bzoj2301

    题解: 莫比乌斯反演 再加上一个分块 然后和上一题差不多了 代码: #include<cstdio> #include<cmath> #include<algorithm ...

  10. 【转载】JVM系列二:GC策略&内存申请、对象衰老

    JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generatio ...