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
目录
相关文章
|
16天前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
44 3
|
2月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
87 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
1月前
|
关系型数据库 MySQL Python
[python]使用faker库生成测试数据
[python]使用faker库生成测试数据
|
22天前
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
21 0
|
28天前
|
Oracle 关系型数据库 数据库连接
初步了解Oracle DG
初步了解Oracle DG
33 0
|
2月前
|
监控 Oracle 关系型数据库
关系型数据库Oracle恢复测试
【7月更文挑战第20天】
44 7
|
1月前
|
SQL 缓存 关系型数据库
MySQL配置简单优化与读写测试
MySQL配置简单优化与读写测试
|
2月前
|
Java 测试技术 开发者
Python:使用标准库编写单元测试
在现代软件开发中,编写单元测试是确保代码质量和可靠性的重要步骤。Python 提供了一个内置的单元测试框架,称为 unittest,它可以帮助开发者方便地编写和运行测试。本文将详细介绍如何使用 unittest 编写单元测试。
|
2月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在online模式下增量抓取Oracle数据时,在archive_log切换时,出现数据丢失的情况,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
31 3

推荐镜像

更多