ITPub博客

首页 > 数据库 > Oracle > ORACLE 12C 非CDB迁移CDB之克隆非CDB数据库

ORACLE 12C 非CDB迁移CDB之克隆非CDB数据库

原创 Oracle 作者:ijack2016 时间:2018-12-29 15:18:53 1 删除 编辑

克隆非CDB数据库

可以使用3种方法通过现存的非CDB数据库,创建可插拔数据库:

  1.使用DBMS_PDB软件包生成元数据,然后使用SQL命令CREATE PLUGGABLE DATABASE创建可插拔数据库;

  注意:在使用DBMS_PDB软件包将非CDB数据库转换为可插拔数据库时,该非CDB数据库必须是使用ORACLE 12C或更高的版本创建的

 2.数据泵(使用可传输表空间功能);

 3.GOLDENGATE复制软件

本文使用第一种方法:

第一步:

应该先将非CDB数据库切换到只读模式

SQL> startup mount;

SQL> alter database open read only;

BEGIN

 DBMS_PDB.DESCRIBE(pdb_descr_file=>'/u02/app/oracle/xml/ncdb.xml');

END;

/

SQL>shutdown immediate;


第二步:

连接CDB数据库,检查这个非CDB数据库,是否与将要容纳它的CDB兼容,运行下面

SET SERVEROUTPUT ON

DECLARE

hold_var boolean;

begin

hold_var :=DBMS_PDB.CHECK_PLUG_COMPATIBILITY('/data/ncpdb.xml','TESTA');

if hold_var then

dbms_output.put_line('YES');

else

dbms_output.put_line('NO');

end if;

end;

/


如果这个两个数据库之间没有兼容性问题,这段代码会显示YES,否则为NO.

查询PDB_PLUG_IN_VIOLATIONS视图的内容,可以详细了解这两个数据库不兼容的原因。


使用下面的SQL命令,可以通过非CDB创建可插拔数据库。


CREATE PLUGGABLE DATABASE TESTA


USING '/u02/database/ncpdb.xml'

COPY

FILE_NAME_CONVERT =('/data/app/oracle/oradata/testa/datafile/','+DATA/TESTDB/TESTA/DATAFILE/');

Pluggable database created


第三步:

使用SYS用户连接新建的可插拔数据库:

$sqlplus sys/oracle@'testdb1:1521/testa' as sysdba

SQL>@?/rdbms/admin/noncdb_to_pdb.sql

然后打开

SQL>startup

就可以了


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31373276/viewspace-2286932/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2016-07-12

  • 博文量
    1
  • 访问量
    2275