一、

规划

Non-CDB name: orcl

CDB name: orclcdb

version: 12c or later

二、

开始转换

1.

创建一个CDB

形式的数据库

可以选择使用DBCA

或脚本创建

2.

只读方式打开数据库(non-CDB

)

SQL> shutdown immediate;

SQL> startup open read only;

3.

生成xml

文件

这个xml

文件可以理解为

non-CDB

的模板文件

执行以下语句

SQL>

BEGIN

DBMS_PDB.DESCRIBE(pdb_descr_file => '/

home/oracle

/1

9

cNonPDB.xml');

END;

/

4.

关闭数据库(non-CDB)

SQL> shutdown immediate;

为了保持元数据文件和数据文件的一致性,不要再次打开数据库,否则会报错

ORA-65139: Mismatch between XML metadata file and data file

5.

在目标CDB

中检查兼容性

$ export ORACLE_SID=orclcdb

$ sqlplus / as sysdba

SET SERVEROUTPUT ON;

DECLARE

compatible CONSTANT VARCHAR2(3) := CASE

DBMS_PDB.CHECK_PLUG_COMPATIBILITY(pdb_descr_file =>

'

/

home/oracle

/1

9

cNonPDB.xml

')

WHEN TRUE THEN 'YES'

ELSE 'NO'

END;

BEGIN

DBMS_OUTPUT.PUT_LINE(compatible);

END;

/

执行上述过程如果报错,需要检查

PDB_PLUG_IN_VIOLATIONS

视图

SQL> col cause for a20

SQL> col name for a20

SQL> col message for a35 word_wrapped

SQL> select name,cause,type,message,status from PDB_PLUG_IN_VIOLATIONS where name='

orcl

';

会得到类似下面的结果

ERROR PSU bundle patch 1 (PSU Patch 12345): Installed in the CDB but not in the PDB.

处理过程请参考MOS

Note 1935365.1

6.

在CDB

中创建一个

PDB

$ export ORACLE_SID=orclcdb

$ sqlplus / as sysdba

SQL>

CREATE PLUGGABLE DATABASE PDB

1

USING '/

home/oracle

/1

9

cNonPDB.xml' COPY FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/

orcl

/', '/u01/app/oracle/oradata/

ORCLCDB

/

PDB1

/');

7.

切换到PDB

容器,运行转换脚本

$ export ORACLE_SID=orclcdb

$ sqlplus / as sysdba

SQL> alter session set container=pdb1;

SQL>

@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql

8.

启动PDB

,检查

open mode

SQL> alter pluggable database pdb1 open;

SQL> select name,open_mode from v$database;

NAME OPEN_MODE

----- ----------

PDB1

READ WRITE

1 row selected

---- end ----

oracle cdb to no cdb,【CDB】怎样转换non-CDB to CDB相关推荐

  1. oracle 分区表转换,Oracle 12.2之后ALTER TABLE .. MODIFY转换非分区表为分区表

    Oracle 12.2之后ALTER TABLE .. MODIFY转换非分区表为分区表 发布时间:2020-08-08 06:57:47 来源:ITPUB博客 阅读:77 作者:你好我是李白 说明 ...

  2. oracle 数字大写转换,oracle数据库使用游标实现大写数字转换成小写数字

    项目遇到需求,需要将大写数字转换成小写.代码如下:declare t_zl varchar2(100); t_ts varchar2(100); t_l number; hh varchar2(100 ...

  3. 转:Oracle中的日期和字符串互相转换

    TO_DATE格式(以时间:2007-11-02   13:45:25为例)            Year:              yy two digits 两位年               ...

  4. oracle cbo 查询展开,Oracle CBO几种基本的查询转换详解

    在执行计划的开发过程中,转换和选择有这个不同的任务:实际上,在一个查询进行完语法和权限检查后,首先发生通称为"查询转换"的步骤,这里会进行一系列查询块的转换,然后才是"优 ...

  5. ORACLE 中为什么要把列名都转换成大写字母?

    以前在使用 JAVA 开发应用程序的时候,都是使用 ORACLE 数据库,在 JAVA 中对 ORACLE 数据表进行查询返回数据后,保存在一个 Vector 列表中,每一个元素表示一行,每一行又使用 ...

  6. oracle非常量不能用于privot_Oracle 行列转换函数pivot、unpivot的使用(二)

    一.行转列pivot 关键函数pivot,其用法如下 pivot(聚合函数 for 列名 in(类型)) select * from table_name pivot(max(column_name) ...

  7. 深度解析:Oracle数据库SYSDATE到PostgreSQL数据库最佳转换

    本文讨论了在Amazon RDS和Aurora 中使用PostgreSQL数据库时,与日期/时间相关的函数,并确定PostgreSQL数据库里的clock_timestamp()函数与Oracle中的 ...

  8. oracle 日期改字符格式_oracle 日期转换格式

    在网上看见不少oracle新学者对oracle的时间格式很烦,经常是设计了一个带时间字段的表之后,向表插入数据失败.回想起自己刚开始学习oracle时,也对这个时间格式摸不着头脑,虽然是小小的问题,高 ...

  9. oracle显示上午下午,如何把时间转换成带有上下午字样的格式?

    转换干嘛??前台传入以指定格式,用to_date或者前台语言比如java,可以转入oracle的日期类型插入 从数据库中取出,可以to_char格式化, to_char(date,fmt,param) ...

  10. Oracle中的日期和字符串互相转换以及格式化

    TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07yyy three digits 三位年 显示值:007yyyy ...

最新文章

  1. 64位ubuntu安装32位编译器
  2. 弹性方法计算内力例题_弹性力学重要公式汇总,还不快来强记一波【含参考答案】...
  3. 计算机电缆和控制电缆区别,动力电缆和控制电缆有啥区别?
  4. break stop java_在Java中使用break退出循环是不好的做法吗?
  5. windows局域网文件共享的使用
  6. [渝粤教育] 西南科技大学 土木工程施工 在线考试复习资料(1)
  7. Linux服务器时间同步那些事
  8. 阿里云OSS图床搭建教程
  9. python中ix用法_Python:Pandas中的ix用法详细解释
  10. 颈椎病及腰椎间盘突出病因病理
  11. 美丽小猪Java基础笔记02【小美女程序猿诞生日记 之 java学习笔记】
  12. 快速排序和二分查找时间复杂度详解
  13. Linux下常用的shell命令记录
  14. Java异常处理最佳实践及陷阱防范
  15. 二维彩虹产品功能更新(H5编辑二维码)
  16. ivue-admin Table单元格内换行问题
  17. python 已知三角形的三条边,通过反三角函数计算出三角形的三个角;其中用到math的引用;
  18. 前端技能树,面试复习第 1 天—— 建立前端知识框架 | HTML 知识考察点
  19. android如何保证service不被杀死
  20. CPU性能测试基准(Dhrystone)学习

热门文章

  1. You have to remove (or rename) that container to be able to reuse that name.
  2. 微信域名防封的新知识
  3. 巴塞尔协议中的计算公式_十分钟读懂巴塞尔协议
  4. sd卡 linux分区教程,《电脑端SD卡分区 小白教程 支持ext swap 分区无需linux环境、》.docx...
  5. 计算机动画电影英语翻译,“动画电影”英语怎么说
  6. DIV+CSS布局-PxCook工具的简单使用
  7. 10.12 SNK中国 游戏客户端 二面40min
  8. 在nginx中编写html,码头不会在nginx html根目录中创建文件夹
  9. Golang的反射机制(The Laws of Reflection)
  10. ThinkPHP5和ThinkPHP6的区别