oracle 12c rac关闭pdb出现ORA-01155异常

今天想关闭部署在windows 2012 r2环境下oracle 12c 双节点rac中的节点2里的一个pdb:

通过cmd执行sqlplus命令:

SQL> alter pluggable database scmdb close;

一直卡在这里,过了很久都没响应,通过查看告警日志也没发现什么提示:

Wed Apr 26 09:23:24 2017
alter pluggable database scmdb close

于是,直接终止了关闭。

突然,一种不详的预感从我脑中闪过:这个pdb肯定出问题了!

于是,通过

SQL> show pdbs;

看到scmdb的状态为READ WRITE,但是

SQL> alter session set container=scmdb;

出现了ORA-01155错误……

好吧,果然不出我所料。。。

遇到这种情况怎么办?而且之前也没遇到过

没错,我先查看了官方的说明:

ORA-01155: the database is being opened, closed, mounted or dismounted 
Cause: The requested operation needs the instance to be in a particular state but the state is being changed.
Action: Wait for the open, close, mount, or dismount to complete then retry the operation. If necessary, a SHUTDOWN ABORT will always work.

额,Oracle官方建议我们静观其变,或者是SHUTDOWN ABORT。

因为不知道要什么时候才能完成,而且急于测试,所以我选择了SHUTDOWN ABORT,然并卵……

为什么会没用呢?我在这里找到了答案

Oracle 12c 多租户:PDB 支持 abort 关闭么?

后面我还进行了各种尝试,例如
SQL> select sid,SERIAL#,con_id from v$session where con_id=5;
       SID    SERIAL#     CON_ID
---------- ---------- ----------
      1980      31763          5
      2130       2312          5
(出现异常的pdb的id为5)

SQL> alter system kill session '1980,31763';
系统已更改。
SQL>
SQL> alter system kill session '2130,2312';
alter system kill session '2130,2312'
*
第 1 行出现错误:
ORA-00031: 标记要终止的会话

还是不起作用,就这样,时间一分一秒的过去……
后来,我在不经意间再次执行了
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB                            MOUNTED
         4 PTMSDB                         READ WRITE NO
         5 SCMDB                          READ WRITE NO
SQL>
SQL> alter session set container=scmdb;
会话已更改。

居然可以切换了,也就是说scmdb恢复正常了!

事出有因,我立马查看日志,发现以下信息:
Wed Apr 26 10:23:25 2017
Active process  user '' program 'PSEUDO'
SHUTDOWN: Active sessions prevent database close operation
          Shutdown did not complete in 60 minutes
ORA-1013 signalled during: alter pluggable database scmdb close...
opidcl aborting process unknown ospid (22344) as a result of ORA-28

雨过天晴,操作超时,关闭被取消了。这也印证了官方的建议:等。

现在有个新问题:这个60分钟是默认的吗?能否修改?

答案待续……

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值