转载 Oracle 12c RAC 连接PDB 报ORA-01033 ORACLE initialization or shutdown in progress 错误解决方法...

转载 本文链接:https://www.cndba.cn/dave/article/217

在12c RAC 中每个节点的CDB 管理自己的PDB,也就是说,当我们在节点1对PDB进行操作时,不会影响到节点2的PDB.

示例:

--节点1:
SQL> show pdbs

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 DAVE               MOUNTED
SQL> alter pluggable database dave open;

Pluggable database altered.

SQL> show pdbs

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




--节点2:

SQL> show pdbs

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 DAVE               MOUNTED
SQL>



在客户端通过service 连接时:

cndba_rac=
(DESCRIPTION =
 (ADDRESS_LIST =
  (LOAD_BALANCE = yes)
  (FAILOVER=ON)
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.31)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.41)(PORT = 1521))
 )
 (CONNECT_DATA =
   (SERVICE_NAME =dave)
   (failover_mode=(type=select)(method=basic))
   )
)


因为这种方式配置了负载均衡和故障转移,先tnsping 测试service是否正常。

C:/Users/Dave>tnsping cndba_rac

TNS Ping Utility for 64-bit Windows: Version 11.2.0.4.0 - Production on 27-OCT-2015 19:29:14

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:
D:/app/Dave/product/11.2.0/dbhome_1/NETWORK/ADMIN/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = yes) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.31)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.41)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =dave) (failover_mode=(type=select)(method=basic))))
OK (80 msec)


--连接到PDB:

C:/Users/Dave>sqlplus system/oracle@cndba_rac

SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 27 19:41:19 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
cndba1

SQL>


此时连接到节点1,所以正常连接,但是RAC 有负载均衡的概念,如果连接到节点2,就会异常,我们这里多连接几次。

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

C:/Users/Dave>sqlplus system/oracle@cndba_rac

SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 27 19:43:12 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

C:/Users/Dave>sqlplus system/oracle@cndba_rac

SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 27 19:43:35 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
Process ID: 0
Session ID: 0 Serial number: 0


Enter user-name:




ORA-01033的错误出现,但如果我们看CDB,都是正常的,只是PDB没有open。

解决方法就是在启动CDB的时候,一定要检查PDB 是否都mount了,可以创建触发器,在启动CDB的时候,自动open PDB.

触发器如下:

CREATE OR REPLACE TRIGGER open_pdbs
  AFTER STARTUP ON DATABASE
BEGIN
   EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/

转载于:https://www.cnblogs.com/wuyuanguo/p/11230876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值