揭秘Oracle 12c数据库新特性之三:创建PDB的方法(三)从本地non-cdb克隆一个pdb
克隆非容器数据库PROD,在容器数据库CDB1中创建PDB4
以read only 启动 PROD非容器数据库
$ export ORACLE_SID=PROD
$ sqlplus / as sysdba
SYS@PROD> startup open read only;
SYS@PROD> select open_mode from v$database;
查看监听器状态和 tnsnames.ora
$ lsnrctl status
$ cd $ORACLE_HOME/network/admin
$ cat tnsnames.ora
cdb1 中创建 dblink
SYS@cdb1> create database link lk_prod connect to system identified by oracle using ‘prod’;
验证dblink:
SYS@cdb1> select file_name from dba_data_files@lk_prod;
使用 db link 查看, 同时验证 db link 可用
创建 pdb4 目录
SYS@cdb1> !mkdir /u01/app/oracle/oradata/cdb1/pdb4
克隆 non-CDB
SYS@cdb1> create pluggable database pdb4 from non$cdb@lk_prod file_name_convert=(’/u01/app/oracle/oradata/PROD’,’/u01/app/oracle/oradata/cdb1/pdb4’);
pdb4 mount 状态执行 noncdb_to_pdb 脚本
SYS@cdb1> show pdbs
配置 tnsnames.ora
$ sqlplus sys/oracle@pdb4 as sysdba
SYS@pdb4> show pdbs
SYS@pdb4> @?/rdbms/admin/noncdb_to_pdb.sql
脚本执行时间比较长, 请耐心等待!
脚本执行过程中 pdb4 状态
SYS@cdb1> show pdbs
脚本执行完成 查看 pdb 状态
SYS@pdb4> show pdbs
open 打开 pdb
SYS@pdb4> alter pluggable database PDB4 open;
SYS@pdb4> show pdbs