Oracle 11g Dataguard 物理备库配置(四)之broker snapshot standby测试

简介:

Oracle 11g Dataguard 物理备库配置系列文档

Oracle 11g Dataguard 物理备库配置(一)之duplicate创建
Oracle 11g Dataguard 物理备库配置(二)之Active Dataguard测试
Oracle 11g Dataguard 物理备库配置(三)之Dataguard broker配置
Oracle 11g Dataguard 物理备库配置(四)之broker snapshot standby测试

Oracle 11g Dataguard 物理备库配置(五)之broker switchover测试

Oracle 11g Dataguard 物理备库配置(六)之broker fastfailover测试

 

Oracle 11g Dataguard 配置学习小结

http://koumm.blog.51cto.com/703525/1280139

 

Oracle 11g Dataguard Snapshot Standby数据库功能,可将备库置于打开读写状态,进行模拟生产环境主库中测试。当备库Snapshot standby任务完成后,可以切换回物理备库角色。在Snapshot Standby数据库状态下,备库是可以接受主库传过来的日志,但是不能够将变化应用在备库中。

本文采用Oracle 11g Dataguard broker snapshot standby配置


1. 采用dg broker配置snapshot standby配置

1) 查看配置信息

$ dgmgrl sys/oracle

DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.

欢迎使用 DGMGRL, 要获取有关信息请键入 "help"。
已连接。

DGMGRL> show configuration;

配置 - dgorcldb

  保护模式:        MaxPerformance
  数据库:
    orcl  - 主数据库
    slave - 物理备用数据库

快速启动故障转移: DISABLED

配置状态:
SUCCESS


2. 转换备库为镜像库(snapshot standby)

DGMGRL> convert database slave to snapshot standby;

正在将数据库 "slave" 转换为快照备用数据库, 请稍候...
数据库 "slave" 已成功转换

DGMGRL> 
DGMGRL> show configuration

配置 - dgorcldb

  保护模式:        MaxPerformance
  数据库:
    orcl   - 主数据库
    slave  - 快照备用数据库

快速启动故障转移: DISABLED

配置状态:
SUCCESS

DGMGRL> 


3. 测试镜像库

1) 备库上操作

[oracle@slave ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on 星期六 8月 17 21:35:29 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> conn / as sysdba;
已连接。
SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
READ WRITE           SNAPSHOT STANDBY slave


#此次镜像库已经是打开状态,数据库角色也是SNAPSHOT STANDBY 。


SQL> conn abc/abc
已连接。
SQL> select * from abc;

        ID NAME
---------- ----------
         0 aaa
         1 bbb

SQL> insert into abc values ( 11 , 'fffff' );

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from abc;

        ID NAME
---------- ----------
        11 fffff
         0 aaa
         1 bbb

SQL> 


2) 主库上查看

SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
READ WRITE           PRIMARY          orcl


在主库上插入记录,并切换日志。

SQL> conn abc/abc

SQL> select * from abc;

        ID NAME
---------- ----------
         0 aaa
         1 bbb


SQL> insert into abc values ( 2 , 'ccc' );

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from abc;

        ID NAME
---------- ----------
         2 ccc
         0 aaa
         1 bbb

SQL> 
SQL> conn / as sysdba;
SQL> alter system switch logfile;
SQL> archive log list;
数据库日志模式            存档模式
自动存档                  启用
存档终点                  /u01/archivelog/
最早的联机日志序列        16
下一个存档日志序列        18
当前日志序列              18

主库上新增一条记录并切换日志,说明17号日志是刚才规档的日志。

查看主库规档日志:

[root@master archivelog]# ll
-rw-r----- 1 oracle oinstall 22374912 08-16 22:51 arch_823637109_1_10.arc
-rw-r----- 1 oracle oinstall     2048 08-16 22:51 arch_823637109_1_11.arc
-rw-r----- 1 oracle oinstall  3137536 08-17 19:05 arch_823637109_1_12.arc
-rw-r----- 1 oracle oinstall     1536 08-17 19:05 arch_823637109_1_13.arc
-rw-r----- 1 oracle oinstall 23025664 08-17 20:03 arch_823637109_1_14.arc
-rw-r----- 1 oracle oinstall   686080 08-17 20:05 arch_823637109_1_15.arc
-rw-r----- 1 oracle oinstall 36077568 08-17 21:30 arch_823637109_1_16.arc
-rw-r----- 1 oracle oinstall   941056 08-17 21:49 arch_823637109_1_17.arc
-rw-r----- 1 oracle oinstall 23513088 08-16 21:06 arch_823637109_1_5.arc
-rw-r----- 1 oracle oinstall    52736 08-16 21:06 arch_823637109_1_6.arc
-rw-r----- 1 oracle oinstall  5014528 08-16 21:36 arch_823637109_1_7.arc
-rw-r----- 1 oracle oinstall   247808 08-16 21:40 arch_823637109_1_8.arc
-rw-r----- 1 oracle oinstall    48640 08-16 21:41 arch_823637109_1_9.arc

查看备库规档日志:
[root@slave archivelog]# ll
-rw-r----- 1 oracle oinstall 22374912 08-16 22:51 arch_823637109_1_10.arc
-rw-r----- 1 oracle oinstall     2048 08-16 22:51 arch_823637109_1_11.arc
-rw-r----- 1 oracle oinstall  3137536 08-17 19:05 arch_823637109_1_12.arc
-rw-r----- 1 oracle oinstall     1536 08-17 19:05 arch_823637109_1_13.arc
-rw-r----- 1 oracle oinstall 23025664 08-17 20:03 arch_823637109_1_14.arc
-rw-r----- 1 oracle oinstall   686080 08-17 20:06 arch_823637109_1_15.arc
-rw-r----- 1 oracle oinstall 36077568 08-17 21:31 arch_823637109_1_16.arc
-rw-r----- 1 oracle oinstall   941056 08-17 21:49 arch_823637109_1_17.arc
-rw-r----- 1 oracle oinstall  5014528 08-16 21:40 arch_823637109_1_7.arc
-rw-r----- 1 oracle oinstall   247808 08-16 21:40 arch_823637109_1_8.arc
-rw-r----- 1 oracle oinstall    48640 08-16 21:41 arch_823637109_1_9.arc
-rw-r----- 1 oracle oinstall     2048 08-17 21:30 arch_823728603_1_1.arc

发现17号日志经传到备库上,只是没有应用。

查看备库日志应用情况,16,17号日志都没有应用。
SQL> select sequence#,first_time,next_time,applied from v$archived_log order by sequence#;

 SEQUENCE# FIRST_TIME     NEXT_TIME      APPLIED
---------- -------------- -------------- ---------
         1 17-8月 -13     17-8月 -13     NO
         7 16-8月 -13     16-8月 -13     YES
         8 16-8月 -13     16-8月 -13     YES
         9 16-8月 -13     16-8月 -13     YES
        10 16-8月 -13     16-8月 -13     YES
        11 16-8月 -13     16-8月 -13     YES
        12 16-8月 -13     17-8月 -13     YES
        13 17-8月 -13     17-8月 -13     YES
        14 17-8月 -13     17-8月 -13     YES
        15 17-8月 -13     17-8月 -13     YES
        16 17-8月 -13     17-8月 -13     NO
        17 17-8月 -13     17-8月 -13     NO

已选择12行。


4. 镜像库(snapshot standby)转换备库

snaphost standyb是通过闪回功能实现,但是Oracle 11g dataguard snapshot standby配置与主备库是否启用闪回没有任何关系。
镜像库切换回备库的过程是通过闪回到原还点,并应用主库生成日志,实现主备一致。

1)切换回物理备库

DGMGRL> show configuration

配置 - dgorcldb

  保护模式:        MaxPerformance
  数据库:
    orcl   - 主数据库
    slave  - 快照备用数据库

快速启动故障转移: DISABLED

