Oracle的DATAGUARD环境,有PHYSICAL STANDBY和LOGICAL STANDBY两种。
PHYSICAL STANDBY是传输REDO传到Standby端,然后由Standby端的MRP进程应用该Redo,以达到同期效果。
LOGICAL STANDBY是传输REDO传到Standby端,然后由Standby端的LSP进程调用LogMiner来抽取SQL文,然后执行该SQL文以达到同期效果。
这里介绍一个简单的确认同期状况的方法:

ODM TEST CASE
===================
Name = TC#1010_1

####Primary####

SQL> set line 300
SQL> select database_role,OPEN_MODE from v$database;
select instance_name,status from v$instance;
DATABASE_ROLE                                    OPEN_MODE
------------------------------------------------ ------------------------------------------------------------
PRIMARY                                          READ WRITE

SQL>

INSTANCE_NAME                                    STATUS
------------------------------------------------ ------------------------------------
orcl                                             OPEN

SQL> create user USER_A identified by USER_A;

ユーザーが作成されました。

SQL> grant dba to USER_A;

権限付与が成功しました。

SQL> conn USER_A/USER_A
接続されました。
SQL> create table TBL_DGTEST(
id char(8),
USER_NAME varchar2(250));  2    3

表が作成されました。

SQL> declare
    vID     char(8);
    vText   varchar2(250);
 begin
    dbms_random.seed(uid);
   for i in 1..1000000
    loop
            vID := to_char(i, 'FM00000000');
            vText := dbms_random.string('x', 16);
           insert into TBL_DGTEST (id, USER_NAME) values (vID, vText);
           if (mod(i, 100) = 0) then
                   commit;
           end if;
   end loop;
   commit;
end;
/  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17

PL/SQLプロシージャが正常に完了しました。

SQL> select count(*) from TBL_DGTEST;

COUNT(*)
----------
  1000000

SQL>

####Standby####

SQL> set line 300
SQL> select database_role,OPEN_MODE from v$database;
select instance_name,status from v$instance;
DATABASE_ROLE                                    OPEN_MODE
------------------------------------------------ ------------------------------------------------------------
LOGICAL STANDBY                                  READ WRITE ★LOGICAL STANDBY

SQL>

INSTANCE_NAME                                    STATUS
------------------------------------------------ ------------------------------------
orcls                                            OPEN

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; ★Begin applying sql

データベースが変更されました。

SQL> conn USER_A/USER_A
接続されました。
SQL> select count(*) from TBL_DGTEST;

COUNT(*)
----------
  1000000 ★

SQL>

ODM TEST CASE
===================
Name = TC#1010_2

####On Primary,insert 1000000 rows into TBL_DGTEST####

SQL> SELECT THREAD#, SEQUENCE# FROM V$LOG WHERE STATUS='CURRENT'; ★You will check that SEQUENCE# was growing

THREAD#  SEQUENCE#
---------- ----------
        1         96

SQL> SELECT THREAD#, SEQUENCE# FROM V$LOG WHERE STATUS='CURRENT'; ★

THREAD#  SEQUENCE#
---------- ----------
        1        101

SQL> SELECT THREAD#, SEQUENCE# FROM V$LOG WHERE STATUS='CURRENT'; ★

THREAD#  SEQUENCE#
---------- ----------
        1        102

####Use DBA_LOGSTDBY_LOG to moniter sql application on Standby####

SQL> SELECT SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#,TIMESTAMP,APPLIED FROM DBA_LOGSTDBY_LOG;

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       73        756171       757560 2017-03-01 20:29:55 YES
<省略>
       92        827738       833358 2017-09-28 14:20:09 YES
       93        833358       834365 2017-09-28 14:57:39 CURRENT ★93
       94        834365       834411 2017-09-28 14:57:39 NO

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       95        834411       834994 2017-09-28 14:57:40 NO
       96        834994       837710 2017-09-28 15:01:28 NO
       97        837710       840227 2017-09-28 15:02:06 NO
       98        840227       842731 2017-09-28 15:02:39 NO
       99        842731       845235 2017-09-28 15:03:16 NO
      100        845235       847751 2017-09-28 15:03:49 NO
      101        847751       850377 2017-09-28 15:04:27 NO

