Oracle 19c新特性:DBCA静默模式克隆远端PDB
源库为ORCL中的orclpdb1,目标库为ORCL2。版本均为19c。
我们将利用19c中dbca新支持的-createFromRemotePDB
选项来从远端克隆PDB。
确认源库中有业务数据:
SQL> connect hr@orclpdb1
Enter password:
Connected.
SQL> select count(*) from hr.employees;COUNT(*)
----------107
在源库中创建common user。后续dbca会用这个用户来连接源库。
SQL> connect system
Enter password:
Connected.
SQL> show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL> CREATE USER c##remote_user IDENTIFIED BY Welcome1 CONTAINER=ALL;User created.SQL> GRANT create session, create pluggable database TO c##remote_user CONTAINER=ALL;Grant succeeded.SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.20.0.0.0
在目标库所在数据库服务器上,静默方式执行dbca命令,克隆远端pdb:
dbca -silent -createPluggableDatabase -createFromRemotePDB \
-remotePDBName orclpdb1 \
-remoteDBConnString ORCL \
-remoteDBSYSDBAUserName sys -remoteDBSYSDBAUserPassword Welcome1 \
-sysDBAUserName sys -sysDBAPassword Welcome1 \
-dbLinkUsername c##remote_user -dbLinkUserPassword Welcome1 -sourceDB ORCL2 -pdbName pdbclone
输出如下:
Prepare for db operation
50% complete
Create pluggable database using remote clone operation
100% complete
Pluggable database "pdbclone" plugged successfully.
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCLCDB2/pdbclone/ORCLCDB2.log" for further details.
日志如下:
$cat /u01/app/oracle/cfgtoollogs/dbca/ORCLCDB2/pdbclone/ORCLCDB2.log
[ 2023-10-20 07:47:55.920 GMT ] Prepare for db operation
DBCA_PROGRESS : 50%
[ 2023-10-20 07:47:55.982 GMT ] Create pluggable database using remote clone operation
DBCA_PROGRESS : 100%
[ 2023-10-20 07:48:23.910 GMT ] Pluggable database "pdbclone" plugged successfully.
验证,注意PDBCLONE被自动open了:
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDBCLONE READ WRITE NO
SQL> alter session set container=pdbclone;Session altered.SQL> select count(*) from hr.employees;COUNT(*)
----------107
清理:
alter pluggable database pdbclone close;
drop pluggable database pdbclone including datafiles;
在clone的过程中,dbca会自动创建database link,名称固定为PDBCLONE_CLONE_LINK
,完成后会自动删除:
SQL> select * from all_db_links;
OWNER DB_LINK USERNAME HOST CREATED HID SHA VAL INT
---------- ------------------------------ ---------------- ---------------- --------- --- --- --- ---
SYS SYS_HUB SEEDDATA 17-APR-19 NO NO YES NO
SYS PDBCLONE_CLONE_LINK C##REMOTE_USER ORCL 20-OCT-23 NO NO YES NO
...
SQL> /OWNER DB_LINK USERNAME HOST CREATED HID SHA VAL INT
---------- ------------------------------ ---------------- ---------------- --------- --- --- --- ---
SYS SYS_HUB SEEDDATA 17-APR-19 NO NO YES NO
dbca创建database link的SQL类似于:
CREATE DATABASE LINK PDBCLONE_CLONE_LINK CONNECT TO c##remote_user IDENTIFIED BY Welcome1 USING 'ORCL';
drop database link PDBCLONE_CLONE_LINK;
当然,你不能主动创建,否则后续dbca克隆时会报错:
[FATAL] [DBT-19405] Database link (PDBCLONE_CLONE_LINK) is already exists.
错误
这里遇到一个非常奇怪的错误,就是当把-remoteDBConnString参数ORCL改为小写orcl时,居然会报错:
[FATAL] [DBT-08101] The selected PDB (orclpdb1) is not open.CAUSE: PDB has to be open in READ WRITE mode to perform the configuration.
这个错误和这个帖子类似。
也和我创建ORCL2的语句有关:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ORCLCDB2 -sid ORCL2 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword Welcome1 -systemPassword Welcome1 -createAsContainerDatabase true -pdbName ORCLPDB1 -numberOfPDBs 1 -pdbAdminPassword Welcome1
估计全部用小写就没事了。
果然,删除时,如果指定数据库为orcl2,会报错:
[WARNING] [DBT-11503] The instance (orcl2) is not running on the local node. This may result in partial delete of Oracle database.CAUSE: A locally running instance is required for complete deletion of Oracle database instance and database files.ACTION: Specify a locally running database, or execute DBCA on a node where the database instance is running.
改成ORCL2就成功了:
dbca -silent -deleteDatabase -sourceDB ORCL2
Enter SYS user password:[WARNING] [DBT-19202] The Database Configuration Assistant will delete the Oracle instances and datafiles for your database. All information in the database will be destroyed.
Prepare for db operation
32% complete
Connecting to database
35% complete
39% complete
42% complete
45% complete
48% complete
52% complete
65% complete
Updating network configuration files
68% complete
Deleting instance and datafiles
84% complete
100% complete
Database deletion completed.
重建,这回全部用小写:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ORCL2 -sid ORCL2 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword Welcome1 -systemPassword Welcome1 -createAsContainerDatabase true -pdbName orclpdb2 -numberOfPDBs 1 -pdbAdminPassword Welcome1
另外,-remoteDBConnString还是建议指向CDB。虽然在这篇博客中有成功的例证,但我没有成功。
以下是-remoteDBConnString分别指定为orclpdb1
和localhost:1521/ORCLPDB1
时的报错:
orcl2 $dbca -silent -createPluggableDatabase -createFromRemotePDB -remotePDBName ORCLPDB1 -remoteDBConnString orclpdb1 -remoteDBSYSDBAUserName sys -remoteDBSYSDBAUserPassword Welcome1 -sysDBAUserName sys -sysDBAPassword Welcome1 -dbLinkUsername c##remote_user -dbLinkUserPassword Welcome1 -sourceDB ORCL2 -pdbName pdbclone
[FATAL] [DBT-08101] The selected PDB (ORCLPDB1) is not open.CAUSE: PDB has to be open in READ WRITE mode to perform the configuration.orcl2 $dbca -silent -createPluggableDatabase -createFromRemotePDB -remotePDBName ORCLPDB1 -remoteDBConnString localhost:1521/ORCLPDB1 -remoteDBSYSDBAUserName sys -remoteDBSYSDBAUserPassword Welcome1 -sysDBAUserName sys -sysDBAPassword Welcome1 -dbLinkUsername c##remote_user -dbLinkUserPassword Welcome1 -sourceDB ORCL2 -pdbName pdbclone
[FATAL] [DBT-19407] Database option (SAMPLE_SCHEMA) is not installed in Local CDB (ORCL2).CAUSE: The database options installed on the Remote CDB(ORCLPDB1) must be the same as the database options installed on the Local CDB(ORCL2).
参考
- Oracle By Example: Clone PDBs using DBCA in Silent Mode
- Multitenant : DBCA PDB Remote Clone in Oracle Database 19c
- Cloning a Remote PDB Using DBCA: Example
- DBCA createPluggableDatabase命令行帮助
- DBCA 错误
相关文章:
Oracle 19c新特性:DBCA静默模式克隆远端PDB
源库为ORCL中的orclpdb1,目标库为ORCL2。版本均为19c。 我们将利用19c中dbca新支持的-createFromRemotePDB选项来从远端克隆PDB。 确认源库中有业务数据: SQL> connect hrorclpdb1 Enter password: Connected. SQL> select count(*) from hr.em…...
css:如何通过不同的值,改变盒子的样式和字体颜色通过computed而不是v-if
在使用uni-app编写功能时,可以通过computed方法来实现根据num这个值也可以是后端传过来的值只要是number类型都可以。不同取值来修改盒子的背景颜色和字体颜色。首先,在data中定义一个num来存储当前的值,然后在computed中创建一个样式对象&am…...
做外贸真诚是最好的套路
在朋友圈发装柜的照片,之前合作的一些其他供应商看到了就问:最近生意怎样啊?看着好像挺多货出的,怎么最近都没跟我拿货啊? 空了我就回复:最近一般啊,有人做得很好,单很多࿰…...

