如何快速把一个11g数据库插入到12c cdb中去?

使用DBMS_PDB把一个11g数据库插入到12c cdb中去

环境:

windows 7

源库:orcl oracle 11.2.0.4

目标库:cdbdb 12.2.0.1 ,pdb:sztech

1.源库先升级到12c

这个步骤略,可以通过dbua完成

2.原库以只读方式打开

SQL> conn / as sysdba

已连接。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup open read only;

SQL> show parameter db_name

NAME TYPE VALUE

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

db_name string orcl

SQL> select open_mode from v$database;

OPEN_MODE

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

READ ONLY

SQL>

3.源库生成xml信息

SQL> EXEC DBMS_PDB.DESCRIBE('d:\orcl.xml');

PL/SQL 过程已成功完成。

4.把源库的数据文件及xml文件拷贝到目标库所在机器

5.修改xml文件中数据文件的位置,与实际位置相匹配

比如新的文件位置为:

D:\oracle\oradata\cdbdb\sztech

6.使用有 CREATE PLUGGABLE DATABASE 权限的用户登陆目标库

sqlplus /nolog

sql>conn / as sysdba

SQL> conn / as sysdba

已连接。

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

SQL>

7.插入目标库

在目标库,把源库orcl以 sztech为pdb名字插入目标容器库中

--由于文件已经拷贝到目标,在命令行上带上 nocopy,否则,可以使用 FILE_NAME_CONVERT ('xml文件中数据文件位置','新的位置')

CREATE PLUGGABLE DATABASE sztech USING 'd:\orcl.xml' nocopy tempfile reuse;

SQL> CREATE PLUGGABLE DATABASE sztech USING 'd:\orcl.xml' nocopy tempfile reuse;

插接式数据库已创建。

SQL>

查看一下pdb情况

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

4 SZTECH MOUNTED

SQL>

8.运行noncdb_to_pdb.sql脚本

切换到sztech pdb

SQL> alter session set container=sztech;

会话已更改。

SQL> show con_name

CON_NAME

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

SZTECH

SQL>

--执行脚本noncdb_to_pdb.sql脚本

@%ORACLE_HOME%/rdbms/admin/noncdb_to_pdb.sql

9.最后打开pdb

alter pluggable database sztech open;

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED

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

4 SZTECH MOUNTED

SQL> alter pluggable database open;

插接式数据库已变更。

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED

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

4 SZTECH READ WRITE NO

SQL>

转载于:https://my.oschina.net/u/3635497/blog/3101867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值