Oracle 连接到一个12c RAC可插拔数据库间歇性失败并显示ORA-1033

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]

适用于:

Oracle Database – Enterprise Edition – 版本 12.1.0.1 及以上
本文信息适用于任何平台。

症状

尝试(非SYSDBA)连接到在多租户RAC数据库的12.1可插拔数据库(PDB)间歇性地返回以下错误:

ORA-01033: ORACLE initialization or shutdown in progress

 

原因

该问题是由2个因素导致的:

1. 用于连接到PDB的服务名是PDB本身的名称

2. 在所有RAC实例上的PDB没有都打开
在RAC环境中使用PDB名作为服务名不是很好的做法,因为一旦PDB被mount,实例会以SCAN 和节点listeners注册PDB名称。这可能会导致连接到被指向PDB被mount(未打开)的数据库实例,同时当连接非SYSDBA用户时,可导致一个ORA-1033错误。
解决方案

  1. 使用除PDB以外的名称创建一个CRS 服务 – 例如:

$ORACLE_HOME/bin/srvctl add service -database racdb -pdb pdb_name -s pdb_srv -i “racinst1,racinst2

  1. 通过srvctl启动服务:

$ORACLE_HOME/bin/srvctl start service -database racdb -pdb pdb_name -s pdb_srv

  1. 使用新服务连接用户- 以下是tnames.ora的示例TNS条目:

PDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lc4-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb_srv)
)
)

 


Posted

in

by

Tags:

Comments

One response to “Oracle 连接到一个12c RAC可插拔数据库间歇性失败并显示ORA-1033”

  1. west Avatar
    west

    然而,新增服务并不能有效监控pdb的状态,而改变新增服务的状态。这是一个大问题。

Leave a Reply

Your email address will not be published. Required fields are marked *