如何快速把一个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>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>数据库

相关文章
相关标签/搜索