【PDB】12c non-CDB 迁移到pdb

目录

目标

将源端的non-CDB 迁移到目标端的CDB中

环境信息

实施过程

制作pdb xml文件

兼容性检查

创建pdb

启动pdb

验证数据


目标

将源端的non-CDB 迁移到目标端的CDB中

参考文档

https://docs.oracle.com/database/121/ADMIN/cdb_plug.htm#ADMIN-GUID-60C23F96-6EF3-4BE3-B8CF-5AD6EC29954F

38.6 Creating a PDB Using a Non-CDB

环境信息

 

源端

目标端

实例名

orcl

root:oracdb

pdb:ncdb

版本

12.2.0.1

12.2.0.1

 

实施过程

利用DBMS_PDB.DESCRIBE存储过程来插入non-CDB,实现将non-CDB数据库插入到CDB中

 

制作pdb xml文件

以只读方式打开non-CDB

SQL*Plus: Release 12.2.0.1.0 Production on Mon Mar 22 10:24:08 2021
 
Copyright (c)
1982, 2016, Oracle.  All rights reserved.
 
 
Connected
to:
Oracle
Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
 

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE
instance shut down.
SQL> startup open read only
ORACLE instance started.
 
Total
System Global Area  763363328 bytes
Fixed
Size                  8625368 bytes
Variable Size             557843240 bytes
Database Buffers          192937984 bytes
Redo Buffers               
3956736 bytes
Database mounted.
Database opened.

运行DBMS_PDB.DESCRIBE生成xml文件

BEGIN
  DBMS_PDB.DESCRIBE(
    pdb_descr_file =>
'/home/oracle/orcl.xml');
END;
/

查看xml文件

[oracle@oracle12c ~]$ ll *.xml
-rw-r--r-- 1 oracle oinstall 6525 Mar 22 10:36 orcl.xml

 

兼容性检查

在CDB中进行兼容性检查

SET SERVEROUTPUT ON
DECLARE
  compatible CONSTANT VARCHAR2(3) :=
   
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
           pdb_descr_file =>
'/home/oracle/orcl.xml',
           pdb_name       => 'NCDB')
    WHEN TRUE THEN 'YES'
    ELSE 'NO'
END;
BEGIN
  DBMS_OUTPUT.PUT_LINE(compatible);
END;
/

返回YES即兼容性无问题

 

关闭non-CDB

[oracle@oracle12c ~]$ export ORACLE_SID=orcl
[oracle@oracle12c ~]$ sqlplus /
as sysdba
 

SQL*Plus: Release 12.2.0.1.0 Production on Mon Mar 22 11:10:24 2021
 
Copyright (c)
1982, 2016, Oracle.  All rights reserved.
 
 
Connected
to:
Oracle
Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
 

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE
instance shut down.

 

创建pdb

使用生成的non-CDB xml创建pdb

CREATE PLUGGABLE DATABASE ncdb USING '/home/oracle/orcl.xml'
  COPY
  FILE_NAME_CONVERT = ('/oradata/orcl', '/oradata/oracdb/')
  USER_TABLESPACES=(
'USERS');

SQL> show pdbs
 
    CON_ID CON_NAME       
OPEN MODE  RESTRICTED
---------- --------------- ---------- ----------
         2 PDB$SEED        READ ONLY  NO
         5 NCDB            MOUNTED

pdb已经建完并启动到mount状态

继续执行脚本@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql

SQL> alter session set container=ncdb;
 

Session altered.
 

SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql

启动pdb

SQL> show pdbs;
 
    CON_ID CON_NAME       
OPEN MODE  RESTRICTED
---------- --------------- ---------- ----------
         3 NCDB            MOUNTED
SQL> startup;
Pluggable
Database opened.

 

验证数据

以scott用户连接到pdb

[oracle@oracle12c ~]$ sqlplus scott/tiger@192.168.106.10/ncdb
 

SQL*Plus: Release 12.2.0.1.0 Production on Mon Mar 22 13:33:45 2021
 
Copyright (c)
1982, 2016, Oracle.  All rights reserved.
 

Last Successful login time: Mon Mar 22 2021 13:31:01 +08:00
 
Connected
to:
Oracle
Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
 

SQL> select count(*) from tab;
 
 
COUNT(*)
----------
       194
 
SQL> select count(*) from emp;
 
 
COUNT(*)
----------
        14

查看原库数据

[oracle@oracle12c ~]$ sqlplus scott/tiger@192.168.106.10/orcl
 

SQL*Plus: Release 12.2.0.1.0 Production on Mon Mar 22 13:32:27 2021
 
Copyright (c)
1982, 2016, Oracle.  All rights reserved.
 

Last Successful login time: Tue Mar 16 2021 14:16:03 +08:00
 
Connected
to:
Oracle
Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
 

SQL> select count(*) from tab;
 
 
COUNT(*)
----------
       194
 
SQL> select count(*) from emp;
 
 
COUNT(*)
----------
        14

 

至此non-CDB插入CDB完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aluphami

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值