如何快速把一個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: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>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章