本篇内容主要讲解“ORACLE中怎么克隆非CDB数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORACLE中怎么克隆非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
就可以了
到此,相信大家对“ORACLE中怎么克隆非CDB数据库”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/204891.html