RPA厂商大比拼,哪家才更适合您?
引言:随着数字化时代的到来,自动化已成为推动企业数字化发展的关键举措之一,RPA作为自动化中的重要技术之一,可为企业提供了实现业务流程自动化的强大工具。然而,如何选择适合自己的RPA厂商也是各大企业现在面临的难题…...
更换网络ip地址怎么设置
在互联网时代,网络已经成为我们生活中不可或缺的一部分。随着网络技术的不断发展,IP地址作为网络通信中的重要标识,其重要性日益凸显。在某些情况下,我们需要更换网络IP地址以保护自己的信息安全。那么,更换网络IP地址…...

开始学习Go编程
探索Go编程中的语法、数据类型和控制流 Go,又称为Golang,因其简单性、性能和效率而广受欢迎。在本文中,我们将深入研究构成Go编程语言基础的基本概念。从理解其语法和数据类型到掌握控制流和函数,我们将为您提供启动Go编程之旅所…...

《SpringBoot项目实战》第五篇—接口发生异常如何统一处理
系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 本文参考项目源码地址:summo-springboot-interface-demo 前言 大家好!…...

vue+golang上传微信头像
<button class"avatar" open-type"chooseAvatar" chooseavatar"onChooseAvatar"><image :src"avatarUrl" class"avatar-img"></image></button> // 微信头像修改onChooseAvatar(e) {this.uploadFil…...
JavaScript charCodeAt() 方法
charCodeAt() 方法是 JavaScript 字符串对象的一个方法,它用于返回给定位置的字符的 Unicode 编码值(整数)。Unicode 编码是一个标识字符的数字,它包含了世界上几乎所有字符的映射,包括常见字符、特殊字符和表情符号。…...

