异常关机后Oracle无法正常连接,使用 conn /as sysdba 出现 ORA-01034 和 ORA-27101: shared memory realm does not exist

最近异常关机导致oracle无法连接,一直提示ORA-01034和ORA-27101的错误

打开cmd后,输入

sqlplus /npolog

conn / as sysdba

提示

ORA-01034 - Oracle not available”

“ORA-27101 - shared memory realm does not exist

原因:

非正常关闭数据库(在没有关闭数据库的情况下直接关机)

解决方案:

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,启动成功。

4。输入"select * from user_tables;"测试一下,看是否有查询结果

备注:

输入conn /as sysdba 有可能会提示 ORA-01031: insufficient privileges

解决方案:

第一步:查看系统用户是否属于ora_dba,如果不在ora_dba组请添加。

第二布:检查sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES设置是否是NTS,如果不是请修改,修改后结果SQLNET.AUTHENTICATION_SERVICES= (NTS)。

第三步:检查环境变量path server/bin 是否在client_1in前面,经查询client_1in 在server/bin前面如下:

d:oracleproduct10.2.0client_1in;d:oracleproduct10.2.0db_1in;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;%JAVA_HOME%in

修改之后

d:oracleproduct10.2.0db_1in;d:oracleproduct10.2.0client_1in;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;%JAVA_HOME%in

第四步:重新打开命令窗口(必须),之后重新登录。

原文地址:https://www.cnblogs.com/lujiangping/p/11394913.html