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

本文详细介绍了如何将一个Oracle 11g数据库通过DBMS_PDB工具迁移到12c的PDB环境中,包括源库只读打开、XML描述文件生成、文件位置修改、目标库插入操作以及PDB的打开和切换等关键步骤。
摘要由CSDN通过智能技术生成

使用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:oracleoradatacdbdbsztech

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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值