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
目录
相关文章
|
3月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
99 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
2月前
|
关系型数据库 MySQL Python
[python]使用faker库生成测试数据
[python]使用faker库生成测试数据
|
2月前
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
28 0
|
3月前
|
监控 Oracle 关系型数据库
关系型数据库Oracle恢复测试
【7月更文挑战第20天】
55 7
|
2月前
|
SQL 缓存 关系型数据库
MySQL配置简单优化与读写测试
MySQL配置简单优化与读写测试
|
3月前
|
Java 测试技术 开发者
Python:使用标准库编写单元测试
在现代软件开发中,编写单元测试是确保代码质量和可靠性的重要步骤。Python 提供了一个内置的单元测试框架,称为 unittest,它可以帮助开发者方便地编写和运行测试。本文将详细介绍如何使用 unittest 编写单元测试。
|
4月前
|
XML Java 测试技术
《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
【6月更文挑战第8天】本文介绍了Java中操作Excel的工具,包括POI和JXL。POI支持处理Office 2003及以下的OLE2格式(.xls)和2007以上的OOXML格式(.xlsx)。而JXL只能处理2003版本的Excel文件。文章详细讲解了如何下载和使用JXL库,并给出了一个简单的Java代码示例,展示如何读取2003版Excel文件中的数据。在实际项目中,由于JXL对新版本Excel的支持限制,通常推荐使用POI。
64 5
|
4月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
38 3
|
4月前
|
Java 测试技术 Apache
《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
【6月更文挑战第9天】本文介绍了如何使用Java处理Excel文件中的不同数据类型,包括日期、数字、布尔值和标签(常规字符串)。文章提供了两个示例,分别使用JXL库和Apache POI库来读取Excel文件。
44 1
|
4月前
|
SQL DataWorks 安全
DataWorks产品使用合集之在进行测试数据集成时,目标库的数据是源库数据的3倍量,是什么导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之在进行测试数据集成时,目标库的数据是源库数据的3倍量,是什么导致的
下一篇
无影云桌面