Dataguard 中将物理备库切换为快照数据库及其切回

概述

在 Oracle Data Guard 环境中,可以将物理备库切换为快照数据库(Snapshot Standby),以便在备库上进行读写操作,用于模拟业务功能测试。在使用完成后,可以将快照数据库切换回物理备库。在此期间,备库可以接受主库传输过来的日志,但不能应用日志,需要在切换回物理备库后才能应用日志。

(一)将物理备库切换为快照数据库
  1. 备库配置快速恢复区

    alter system set db_recovery_file_dest_size=10g;
    alter system set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/adgdb';
    
  2. 备库关闭 redo apply 应用

    -- 在关闭之前,备库的开启状态为:READ ONLY WITH APPLY
    -- 关闭 redo apply 后,备库的开启状态为:READ ONLY
    alter database recover managed standby database cancel;
    
  3. 切换为快照数据库

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

    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
    
  5. 在快照数据库上进行读写操作

    SQL> select * from scott.test01;ID NAME
    ---------- --------------------1 1111112 2222223 3333334 aaaSQL> insert into scott.test01 values(5, 'bbb');
    1 row created.SQL> commit;
    Commit complete.SQL> select * from scott.test01;ID NAME
    ---------- --------------------1 1111112 2222223 3333334 aaa5 bbb
    
(二)将快照数据库切回物理备库
  1. 关闭备库,将备库启动到 mount 状态

    shutdown immediate
    startup 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 scott.test01;ID NAME
    ---------- --------------------1 1111112 2222223 3333334 aaa
    

总结

通过上述步骤,可以在 Oracle Data Guard 环境中将物理备库切换为快照数据库,进行读写操作,然后再切换回物理备库。这样可以在不影响主库的情况下,进行各种测试和验证工作。切换回物理备库后,所有在快照数据库期间进行的写操作将被丢弃,备库将继续应用主库传输过来的日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/62840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker ps -a里的项目怎么运行

在 docker ps -a 输出的列表中,列出了所有的容器,无论它们是否正在运行。如果你看到一个状态为“Exited”的容器,并且你想重新启动它,可以使用以下命令: docker start your_container_id检查容器日志 如果容器已经停止…

《C++ 模型训练之早停法:有效预防过拟合的关键策略》

在 C 模型开发的复杂世界里,过拟合犹如一个潜藏的陷阱,常常使我们精心构建的模型在实际应用中表现大打折扣。而早停法(Early Stopping)作为一种行之有效的策略,能够帮助我们及时察觉模型训练过程中的异常,避…

【算法】用堆结构解决Top N问题

在日常工作中,以及在算法练习和刷题时,Top N问题是经常遇到的。这里描述一种使用堆结构来处理Top N的问题。 二叉堆可以看成近似的完全二叉树。 堆的性质: 大根堆:除了根以外的所有节点i都要满足:A[PARENT(i)]≥A[i],…

Docker容器ping不通外网问题排查及解决

Docker容器ping不通外网问题排查及解决 解决方案在最下面,不看过程的可直接拉到最下面。 一台虚拟机里突然遇到docker容器一直访问外网失败,网上看到这个解决方案,这边记录一下。 首先需要明确docker的网桥模式,网桥工作在二层…

React 前端框架1

一、React 简介 (一)什么是 React React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 开源并维护。它采用了组件化的开发思想,允许开发者将复杂的 UI 拆分成一个个独立、可复用的小组件,就如同搭积木一般&am…

20241128解决Ubuntu20.04安装libwxgtk3.0-dev异常的问题

20241128解决Ubuntu20.04安装libwxgtk3.0-dev异常的问题 2024/11/28 16:17 缘起:中科创达的高通CM6125开发板的Android10的编译环境需要。 安装异常:rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo apt-get install libwxgtk3.0-de…

大疆T100大载重吊运植保无人机技术详解

大疆T100作为一款大载重吊运植保无人机,融合了全新的AI和AR功能,旨在进一步提升安全性并满足喷洒、播撒、吊运等多种作业场景的需求。以下是对其技术的详细解析: 一、总体性能 最大起飞重量:149.9公斤 喷洒容量:75升…

arkTS:使用ArkUI实现用户信息的持久化管理与自动填充(PersistentStorage)

