数据库管理-第107期 Relocating PDB(20230927)

数据库管理-第107期 Relocating PDB(20230927)

在我长期的blog生涯,当需要迁移PDB的时候,出现了几种方式,基本上就是在线克隆或者datapump,然而这两种方式都需要一定的停机时间。在数据库版本一致的情况下,之前介绍的Refreshable Clone PDBs确实也可以实现,但是switchover功能本身是需要一体机环境的。本期介绍另一种迁移方式:Relocate PDB。

1 基本概念

首先这是一个Oracle 12.2开始的新特性,也就意味着数据库版本至少是12.2(这里用19c作为演示)。
Relocating PDB可以将PDB移动到另一个CDB或者Application Container。在Relocating过程中源PDB会一直保持全功能性读写状态直到目标PDB进入OPEN状态。Relocating过程是源PDB在OPEN状态并维持活动会话的情况下线执行块级别的数据文件、REDO和UNDO复制,当目标PDB通过ALTER PLUGGABLE DATABASE OPEN命令将状态改为在线时,源PDB将关闭活动的会话并关闭PDB(并删除)。
这里需要注意,源端和目标端CDB都需要处于ARCHIVELOG状态,源端和目标端之间需要创建DBLINK。
在这里插入图片描述
Relocating PDB语句:

CREATE PLUGGABLE DATABASE ... FROM src_pdb_name@link2src ... RELOCATE AVAILABILITY [MAX | NORMAL]

当源和目标共享同一个LISTENER,使用AVAILABILITY NORMAL(默认)。
当源和目标使用不同的LISTENER,使用AVAILABILITY MAX。

2 演示环境

对象名称TNSNAME
源CDBPRODCDBprodcdb
源PDBRELOCATE_PDB1/
目标CDBDEVCDBdevcdb

在同一主机使用同一监听,sys/system密码均为oracle,未配置OMF。

3 演示

3.1 源端、目标端CDB开启归档

shut immediate
startup mount
alter database archivelog;
alter database force logging;
alter database open;--针对目标端
alter pluggable database relocate_pdb1 open;
alter pluggable database relocate_pdb1 save state;

3.2 授权

源端、目标端均需要:

grant create pluggable database,sysoper to system container=all;

3.3 创建DBLINK

源CDB:

create database link devcdb_link connect to system identified by oracle using 'devcdb';

目标CDB:

create database link prodcdb_link connect to system identified by oracle using 'prodcdb';

3.4 Relocating PDB

目标CDB:

create pluggable database relocate_pdb1 from relocate_pdb1@prodcdb_link file_name_convert=('/u01/app/oracle/oradata/PRODCDB/RELOCATE_PDB1','/u01/app/oracle/oradata/DEVCDB/RELOCATE_PDB1') relocate availability normal;

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

3.5 开启目标PDB

alter pluggable database relocate_pdb1 open;

在这里插入图片描述
目标PDB已为正常开启状态。
源CDB检查:
在这里插入图片描述
源PDB已被删除。

总结

本期讲解并演示了Relocating PDB,这种PDB迁移方式通过实时在线数据同步,更加快捷简便。
老规矩,知道写了些啥。

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

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

相关文章

MySQL - group by分组查询 (查询操作 三)

功能介绍 group by: 对数据进行分组和聚合操作(可以操作单字段和多字段) having:过滤group by的结果,也就是在分组后添加筛选条件 基础语法 select 字段列表 from 表名 [ where 条件 ] group by 分组字段名 [ having ]; where 和 having的区…

8个最受欢迎的可3D打印Minecraft模型

推荐:用 NSDT编辑器 快速搭建可编程3D场景 《我的世界》最令人兴奋的方面之一是其独特的视觉风格及其包含的所有细节。 市场上摆满了《我的世界》玩偶、乐高积木和其他玩具。如果你有 3D 打印机,则可以通过下载并 3D 打印这 8 种有趣的设计来激发你对 Mi…

数据包络分析——SBM模型

写在前面: 博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。 目录 1. …

List<HashMap<String,String>>实现自定义字符串排序(key排序、Value排序)

系列文章目录 SpringBootVue3实现登录验证码功能 Java实现发送邮件(定时自动发送邮件) 换个角度使用Redis去解决跨域存取Session问题 Redis缓存穿透、击穿、雪崩问题及解决方法 Spring Cache的使用–快速上手篇 更多该系列文章请查看我的主页哦 文章目录…

人工智能机器学习-飞桨神经网络与深度学习

飞桨神经网络与深度学习-机器学习 目录 飞桨神经网络与深度学习-机器学习 1.机器学习概述 2.机器学习实践五要素 2.1.数据 2.2.模型 2.3.学习准则 2.4.优化算法 2.5.评估标准 3.实现简单的线性回归模型 3.1.数据集构建 3.2.模型构建 3.3.损失函数 3.4.模型优化 3…

从零学算法(LCR 178)

教学过程中,教练示范一次,学员跟做三次。该过程被混乱剪辑后,记录于数组 actions,其中 actions[i] 表示做出该动作的人员编号。请返回教练的编号。 示例 1: 输入:actions [5, 7, 5, 5] 输出:7 …

LED显示屏主要由哪些部件组成?

