Oracle 12.1的删除和创建公共用户问题

Oracle版本12.1 ,cdb-rac模式

一个集群,4个节点,一个cdb,下面有12个pdb.

os:linux 64

---

删除用户

drop user c##test

atler.log提示

ORA-00600: internal error code, arguments: [ktpJPTSR-noCurTxn], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/wgdb/wgdb1/incident/incdir_735958/wgdb1_ora_27222_i735958.trc

问题在哪里? 看这个提示不明白,也没有oracle服务号。

瞎猜! 应该是因为pdb被关闭的缘故(为了减少不必要的网络消耗和资源竞争,关闭了某些实例上的某个pdb,例如pdb_test在实例1上被关闭)

解决方式:

在实例1上打开pdb_test

alter pluggable pdb_test open instances=('cdb1')

结果:ok

添加用户

create user c##xtjk identified by "123456"

执行半天,发现语句卡在实例1的pdb_sa上。

只好kill掉有关进程(否则会提示有事务)

猜想: 应该是因为数据字典所导致的锁,为什么这些字典会上锁,可能是因为没有告诉服务器用户的配置,这样系统需要到每个pdb中去查询系统字段,刚好

在pdb_sa中,由于某些原因被卡住(猜测,应该是因为缺乏条件,所以查询这些字段耗费大量时间)

解决方式: 提供完整的语句

create user c##xtjk identified by "123456" 
  default tablespace users temporary tablespace temp
  profile default
  quota 100m on users container=ALL

结果:立刻创建
在cdb模式的rac中,对系统字段的操作的成本尤其高!

结语!

这个集群总体上有些问题,所以会有一些莫名其妙的问题!

相关推荐