arkUI:使用ArkUI实现用户信息的持久化管理与自动填充(PersistentStorage) 1 主要内容说明2 例子2.1 登录页2.1.1登陆页的相关说明2.1.1.1 持久化存储的初始化2.1.1.2 输入框2.1.1.3 记住密码选项2.1.1.4 登录按钮的逻辑2.1.1.5 注册跳转 2.1.…

腾讯云 AI 代码助手:单元测试应用实践

引言 在软件开发这一充满创造性的领域中,开发人员不仅要构建功能强大的软件,还要确保这些软件的稳定性和可靠性。然而,开发过程中并非所有任务都能激发创造力,有些甚至是重复且乏味的。其中,编写单元测试无疑是最令人…

1、Three.js开端准备环境

准备工作 从 CDN 导入 1.安装 VSCode 2.安装 Node.js 3.查看Three.js最新版本 4.如何cdn引入: https://cdn.jsdelivr.net/npm/threev版本号/build/three.module.js 例如:https://cdn.jsdelivr.net/npm/threev0.170.0/build/three.module.js 我们需要…

Python基础教程005:if和else语句的使用

文章目录 3.1 布尔类型和比较运算符3.2 if语句的基本格式3.3 if else语句 3.1 布尔类型和比较运算符 布尔类型: 真True假False 定义变量存储布尔类型数据据: 变量名称 布尔类型字面量 比较运算符: 运算符描述示例判断内容是否相等&…

for循环和while循环区别、特点、优势

结论&#xff1a;while循环的自由度更高 for循环&#xff1a; 可以看到&#xff0c;对于变量 i 的操作&#xff0c;只能有一句&#xff1a;i /* for 循环 */ function forLoop(n: number): number {let res 0;// 循环求和 1, 2, ..., n-1, nfor (let i 1; i < n; i) {r…

Python毕业设计选题:基于django+vue的校园影院售票系统

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 影院信息管理 电影类型管理 电影信息管理 系统…

[USACO1.5] 回文质数 Prime Palindromes

题目传送门 P1217 [USACO1.5] 回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数&#xff08;从左到右和从右到左是看一样的&#xff09;&#xff0c;所以 151 151 151 是回文质数。 写一个程序来找出范围 [ a , b ] ( 5 ≤ a < b ≤…

初窥 HTTP 缓存

引言 对于前端来说, 你肯定听说过 HTTP 缓存。 当然不管你知不知道它, 对于提高网站性能和用户体验, 它都扮演着重要的角色! 它通过在客户端和服务器之间存储和重用先前获取的资源副本, 来减少网络流量和降低资源加载时间, 从而提升用户体验! 以下是 HTTP 缓存的重要性: 减少…

Django 视图层

from django.shortcuts import render, HttpResponse, redirectfrom django.http import JsonResponse1. render: 渲染模板 def index(request):print(reverse(index))return render(request, "index.html")return render(request, index.html, context{name: lisi})…

简单介绍下 VitePress 中的 vp-doc 和 vp-raw

VitePress 是一个轻量级的静态网站生成器&#xff0c;专为快速构建文档网站而设计。它是基于 Vite 和 Vue 3 构建的&#xff0c;旨在提供快速的开发体验和高效的构建过程。 存在两个需要注意的点&#xff1a;vp-doc 和 vp-raw&#xff0c;它们代表了不同的 CSS 样式类和用途&a…

【数据结构】LinkedList与链表

LinkedList与链表 1. ArrayList的缺陷2. 链表2.1 链表的概念及结构2.2 链表的实现 3.链表面试题 【本节目标】 ArrayList的缺陷链表链表相关ojLinkedList的模拟实现LinkedList的使用ArrayList和LinkedList的区别 1. ArrayList的缺陷 上节课已经熟悉了ArrayList的使用&#xf…

Matrix Multiplication

lab要求如下&#xff1a;

Laravel8.5+微信小程序实现京东商城秒杀方案

一、商品秒杀涉及的知识点 鉴权策略封装掊口访问频次限制小程序设计页面防抖接口调用订单创建事务使用超卖防御 二、订单库存系统方案&#xff08;3种&#xff09; 下单减库存 优点是库存和订单的强一致性&#xff0c;商品不会卖超&#xff0c;但是可能导致恶意下单&#xff…