配置状态:
SUCCESS

DGMGRL> 
DGMGRL> convert database slave to physical standby;

正在将数据库 "slave" 转换为物理备用数据库, 请稍候...
操作要求关闭实例 "slave" (在数据库 "slave" 上)
正在关闭实例 "slave"...
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
操作要求启动实例 "slave" (在数据库 "slave" 上)
正在启动实例 "slave"...
ORACLE 例程已经启动。
数据库装载完毕。
正在继续转换数据库 "slave" ...
操作要求关闭实例 "slave" (在数据库 "slave" 上)
正在关闭实例 "slave"...
ORA-01109: 数据库未打开

已经卸载数据库。
ORACLE 例程已经关闭。
操作要求启动实例 "slave" (在数据库 "slave" 上)
正在启动实例 "slave"...
ORACLE 例程已经启动。
数据库装载完毕。
数据库 "slave" 已成功转换
DGMGRL> 


2) 转换成功,查看结果,切换成功

DGMGRL> show configuration

配置 - dgorcldb

  保护模式:        MaxPerformance
  数据库:
    orcl  - 主数据库
    slave - 物理备用数据库

快速启动故障转移: DISABLED

配置状态:
SUCCESS

DGMGRL> 


3)查看备库角色与记录

SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
MOUNTED              PHYSICAL STANDBY slave


#打开Active dataguard特性查看验证,日志记录应用。

SQL> alter database open;  

数据库已更改。

SQL> conn abc/abc
已连接。
SQL> select * from abc;

        ID NAME
---------- ----------
         2 ccc
         0 aaa
         1 bbb
SQL> 

已经还原到与主库记录一致状态。




本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1275549,如需转载请自行联系原作者


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
Oracle 关系型数据库 流计算
Flink CDC不支持直接连接到Oracle ADG备库进行数据同步
Flink CDC不支持直接连接到Oracle ADG备库进行数据同步
122 1
|
3天前
|
SQL Oracle 关系型数据库
oracle11g SAP测试机归档日志暴增排查(二)
oracle11g SAP测试机归档日志暴增排查(二)
13 1
|
3天前
|
Oracle 关系型数据库 Shell
oracle11g SAP测试机归档日志暴增排查(一)
oracle11g SAP测试机归档日志暴增排查(一)
11 1
|
6月前
|
Oracle 关系型数据库 数据库
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
78 1
|
9月前
|
Oracle 关系型数据库 Apache
一键实现 Oracle 数据整库同步至 Apache Doris
极大降低数据同步门槛,使数据同步变得更加简单高效
一键实现 Oracle 数据整库同步至 Apache Doris
|
10月前
|
SQL Oracle 关系型数据库
docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记
docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记
1031 0
|
11月前
|
人工智能 运维 Oracle
ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下(文末投票)
ChatGPT已经通过了很多考试,姚远老师是Oracle OCP和MySQL OCP讲师,我很好奇ChatGPT能不能通过Oracle OCP的考试呢?让我们拿Oracle 19c OCP考试(1z0-082)的真题对ChatGPT进行一个测试。
137 0
|
11月前
|
人工智能 运维 Oracle
ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下。
第1道题ChatGPT就做错了,姚远老师心里不禁窃喜,看来ChatGPT也不咋地,我们也许不会失业,让我们来看看第一道题的题目
122 0
|
12月前
|
存储 XML SQL
Oracle 数据库自动诊断库 ADR(Automatic Diagnostic Repository)简介 发表在 数据和云
Oracle 数据库如果出现故障,我们的第一个反应是查看数据库的 alert log,但一些工程师对 alert log 不熟悉,实际上 alert log 位于Oracle 数据库自动诊断库(Automatic Diagnostic Repository,以下简称 ADR) 中,要熟悉 alert log,我们必需全面了解 ADR 的概念。
221 0
|
12月前
|
Oracle 关系型数据库 测试技术
使用swingbench进行Oracle的基准测试和造数据
别忘了设置环境变量,安装oracle客户端
149 0