Oracle 12cR2多租户架构下,PDB被拔出删除后,在原CDB中删除common user,当PDB重新插入时,该PDB中的此common user也被删除

1、原12cR2多租户架构数据库中已经创建了公共用户C##TEST:
SQL> select * from cdb_sys_privs where grantee like 'C##%';

GRANTEE              PRIVILEGE                                ADM COM INH     CON_ID
-------------------- ---------------------------------------- --- --- --- ----------
C##TEST              CREATE SESSION                           NO  YES YES          3
C##TEST              CREATE SESSION                           NO  YES NO           1
C##TEST              CREATE SESSION                           NO  YES YES          5
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO
         5 ORCLPDB2                       READ WRITE NO
         
2、将PDB orclpdb2拔出并将用户C##TEST删除:
SQL> alter pluggable database orclpdb2 close immediate;
Pluggable database altered.

SQL> alter pluggable database orclpdb2 unplug into '/tmp/orclpdb2.xml';
Pluggable database altered.

SQL> drop pluggable database orclpdb2;
Pluggable database dropped.

SQL> drop user C##TEST;
User dropped.

SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO
SQL> 

3、然后将PDB orclpdb2插回来,此时被插回来的PDB中也没有了common user C##TEST:
SQL> create pluggable database orclpdb2 using '/tmp/orclpdb2.xml' nocopy;
Pluggable database created.

SQL> alter pluggable database orclpdb2 open;
Pluggable database altered.

SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO
         4 ORCLPDB2                       READ WRITE NO
         
SQL>  select * from cdb_sys_privs where grantee like 'C##%';
no rows selected

SQL> select username,common,con_id from cdb_users where username like 'C##%';
no rows selected

SQL> select username,common,con_id from cdb_users where username= 'C##TEST';
no rows selected

可以看到,被拔出的数据库重新插入后,原common user C##TEST也被删除。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值