数据库管理-第100期 Refreshable Clone PDBs(20230905)

news2024/11/26 5:25:10

数据库管理-第100期 Refreshable Clone PDBs(20230905)

上周五,9月1日,我于上海Oracle办公室OU考场完成了19c OCM Upgrade考试,感受就是,很多新特性考的比想象的更加深入,希望最终结果是好的吧。
来到9月第一篇,我的文章也来到了100期,感触颇多,这里也拿一个Oracle数据库的新特性来给100期做个总结,也为即将到来的23c PDB级别ADG打个前哨。

1 概念

Refreshable Clone PDBs,即可刷新的克隆PDB,除去官方文档的各种弯弯绕绕,其实应对的场景就是使用dblink在不同CDB中克隆源CDB中的一个PDB,并添加refresh mode参数,使得目标PDB可以自动或手动方式从源PDB中刷新至最新数据状态,并可以进行切换。这一特性可以看做一个非实时同步的PDB级别的ADG,目标PDB可以提供只读状态的读能力。
在这里插入图片描述

2 示例环境

源端CDB:PRODCDB,源端PDB:PDBPROD1
目标CDB:DEVCDB,目标PDB:HOTCLONE_PDB1
二者sys用户密码均为oracle
二者均配置OMF至/u01/app/oracle/oradata

注:由于switchover需要Exadata特性支持,普通环境需要预先要执行下面操作:

alter system set "_exadata_feature_on"=true scope=spfile;

3 示例操作

  1. 创建用于dblink及克隆PDB的用户并赋权(主要需要增加sysoper权限)。
  2. 源端CDB与目标CDB互相创建dblink。
conn sys/oracle@prodcdb as sysdba
create user c##user1 identified by oracle container=all;
grant connect,resource to c##user1 container=all;
grant create pluggable database to c##user1 container=all;
grant sysoper to c##user1 container=all;
alter user c##user1 set container_data=ALL container=current; 
grant select on cdb_pdbs to c##user1;

conn sys/oracle@devcdb as sysdba
create user c##user1 identified by oracle container=all;
grant connect,resource to c##user1 container=all;
grant create pluggable database to c##user1 container=all;
grant sysoper to c##user1 container=all;
alter user c##user1 set container_data=ALL container=current; 
grant select on cdb_pdbs to c##user1;
create database link prodcdb_link connect to c##user1 identified by oracle using 'prodcdb';

conn sys/oracle@prodcdb as sysdba
create database link devcdb_link connect to c##user1 identified by oracle using 'devcdb';
  1. 创建可刷新PDB
conn sys/oracle@devcdb as sysdba
create pluggable database hotclone_pdb1 from pdbprod1@prodcdb_link refresh mode every 5 minutes;
select pdb_name,status,refresh_mode,refresh_interval from cdb_pdbs;
alter pluggable database hotclone_pdb1 open read only;

在这里插入图片描述
在这里插入图片描述

  1. 测试刷新情况

在这里插入图片描述
在这里插入图片描述
源端PDB建立测试表之后,目标PDB未实时更新。
在这里插入图片描述
一段时间后,目标端PDB仍然无法查询到测试表。
在这里插入图片描述
这里官方文档也有说明,需要在closed状态才能自动refresh,因此关闭目标PDB等待一段时间后再开启并查询:
在这里插入图片描述
这时是可以在目标端查询到测试表,所以这里的目标PDB可读,也还是比较坑。

  1. 进行switchover
conn sys/oracle@pdbprod1 as sysdba
alter pluggable database refresh mode every 5 minutes from hotclone_pdb1@devcdb_link switchover;
conn sys/oracle@prodcdb as sysdba
select pdb_name,status,refresh_mode,refresh_interval from cdb_pdbs;

在这里插入图片描述
切换完成,这里就不再做反向同步测试。

总结

Refreshable PDB就在19c版本上实现的功能来说,目前看起来还是比较鸡肋的。但是随着21c上PDB级别DG的实现,以及23c上PDB级别ADG的到来,CDB彻底沦为底座,PDB可以随意在各个CDB上创建主备角色数据库。这样对于高可用和合理的硬件资源使用将会拥有更多的玩法。
老规矩,知道写了些啥。

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

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

相关文章

AVL树的旋转与插入

题:点我 题目大意:旋转 A V L AVL AVL树 在 A V L AVL AVL操作中主要有两种主要操作,分别是 L L LL LL和 R R RR RR,其中 L L LL LL的旋转本质是希望发生以下的转变 而 R R RR RR的本质是希望发生以下的转变: 如我们…

【面试题】如何实现数组去重的?有几种方式?

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 1. 方法一:利用两层循环数组的splice方法 通过两层循环对数组…

TTransportException SASL authentication not complete

今天遇见了一个异常,但是发现是自己智障了 但还是记录一下 在close的时候先close了conn再close的statement导致报的这个错

工业、交通、电力、水务】LEAP模型应用及碳排放预测

中文名:LEAP模型 外文名:Long Range Energy Alternatives Planning System/ Low emission analysis platform LEAP模型[1]允许研究者根据研究目的、数据可获取度、研究对象特点等灵活构建模型结构,十分适用于能源数据不全面情况&#xff0c…