29行が選択されました。

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; ★begin SQL application

データベースが変更されました。

SQL> SELECT SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#,TIMESTAMP,APPLIED FROM DBA_LOGSTDBY_LOG;

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       73        756171       757560 2017-03-01 20:29:55 YES
<省略>
       92        827738       833358 2017-09-28 14:20:09 YES
       93        833358       834365 2017-09-28 14:57:39 YES ★SQL application was over
       94        834365       834411 2017-09-28 14:57:39 YES ★SQL application was over

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       95        834411       834994 2017-09-28 14:57:40 YES ★SQL application was over
       96        834994       837710 2017-09-28 15:01:28 YES ★SQL application was over
       97        837710       840227 2017-09-28 15:02:06 CURRENT ★SQL application is on going
       98        840227       842731 2017-09-28 15:02:39 CURRENT ★SQL application is on going
       99        842731       845235 2017-09-28 15:03:16 NO ★SQL application is in line
      100        845235       847751 2017-09-28 15:03:49 NO ★
      101        847751       850377 2017-09-28 15:04:27 NO ★

29行が選択されました。

SQL> /

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       73        756171       757560 2017-03-01 20:29:55 YES
<省略>
       92        827738       833358 2017-09-28 14:20:09 YES
       93        833358       834365 2017-09-28 14:57:39 YES
       94        834365       834411 2017-09-28 14:57:39 YES

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       95        834411       834994 2017-09-28 14:57:40 YES
       96        834994       837710 2017-09-28 15:01:28 YES
       97        837710       840227 2017-09-28 15:02:06 YES
       98        840227       842731 2017-09-28 15:02:39 YES
       99        842731       845235 2017-09-28 15:03:16 CURRENT ★SQL application is on going
      100        845235       847751 2017-09-28 15:03:49 CURRENT ★SQL application is on going
      101        847751       850377 2017-09-28 15:04:27 NO

29行が選択されました。

SQL> /

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       73        756171       757560 2017-03-01 20:29:55 YES
<省略>
       92        827738       833358 2017-09-28 14:20:09 YES
       93        833358       834365 2017-09-28 14:57:39 YES
       94        834365       834411 2017-09-28 14:57:39 YES

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       95        834411       834994 2017-09-28 14:57:40 YES
       96        834994       837710 2017-09-28 15:01:28 YES
       97        837710       840227 2017-09-28 15:02:06 YES
       98        840227       842731 2017-09-28 15:02:39 YES
       99        842731       845235 2017-09-28 15:03:16 YES
      100        845235       847751 2017-09-28 15:03:49 CURRENT ★SQL application is on going
      101        847751       850377 2017-09-28 15:04:27 CURRENT ★SQL application is on going

29行が選択されました。

SQL> /

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       73        756171       757560 2017-03-01 20:29:55 YES
<省略>
       92        827738       833358 2017-09-28 14:20:09 YES
       93        833358       834365 2017-09-28 14:57:39 YES
       94        834365       834411 2017-09-28 14:57:39 YES

SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED
---------- ------------- ------------ ------------------- ------------------------
       95        834411       834994 2017-09-28 14:57:40 YES
       96        834994       837710 2017-09-28 15:01:28 YES
       97        837710       840227 2017-09-28 15:02:06 YES
       98        840227       842731 2017-09-28 15:02:39 YES
       99        842731       845235 2017-09-28 15:03:16 YES
      100        845235       847751 2017-09-28 15:03:49 YES ★SQL application was over
      101        847751       850377 2017-09-28 15:04:27 YES ★SQL application was over

29行が選択されました。

SQL>

