在多租户(容器)数据库中如何创建PDB:方法4 克隆远程Non-CDB
时间:2019-08-19
本文章向大家介绍在多租户(容器)数据库中如何创建PDB:方法4 克隆远程Non-CDB,主要包括在多租户(容器)数据库中如何创建PDB:方法4 克隆远程Non-CDB使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
基于版本:19c (12.2.0.3) AskScuti
创建方法:克隆远程Non-CDB(从 Non-CDB 中进行远程克隆)。将 非CDB数据库PROD1 远程克隆为 CDB1 中的 PDB7
对应路径:Creating a PDB --> Cloning --> Remotely --> From a Non-CDB
在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:
内容总览
1. 概述
2. 源数据库PROD1设置只读
3. 编辑TNSNAMES.ora
4. 创建DBLINK
5. 远程克隆PROD1
6. 执行noncdb_to_pdb.sql脚本
7. 打开PDB7
1. 概述
克隆远程Non-CDB的意思是指:被克隆的源数据库为非CDB数据库(12c之前版本称之为 Non-CDB),通过DBLink方式进行克隆。
2. 源数据库PROD1设置只读
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 1241513488 bytes Fixed Size 8896016 bytes Variable Size 318767104 bytes Database Buffers 905969664 bytes Redo Buffers 7880704 bytes Database mounted. SQL> alter database open read only; Database altered.
3. 编辑TNSNAMES.ora
PROD1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.14)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD1) ) )
4. 创建DBLINK
SQL> create database link link_prod1 connect to system identified by oracle using 'PROD1'; Database link created.
5. 远程克隆PROD1
SQL> create pluggable database pdb7 from NON$CDB@link_prod1 create_file_dest='/u01/app/oracle/oradata/CDB1/pdb7'; Pluggable database created.
如果报错如下:
SQL> create pluggable database pdb7 from NON$CDB@link_prod1 create_file_dest='/u01/app/oracle/oradata/CDB1/pdb7'; create pluggable database pdb7 from NON$CDB@link_prod1 create_file_dest='/u01/app/oracle/oradata/CDB1/pdb7' * ERROR at line 1: ORA-17628: Oracle error 1031 returned by remote Oracle server ORA-01031: insufficient privileges
到源数据库里面针对PROD1数据库,授权SYSTEM用户 create pluggable database 权限即可。
SQL> shutdown immediate; SQL> startup; SQL> select * from dba_sys_privs where GRANTEE='SYSTEM'; GRANTE PRIVILEGE ADM COM INH ------ ------------------------ --- --- --- SYSTEM GLOBAL QUERY REWRITE NO YES YES SYSTEM CREATE TABLE NO YES YES SYSTEM DEQUEUE ANY QUEUE YES YES YES SYSTEM ENQUEUE ANY QUEUE YES YES YES SYSTEM SELECT ANY TABLE NO YES YES SYSTEM MANAGE ANY QUEUE YES YES YES SYSTEM UNLIMITED TABLESPACE NO YES YES SYSTEM CREATE MATERIALIZED VIEW NO YES YES SQL> grant create pluggable database to system; Grant succeeded. SQL> select * from dba_sys_privs where GRANTEE='SYSTEM'; GRANTE PRIVILEGE ADM COM INH ------ ------------------------- --- --- --- SYSTEM CREATE PLUGGABLE DATABASE NO NO NO SYSTEM GLOBAL QUERY REWRITE NO YES YES SYSTEM CREATE TABLE NO YES YES SYSTEM DEQUEUE ANY QUEUE YES YES YES SYSTEM ENQUEUE ANY QUEUE YES YES YES SYSTEM SELECT ANY TABLE NO YES YES SYSTEM MANAGE ANY QUEUE YES YES YES SYSTEM UNLIMITED TABLESPACE NO YES YES SYSTEM CREATE MATERIALIZED VIEW NO YES YES SQL> shutdown immediate; SQL> startup mount; SQL> alter database open read only; Database altered.
6. 执行noncdb_to_pdb.sql脚本
SQL> alter session set container=pdb7; SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
7. 打开PDB7
SQL> alter pluggable database pdb7 open; Pluggable database altered.
原文地址:https://www.cnblogs.com/askscuti/p/11341732.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JetBrains 集成开发环境常用插件-快捷键-内存优化
- Hugo Travis
- hugo-站点变量
- hugo-页面变量
- 将hexo文章头转为hugo格式
- python 技术篇-使用pytesseract库进行图像识别之环境配置
- Linux 安装PicGo问题
- 【剑指Offer】对称的二叉树
- deepin下状态栏无法显示问题
- 【剑指Offer】二叉树的镜像
- Python实战之利用数据字典实现井字棋盘,
- scRNA-seq Clustering quality control
- Python实战之tkinter库画图,用canver画布教你画卡通人物!
- Python教程之正则表达式(基础篇)
- Python教程之正则表达式(提高篇)