Talk | 纽约州立宾汉姆顿大学博士生丁琰:开放环境中机器人的任务与动作规划
本期为TechBeat人工智能社区第541期线上Talk。 北京时间10月26日(周四)20:00,纽约州立宾汉姆顿大学博士生—丁琰的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “开放环境中机器人的任务与动作规划”࿰…...

2023年Q3企业邮箱安全性报告:境内钓鱼邮件超过境外攻击
10月25日,Coremail邮件安全联合北京中睿天下信息技术有限公司发布《2023年第三季度企业邮箱安全性研究报告》。2023年第三季度企业邮箱安全呈现出何种态势?作为邮箱管理员,我们又该如何做好防护? 以下为精华版阅读,如需…...

WebSocket 原理揭秘:让你彻底搞懂 Websocket 原理
WebSocket 的原理 WebSocket 是什么? WebSocket 是一种新型的协议,它可以在客户端和服务器之间建立长连接,实现双向通信。在传统的 HTTP 协议中,当客户端向服务器发送请求后,服务器会返回响应,然后连接就…...
react中的函数式组件和类式组件
一、函数组件 1. 定义函数组件 在React中,函数组件(Functional Component)是一种通过纯粹的JavaScript函数定义的UI组件。函数组件采用函数的方式接收一个输入参数 props,并返回一个React元素或者一组React元素作为输出。定义函…...
Visual Studio 2022 设置 PySide6 扩展工具
前言 本人不想电脑上装一堆的IDE,所以把 Python 开发也交给了 Visual Studio,如果你不是用 Visual Studio 做 Python 开发,下文就不用看了。 PySide简介 PySide跟PyQt类似,都是支持Python的Qt包,不同的是,PyQt是第三方的,PySide是Qt官方的。 PySide的推出比PyQt晚很…...

【高效开发工具系列】Postman
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

汇编语言王爽第四版17.3完程可运行可调试
汇编语言王爽第四版17.3节完整程序,可调试,可运行。 最基本的字符串输入程序,具备以下功能: 1、在输入的同时需要显示这个字符串; 2、输入回车符后,一个字符串的输入结束; 3、能够删除已经输入…...

CH9329芯片应用—简介
概述 CH9329是一款串口转USB HID设备功能芯片,根据不同的工作模式,HID设备可以识别为:USB键盘设备、USB鼠标设备或者自定义HID类设备。接收串口数据,并自动根据串口工作模式进行数据解析,解析完成后按照HID类设备规范…...

mysql查看插入记录与查看mysql实时查询和插入速度
我真正关心的数据 比如一秒钟到底能插入多少行数据?慢查询有多少? 慢是一个相对概念,慢的绝对值时间是可以设置的,例如我设置long_query_time为10秒,那么但凡超过10秒的查询都可以认为是慢查询查询操作的超时时间mysql中系统变量什么意思?怎么查看系统变量? show varia…...

如何在VScode中让printf输出中文
如何在VScode中让printf输出中文? 1、在“Visual Studio Code”图标上右击,弹出对话框。见下图: 2、点击“以管理员身份运行”,得到下图: 3、点击“UTF-8”按钮,得到下图: 4、点击“通过编码重…...
qt hiRedis封装使用
qt Redis使用...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...