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,如需转载请自行联系原作者


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
Oracle 关系型数据库 数据库
手把手教你Oracle DataGuard主备切换(switchover)
手把手教你Oracle DataGuard主备切换(switchover)
1991 4
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之和Oracle数据同步必须是使用主库吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用合集之和Oracle数据同步必须是使用主库吗
|
11月前
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
673 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
Oracle 网络协议 安全
Oracle 11g DataGuard搭建保姆级教程
Oracle 11g DataGuard搭建保姆级教程
1568 4
|
Oracle 网络协议 关系型数据库
Oracle DataGuard主备切换之自动切换
Oracle DataGuard主备切换之自动切换
816 2
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
238 0
|
监控 Oracle 关系型数据库
关系型数据库Oracle恢复测试
【7月更文挑战第20天】
355 7
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
185 3

推荐镜像

更多