[Oracle][DATAGUARD] 关于确认LOGICAL STANDBY的同期状况的方法的更多相关文章

  1. [Oracle][DATAGUARD] 关于确认PHYSICAL STANDBY的同期状况的方法

    补上简单的确认PHYSICAL STANDBY的同期状况的方法: ODM TEST CASE===================Name = TC#1010_3 ####Primary#### SQ ...

  2. [Oracle][DATAGUARD] LOGICAL STANDBY环境里,有些SEQUENCE无法应用,导致Primary和Standby无法同期

    今天遇到了一个客户,问题是这样的,客户构筑了一个RACtoRAC的 LOGICAL STANDBY环境.并用EM在监视同期情况,发现EM页面上55115和55116这两个SEQUENCE一直在应用. ...

  3. Oracle Dataguard之物理standby的基本配置

    尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...

  4. Oracle DataGuard 物理Standby 搭建(上)

    物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...

  5. Oracle DG故障诊断一则:alter database recover to logical standby new_logical_dbname卡住

    我们在基于物理standby的基础上搭建逻辑备库过程过程中,在运行: alter database recover to logical standby READDB; 卡住不动,而且alert也没有 ...

  6. DataGuard相同SID物理Standby搭建

    Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...

  7. Oracle Dataguard 介绍

    Oracle DataGuard介绍 一. DataGuard的基本原理 当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件里记录此次更改.在DataGuard中 ...

  8. Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]

    Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...

  9. oracle dataguard主从切换

    前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...

随机推荐

  1. linux系统ansible一键完成三大服务器基础配置(剧本)

    ansible自动化管理剧本方式一键完成三大服务器基础配置 环境准备:五台服务器:管理机m01:172.16.1.61,两台web服务器172.16.1.7,172.16.1.8,nfs存储服务器17 ...

  2. io模型---非阻塞模型

    Linux下,可以通过设置socket使其变为non-blocking.当对一个non-blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用户进程发出read操作时,如果 ...

  3. 【codeforces 438D】The Child and Sequence

    [原题题面]传送门 [大致题意] 给定一个长度为n的非负整数序列a,你需要支持以下操作: 1:给定l,r,输出a[l]+a[l+1]+…+a[r]. 2:给定l,r,x,将a[l],a[l+1],…, ...

  4. [转载]使用IEDriverServer.exe驱动IE11,实现自动化测试

    转自:https://www.cnblogs.com/feiquan/p/8531618.html 下载地址: http://dl.pconline.com.cn/download/771640-1. ...

  5. SonarQube 中文教程 (1)- 简介

    SonarQube是什么 SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量. 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, Ja ...

  6. tomcat中显示本地图片①(已解决)

    解决方案 我直接放源码了. 原理就是:我虽然调用的是虚拟目录,但是会映射到对应路径的实际 第一步:(在tomcat的 server.xml中创建一个虚拟目录) 虚拟目录创建方式: <Contex ...

  7. 承接AR摄像头识别外包 AR图像识别 AR识别图像 AR识别应用外包

    增强现实简称AR,是一种实时计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并实现互动. 这里千万别和VR虚拟现实混了.简单说就是VR看到的场景都是假的, ...

  8. CF Manthan, Codefest 16 B. A Trivial Problem

    数学技巧真有趣,看出规律就很简单了 wa 题意:给出数k  输出所有阶乘尾数有k个0的数 这题来来回回看了两三遍, 想的方法总觉得会T 后来想想  阶乘 emmm  1*2*3*4*5*6*7*8*9 ...

  9. react初探(一)之JSX、状态(state)管理、条件渲染、事件处理

    前言: 最近收到组长通知我们项目组后面新开的项目准备统一技术栈为react,目前我的情况是三大框架只会angular和Vue.在实际项目中只使用过一次angular5,其余项目都是使用Vue写的.写篇 ...

  10. java动态代理实现与原理详细分析(代码层面解释了AOP的实现)

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式    代理模式是常用的java设计模式, ...