ORA-27101: shared memory realm does not exist 错误的处理

来源:互联网 发布:慢走丝编程 编辑:程序博客网 时间:2024/04/30 14:50
 

错误如下图:

 

我试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息,“ORA-01034 -Oracle not available”和“ORA-27101 - shared memory realm does not exist”。
不能连接到我的Oracle 数据库上。
因为碰到防火墙的问题次数比较多,这次也先看看,发现根本就没什么拦截的。查看了一下监听,数据库实例也是运行着的。
奇怪的事情,刚才还好好的,重启了机器就不行了。上网找了找,问题就解决了。

解决的方法倒是不麻烦...
  首先看一下 ORACLE_BASE/ORACLE_HOME/DATABASE 下面的 ORADIM.LOG 文件
  如果里边有这个错误
  ORA-12640: 验证适配器初始化失败
  那么问题就是他了.
  到ORACLE_BASE/ORACLE_HOME/NETWORK/ADMIN下面找sqlnet.ora文件
  把sqlnet.authentication_services=(NTS) 改成
  sqlnet.authentication_services=(NONE)
  然后手动重起一下你的哪个数据库服务..在开始->控制面板->管理工具->服务里然后把这个服务的启动帐号改成你的帐号吧...其实不改大概也没有毛病.我就没改。。

看了这个方法,出错的原因大概有两种情况,修改了帐户,实例有些变动等。

说明:以上内容为引用.

附言:

就在今天我的8I数据库也出现了错误:“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。然后在网上搜到了如上的内容,并按其中所说的把问题解决了。很高兴!

要补充的一点是我的ORADIM.LOG 文件在目录orant/database下,而文件sqlnet.ora在目录orant/network/ADMIN

下。我的数据库发生这个问题的可能原因是:非正常关闭数据库(在没有关闭数据库的情况下直接关机)。

关于这个问题ITPUB上有如下说法:(但我没测试过)

1、实例没有启动

sqlplus /nolog
connect / as sysdba
startup

2、最近遇到一次,杀毒软件把ORACLE杀DOWN了,
ORACLE没有报错.

startup 就可以了 .

3、执行如下语句启动数据库
sqlplus /nolog
connect / as sysdba
startup force

cmd中因为不能执行sqlplus,则采用窗口执行方式sqlplusw

基本上用LS的就可以!

sqlplusw /nolog
connect / as sysdba
startup force

另还搜到一高手有关这个问题的记录(虽然我没测试但我相信他说的是可行的,并且他里面所谈到的“异常关机”与我上面所说的原因“非正常关闭数据库(在没有关闭数据库的情况下直接关机)”是相通的):

昨天夜里写程式,忙到12点多。一朋友说他数据库有问题,就用joinnet连过去检查。发现是ORA-27101.先将操作步骤整理出来供大家参考。

1。首先检查oracle/admin/sid/bdump/下的alert.log发现没有最后一次数据库的启动相关信息。也就是说电脑可能有异常关机过

2。进入cmd模式,sqlplus /nolog,connect / as sysdba,执行startup,还是27101错误。初步判定为init.ora文件有异常,copy之前的init.ora文件覆盖。

3。进入cmd模式,sqlplus /nolog,connect / as sysdba,执行startup pfile=c:/oracle/admin/sid/pfile/init.ora,启动成功。

原创粉丝点击