您的位置:首页 > 数据库 > Oracle

连接Oracle时报错ora-01034与ORA-27101

2016-07-04 09:32 691 查看
周末公司服务器突然断电,周一上班时先pl/sql连接数据库,起初报错无监听,手动启监听

[oracle@ORACLE247 ~]$ lsnrctl start listener

监听正常启动后,再次用pl/sql连接数据库,又报错:

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

上网查阅可以知道,这里并不是内存不够的问题,而是数据库没有找到你需要连接的实例SID。两种情况:

一是你的数据库ORACLE_HOME或ORACLE_SID设置错误;

二是Oracle没有找到你所需要的实例。

对于已经运行了一段时间的Oracle,大多情况是第二种情况,解决方法也很简单,就是手动修正,让系统知道你要启动的是哪个实例:

在Windows里,可以在命令行下:

C:/>set ORACLE_SID=orcl (这里的orcl根据你的实际实例名)。

SQL>sqlplus / as sysdba --> startup (重新启动数据库)。

如果还是连接不上:

 1、则需要检查系统注册表中的ORACLE_HOME路径了。

 2、把sqlnet.ora文件中SQLNET.AUTHENTICATION_SERVICES = (NTS) 将NTS换成NONE。

在类Unix系统中,可以使用命令查看当前实例 

[oracle@ORACLE247 ~]$ echo $ORACLE_SID 

实例切换命令与Windows略有不同:

[oracle@ORACLE247 ~]$ export ORACLE_SID=orcl

然后再执行启动命令:

[oracle@ORACLE247 ~]$ sqlplus / as sysdba

SQL> startup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 实例 启动报错