如果自己搞不定可以找诗檀软件专业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错误。
解决方案
- 使用除PDB以外的名称创建一个CRS 服务 – 例如:
$ORACLE_HOME/bin/srvctl add service -database racdb -pdb pdb_name -s pdb_srv -i “racinst1,racinst2”
- 通过srvctl启动服务:
$ORACLE_HOME/bin/srvctl start service -database racdb -pdb pdb_name -s pdb_srv
- 使用新服务连接用户- 以下是tnames.ora的示例TNS条目:
PDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lc4-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb_srv)
)
)
Leave a Reply