LED显示屏是一种广泛用于信息显示和广告宣传的设备,通常由以下几个主要部件组成: LED模块:LED显示屏的核心部件是LED模块,它包括了许多小的LED灯珠,这些LED灯珠可以发光。LED模块的大小和密度决定了显示屏的分辨率和亮…

向《华为人》学习企业内刊的栏目设置和好故事撰写指南

昨天华研荟介绍了企业内刊是否需要办,如何办的有价值。今天给大家介绍具体的企业内刊栏目设置。 “它山之石,可以攻玉。”我们今天不谈理论,我们从实践中学习,来看看华为这座高山是如何做的,我们从华为的内刊《华为人…

位运算符与高级操作

位运算符与高级操作 运算符 高级操作 左移实现乘法 左移n位等价于乘以2的n次方 int x; x 2; x x << 2; x x << 3;使用左移实现乘法运算仅限于乘以2的倍数 是不是只要左移就能够实现乘以2的倍数呢? char x 120; x x << 1;右移实现除法 右移n位等价于除…

2023 “华为杯” 中国研究生数学建模竞赛(E题)深度剖析|数学建模完整代码+建模过程全解全析

​ 问题一 血肿扩张风险相关因素探索建模 思路&#xff1a; 根据题目要求,首先需要判断每个患者是否发生了血肿扩张事件。根据定义,如果后续检查的血肿体积比首次检查增加≥6 mL或≥33%,则判断为发生了血肿扩张。 具体判断步骤: (1) 从表1中提取每个患者的入院首次影像检查…

数据库:Hive转Presto(一)

本人因为工作原因&#xff0c;经常使用hive以及presto&#xff0c;一般是编写hive完成工作&#xff0c;服务器原因&#xff0c;presto会跑的更快一些&#xff0c;所以工作的时候会使用presto验证结果&#xff0c;所以就要频繁hive转presto&#xff0c;为了方便&#xff0c;我用…

蓝牙核心规范(V5.4)10.5-BLE 入门笔记之HCI

HCI全称:HOST Constroller Interface 主机控制器接口(HCI)定义了一个标准化的接口,通过该接口,主机可以向控制器发出命令,并且控制器可以与主机进行通信。规范被分成几个部分,第一部分仅从功能的角度定义接口,不考虑具体的实现机制,而其他部分定义了在使用四种可能的…

记一次springboot的@RequestBody json值注入失败的问题(字段大小写的问题)

有时候做后端开发时&#xff0c;难免会与算法联调接口&#xff0c;很多算法的变量命名时全部大写&#xff0c;在实际springmvc开发中会遇到无法赋值的问题。 先粘贴问题代码 entity类 Data NoArgsConstructor EqualsAndHashCode(callSuper true) ToString(callSuper true) …

十,从摄像机打印立方体的一个外表面

从摄像机是与主摄像机保持同样的投影矩阵&#xff0c;所以&#xff0c;不用单独设置。如果把漫游器还是在&#xff08;1&#xff0c;0,0)这个位置&#xff0c;各个从摄像机看向上下左右前后六个面&#xff0c;那么会出现什么现象呢&#xff1f;应该是x正轴打印出来&#xff0c;…

LLaMa

文章目录 Problems403 代码文件LLaMA: Open and Efficient Foundation Language Models方法预训练数据结构优化器一些加速的方法 结果Common Sense ReasoningClosed-book Question AnsweringReading ComprehensionMassive Multitask Language Understanding Instruction Finetu…

【实验记录】AGW | Visible-Infrared Re-ID

【RT】Visible Thermal Re-IDDeep Learning for Person Re-identification: A Survey and Outlook中提出了一个针对单/跨模态行人重识别的baseline&#xff1a;AGW 做过两次&#xff0c;在测试阶段有问题&#xff0c;现在再重做一次&#x1f914;Code RTX3090 修改数据集路…

【空间-光谱联合注意网络:多时相遥感图像】

A Spatial–Spectral Joint Attention Network for Change Detection in Multispectral Imagery &#xff08;一种用于多光谱图像变化检测的空间-光谱联合注意网络&#xff09; 变化检测是通过比较双时相图像来确定和评估变化&#xff0c;这是遥感领域的一项具有挑战性的任务…

c++图像的边缘检测

图像的边缘检测 cv::Canny 是 OpenCV 中用于进行边缘检测的函数&#xff0c;特别是用于检测图像中的边缘。Canny 边缘检测是一种广泛使用的技术&#xff0c;它能够识别图像中的边缘&#xff0c;这些边缘通常表示对象之间的边界或图像中的显著特征 void cv::Canny(const cv::M…

【lesson7】git的介绍及使用

文章目录 什么是gitgit的历史git使用在gitee上创建仓库git clone HTTPS地址git add .git add 文件名git commit “日志”git pushgit loggit rm 文件名git statusgit pull 什么是git git是版本控制器&#xff0c;那么什么是版本控制器呢&#xff1f; 下面讲个故事为大家讲解一…

运算放大器(四):输入偏置电流

一、定义 运放输入级一般由 或 MOSFET 构成&#xff0c;理想情况下&#xff0c;运放的输入端没有电流流入。实际上为保证放大器工作在线性范围&#xff0c;运放的输入端一般设计成基极&#xff08;栅极&#xff09;开路&#xff0c;由外电路提供电流的方式&#xff0c;所以需要…