本文参考:两篇文章
问题描述:
我试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息,
“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。
不能连接到我的Oracle 数据库上。
因为碰到防火墙的问题次数比较多,这次也先看看,发现根本就没什么拦截的。查看了一下监听,数据库实例也是运行着的。
不能连接到我的Oracle 数据库上。
因为碰到防火墙的问题次数比较多,这次也先看看,发现根本就没什么拦截的。查看了一下监听,数据库实例也是运行着的。
发现问题原因:
首先看一下 ORACLE_BASE/ORACLE_HOME/DATABASE 下面的 ORADIM.LOG 文件
文件中,原来信息都是正常的记录,后面突然出错了。
会发现,有这样的错误:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ’/opt/oracle/app/oracle/product/10.1.0/Db_1/dbs/initoracle.ora’
LRM-00109: could not open parameter file ’/opt/oracle/app/oracle/product/10.1.0/Db_1/dbs/initoracle.ora’
解决方法:
这是因为在oracle9i和oracle10g中,
数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方法:
将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 778212 bytes
Variable Size 57679900 bytes
Database Buffers 109051904 bytes
Redo Buffers 262144 bytes
解决方法:
将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 778212 bytes
Variable Size 57679900 bytes
Database Buffers 109051904 bytes
Redo Buffers 262144 bytes
=========华丽的分割线========(以下转自
http://www.blogjava.net/imcb/archive/2007/04/02/108080.html)====
以上是我遇到的问题,下面我再讲一种。同样的
看了这个方法,出错的原因大概有两种情况,修改了帐户,实例有些变动等。
错误信息:连接数据库时的ORA-01034 和 ORA-27101错误信息
发现问题:同样查看ORADIM.LOG会发现有这个错误
ORA-12640: 验证适配器初始化失败
那么问题就是他了.
ORA-12640: 验证适配器初始化失败
那么问题就是他了.
解决方法:到ORACLE_BASE/ORACLE_HOME/NETWORK/ADMIN下面找sqlnet.ora文件
把sqlnet.authentication_services=(NTS) 改成
sqlnet.authentication_services=(NONE)
然后手动重起
把sqlnet.authentication_services=(NTS) 改成
sqlnet.authentication_services=(NONE)
然后手动重起
看了这个方法,出错的原因大概有两种情况,修改了帐户,实例有些变动等。