从远程PDB或者远程NO-CDB 克隆PDB

参考文档

https://docs.oracle.com/database/122/ADMIN/creating-and-removing-pdbs-with-sql-plus.htm#ADMIN14167

因为手头没有NO -CDB环境,测试的时候出错。暂时把从远程PDB 克隆PDB 写出来。 NO-CDB有机会再写 。其实道理都一样 。


查看监听器情况

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=11gr2.test.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                10-NOV-2017 07:49:49
Uptime                    0 days 6 hr. 29 min. 29 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle12/diag/tnslsnr/11gr2/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11gr2.test.com)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11gr2.test.com)(PORT=8000))(Presentation=HTTP)(Session=RAW))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=11gr2.test.com)(PORT=8080))(Security=(my_wallet_directory=/u01/app/oracle12/admin/newcdb/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "5cedc5c5fd04342be0536402a8c02d11" has 1 instance(s).Instance "orcl12c", status READY, has 1 handler(s) for this service...
Service "5d9800bacd6c13f5e0536402a8c02a68" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "5d989e0872562852e0536402a8c0ec3d" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "5d9937e0332f2ba2e0536402a8c09bdf" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "5d9937e033322ba2e0536402a8c09bdf" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "newcdb" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "newcdbXDB" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "orcl12c" has 1 instance(s).Instance "orcl12c", status READY, has 1 handler(s) for this service...
Service "orcl12cpdb" has 1 instance(s).Instance "orcl12c", status READY, has 1 handler(s) for this service...
Service "pdb2" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "pdb3" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "pdb4" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
Service "pdbs" has 1 instance(s).Instance "mynewdb", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL> 

配置pdb的tnsnames .创建dblink的时候要用到

orcl12cpdb =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 11gr2.test.com)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl12cpdb)))[oracle@11gr2 Desktop]$ tnsping orcl12cpdbTNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 10-NOV-2017 14:28:07Copyright (c) 1997, 2016, Oracle.  All rights reserved.Used parameter files:
/u01/app/oracle/product/12.2.0/db_1/network/admin/sqlnet.oraUsed TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 11gr2.test.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl12cpdb)))
OK (0 msec)

在remote上创建user

CREATE USER r_user IDENTIFIED BY oracle;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO r_user;SYS@orcl12c>alter session set container=ORCL12CPDB;Session altered.SYS@orcl12c>alter pluggable database ORCL12CPDB open;Pluggable database altered.SYS@orcl12c>CREATE USER r_user IDENTIFIED BY oracle;User created.SYS@orcl12c>GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO r_user;Grant succeeded.

将remote的PDB 为read only

alter pluggable database orcl12cpdb close;
alter pluggable database orcl12cpdb open read only;SYS@orcl12c>alter pluggable database orcl12cpdb close;Pluggable database altered.SYS@orcl12c>alter pluggable database orcl12cpdb open read only;Pluggable database altered.

在本地创建到remote的dblink

create database link dblink connect to r_user identified by oracle using 'ORCL12CPDB';select * from dual@dblinkSYS@mynewdb>create database link dblink connect to r_user identified by oracle using 'ORCL12CPDB';Database link created.SYS@mynewdb>select * from dual@dblink;D
-
XSYS@mynewdb>

在本地创建pdb。

create pluggable database orcl12cpdbnew from orcl12cpdb@dblink
FILE_NAME_CONVERT = ('/u01/app/oracle12/oradata12/orcl12c/orcl12cpdb/', '/u01/app/oracle12/oradata12/orcl12cpdbnew/')SYS@mynewdb>create pluggable database orcl12cpdbnew from orcl12cpdb@dblink;
create pluggable database orcl12cpdbnew from orcl12cpdb@dblink*
ERROR at line 1:
ORA-65016: FILE_NAME_CONVERT must be specifiedcreate pluggable database orcl12cpdbnew from orcl12cpdb@dblink2  FILE_NAME_CONVERT = ('/u01/app/oracle12/oradata12/orcl12c/orcl12cpdb/', '/u01/app/oracle12/oradata12/orcl12cpdbnew/')3  ;Pluggable database created.

打开pdb,并查看状态 。奇怪,这里打开出错了。 不知是不是和之前的catpdb.sql执行有关 。-- 待研究

SYS@mynewdb>alter pluggable database ORCL12CPDBNEW open ;Warning: PDB altered with errors.SYS@mynewdb>show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 PDBS 			  MOUNTED4 ORCL12CPDBNEW		  READ WRITE YES5 PDB2 			  MOUNTED7 PDB4 			  MOUNTED8 PDB3 			  MOUNTED

通过远程pdb创建pdb的过程结束了。

补充,通过远程no-cdb创建pdb的过程

CREATE PLUGGABLE DATABASE pdb2 FROM mydb@mydb_link;
CREATE PLUGGABLE DATABASE pdb2 FROM NON$CDB@mydb_link;


ALTER SESSION SET CONTAINER=pdb2;@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql



end 。






本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部