默认system用户是没有create pluggable database这个权限的
需要赋予system这个权限
SQL> create public database link cdbs5_link1 connect to system identified by cdbs5 using 'cdbs5';
Database link created.
SQL> select * from dual@cdbs5_link1;
D
-
X
SQL> create pluggable database pdbccc from cdbs5pdb10001@cdbs5_link;
create pluggable database pdbccc from cdbs5pdb10001@cdbs5_link
*
ERROR at line 1:
ORA-17628: Oracle error 1031 returned by remote Oracle server
ORA-01031: insufficient privileges
set source cdb上赋予system用户权限
需要加上contaienr=all才行,否则还是会报ORA-01031这个错误,system用户需要在被clone的那个pdb上有这个权限
SQL> grant create pluggable database to system;
Grant succeeded.
SQL> grant create pluggable database to system container=all;
Grant succeeded.
或者进入那个要被clone的pdb里赋予system权限
SQL> alter session set container=cdbs5pdb10001;
Session altered.
SQL> grant create pluggable database to system;
Grant succeeded.
如果source cdb配置了TDE,但是source pdb的状态为open_no_master_key就是source pdb没有配置master key,但是target cdb配置了TDE,这种情况下不会有问题,可以remote clone
如果source cdb配置TDE,source pdb也设置了master key,但是target cdb没有配置TDE的话,则会报下面的错误
SQL> create pluggable database cdbs9pdb10002_ccc from cdbs7pdb10002@cdbs7pdb10002_link;
create pluggable database cdbs9pdb10002_ccc from cdbs7pdb10002@cdbs7pdb10002_link
*
ERROR at line 1:
ORA-28365: wallet is not open
source cdb有配置TDE,source pdb也有配置master key的情况下,
在target cdb里remote clone pdb时 keystore identified by 这里指定的是target cdb的wallet的密码,不是source cdb的wallet 密码
SQL> create pluggable database cdbs5pdb10100_clone1 from cdbs5pdb10100@cdbs5_link;
create pluggable database cdbs5pdb10100_clone1 from cdbs5pdb10100@cdbs5_link
*
ERROR at line 1:
ORA-46697: Keystore password required.
SQL> create pluggable database cdbs5pdb10100_clone1 from cdbs5pdb10100@cdbs5_link keystore identified by "WelCome-123#";
Pluggable database created.