网络安全-IP地址信息收集

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 IP反查域名 http://stool.chinaz.com/same https://tools.ipip.net/ipdomain.php 如果渗透目标为虚拟主机…

HCIP自我重修总笔记

第一章.复习OSITCP/IP 模型 (2023 9/5) OSI 模型: 开放式系统互联参考模型 应用层:抽象语言-->编码表示层:编码--->二进制会话层:提供会话地址,建立应用程序端到端的会话 上三层为应用程序对数据加…

SQL注入 - 宽字节注入

文章目录 SQL注入 - 宽字节注入宽字节注入前置知识宽字节靶场实战判断是否存在SQL注入判断位数判显错位判库名判表名判列名 SQL注入 - 宽字节注入 靶场 sqli - labs less-32 宽字节注入主要是绕过魔术引号的,数据库解析中除了UTF-8编码外的所有编码如:G…

ctfshow 反序列化

PHP反序列化前置知识 序列化和反序列化 对象是不能在字节流中传输的,序列化就是把对象转化为字符串以便存储和传输,反序列化就是将字符串转化为对象 魔术方法 __construct() //构造,当对象new时调用 __wakeup() //执行unserialize()时&am…

结构体做函数参数

①值传递 ②地址传递 #include <iostream> #include <algorithm> #include <string> using namespace std; struct stu {int age;string name; }; void printStu(stu a) {cout << a.age << << a.name << endl; } void printstu(…

英语之美:用一句话解释句子结构

以下是一个包含主语、谓语、宾语、表语、定语、同位语、补足语和状语的扩展句子&#xff0c;使用 “I love you” 作为基础&#xff1a; “I, the person who truly loves you, consider our love a beautiful gift, and I love you more deeply with each passing day.” 在…

复制tr的一行数据或者复制数据使用,使用jq和php

效果图&#xff1a; 2.Html <!--复制的tr数据&#xff0c;s----------------------------------------------------------------------------------------------->{foreach from$arrs keykk itemvv} <tr><td style"text-align:center;" >1</t…

华为OD机试 - 关联子串 - 滑动窗口(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、换个思路 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A…

【C++】STL-函数对象-内建函数对象

0.前言 1.算术仿函数 #include <iostream> using namespace std;// STL-内建函数对象-算术仿函数 #include<functional> // 内建函数对象头文件//以下举例两个仿函数 -- negate and plus// negate 一元仿函数 取反仿函数 void test01() {negate<int>n;cout …

autojs修改顶部标题栏颜色

顶部标题栏的名字是statusBarColor 不是toolbar。难怪我搜索半天搜不到 修改之后变成这样了 代码如下&#xff1a; "ui"; importClass(android.view.View); importClass(android.graphics.Color); ui.statusBarColor(Color.parseColor("#ffffff")); ui.…

信息系统概述-生命周期-开发方法

信息系统概述-生命周期 考点分析信息系统概述信息系统分类企业目前所使用的具体的信息化系统信息系统的生命周期&#xff08;重要&#xff09;信息系统的开发方法&#xff08;重要&#xff09; 考点分析 每年都会考3分&#xff0c;2分会超纲 信息系统概述 信息系统分类 业务处理…

Redis——Java中的客户端和API

Java客户端 在大多数的业务实现中&#xff0c;我们还是使用编码去操作Redis&#xff0c;对于命令的学习只是知道这些数据库可以做什么操作&#xff0c;以及在后面学习到了Java的API之后知道什么方法对应什么命令即可。 官方推荐的Java的客户端网页链接如下&#xff1a; 爪哇…

XSS漏洞学习小结

声明: 所有文档均用于安全测试加强防护,若作它用后果自负. 目录 一、xss介绍 二、xss的危害 三、攻击原理 四、xss分类 反射型XSS 存储型XSS DOM型XSS 五、XSS常见攻击利用 六、XSS编码绕过 1、gpc过滤字符 2、过滤alert 3、过滤标签 4、ascii编码 5、url编码 6、j…

day 46 | ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

1143.最长公共子序列 func longestCommonSubsequence(text1 string, text2 string) int {res : 0dp : make([][]int, len(text1) 1)for i : 0; i < len(text1);i{dp[i] make([]int, len(text2) 1)}for i : 1; i < len(text1); i{for j : 1; j < len(text2); j{if t…

java八股文面试[数据库]——索引下推

什么是索引下推&#xff1f; 索引下推&#xff08;index condition pushdown &#xff09;简称ICP&#xff0c;在Mysql5.6的版本上推出&#xff0c;用于优化查询。 需求: 查询users表中 "名字第一个字是张&#xff0c;年龄为10岁的所有记录"。 SELECT * FROM users…

依托第六届中阿博览会 搭建中阿开放平台再出发

今年是“一带一路”倡议提出十周年&#xff0c;中国国际科技促进会、中国-阿拉伯国家青年创业园管委会落实共建“一带一路”倡议和为国内企业“ 走出去” 投资发展提供服务&#xff0c;积极发挥桥梁和纽带作用&#xff0c;积极开展国际合作。 &#xff08;邢纪国主任向约旦卫生…