oracle-dg-如何将dg备库切换为snapshot模式-可读写-供业务功能测试

简介:
  • 在Dataguard中,可以将standby备库切换为snapshot快照数据库,在切换为snapshot数据库后,备库将置于可读写的模式。
  • 可用于模拟业务功能测试。
  • 在使用完成之后,可以将快照数据库切换为物理备库。
  • 在此期间,备库可以接受主库传输过来的日志,但是不能应用日志,需要处于物理备库的时候才可以应用。

(一)将物理备库切换为快照数据库

1.备库配置快速恢复区

    alter system set db_recovery_file_dest_size=100g;
    alter system set db_recovery_file_dest='/data01/arch01/fra/' scope=spfile;

2.备库关闭redo apply应用

    --在关闭之前,备库的开启状态为:READ ONLY WITH APPLY
    --关闭redo apply后,备库的开启状态为:READ ONLY
    alter database recover managed standby database cancel;

3.关闭job <<<<<<<<重点

    SQL> alter system set job_queue_processes=0; 
    

4. 关库,启库

shutdown immediate;
startup

5.切换为快照数据库

    --执行转换为快照数据库后,备库的开启状态为:MOUNTED
    alter database convert to snapshot standby;

    --开启备库后,数据库开启状态为:READ WRITE
    alter database open;
    - 查看状态:
    SQL> select open_mode,database_role,protection_mode,protection_level from v$database;

    OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE       PROTECTION_LEVEL
    -------------------- ---------------- --------------------  --------------------
    READ WRITE           SNAPSHOT STANDBY MAXIMUM AVAILABILITY  MAXIMUM AVAILABILITY

6. 在快照数据库上进行读写操作,发现不仅可以读,还可以写入数据

    SQL> select * from userA.test01;

        ID NAME
    ---------- --------------------
         1 userA
         2 gegeman
         3 man
         4 a

    SQL> insert into userA.test01 values(5,'b');
    1 row created.

    SQL> commit;
    Commit complete.

(二)将快照数据库切回物理备库

1.关闭备库,将备库启动到mount状态

    shutdown immediate
    start mount

2.执行切回命令

    alter database convert to physical standby;

3.再次关闭备库,启动到open状态,开启实时应用

    --关闭备库
    shutdown immediate

    --启动数据库到open状态
    startup

    -- 开始备库实时应用
    alter database recover managed standby database using current logfile disconnect;

4.查看备库状态

    SQL>  select name,open_mode,database_role,protection_mode from v$database;

    NAME      OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE
    --------- -------------------- ---------------- --------------------
    ADGDB     READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM AVAILABILITY
     

5.这个时候,再回去查看test01表信息,发现处于snapshot数据库时insert的数据已经不存在

    SQL> select * from userA.test01;

        ID NAME
    ---------- --------------------
         1 userA
         2 gegeman
         3 man
         4 a
目录
相关文章
|
27天前
|
Oracle 安全 关系型数据库
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
26 10
|
4月前
|
敏捷开发 存储 安全
敏捷方法:什么是软件测试中的敏捷模式?
敏捷方法:什么是软件测试中的敏捷模式?
|
4月前
|
数据可视化 测试技术 持续交付
自动化测试神器:Python之Pytest库入门使用
自动化测试神器:Python之Pytest库入门使用
101 4
|
4月前
|
C++
jrtplib开源库系列之一:jrtplib介绍、安装和测试(window 10环境介绍)
关于jrtplib库网上已经有很多介绍,而且目前jrtplib作者已经停止更新(Apr 18, 2020),最新版本为v3.11.2。本系列内容也以该版本进行介绍。 相信你已经对RTP/RTCP协议有一定的了解,并想更深入的了解RTP协议的具体实现,jrtplib就是使用使用C++实现的RTP/RTCP协议。具体标准为RFC3550,如果想仔细阅读原文,但是对英文又有点吃力,可以参考我的博客RTP/RTCP中英文对照,在博客的后面有百度链接,是对RFC3550的中文翻译,可能很多地方不太准确,有些内容是自己添加进去的,希望不会影响你的阅读。
40 0
|
5月前
|
移动开发 前端开发 JavaScript
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?
|
4月前
|
设计模式 Java 测试技术
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
55 0
|
6天前
|
安全 IDE Java
Java串口通信技术探究2:RXTX库单例测试及应用
Java串口通信技术探究2:RXTX库单例测试及应用
24 4
|
14天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
15 3
|
19天前
|
Oracle 安全 关系型数据库
Oracle数据守卫(DG):数据的“守护者”与“时光机”
【4月更文挑战第19天】Oracle Data Guard保障数据安全,通过实时维护备库实现故障切换,保证业务连续性。它使用日志传输和应用保持数据同步,如同“时光机”,借助闪回技术能恢复误操作数据。此外,它还提供数据压缩、加密和故障转移等功能,提升数据库安全性与性能。作为数据管理员,理解并善用Data Guard是确保企业数据安全的关键。
|
19天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。

推荐镜像

更多