出了ORA-27101,ORA-01034,ORA-01078,LRM-00109和ORA-12640错误解决方法

本文参考:两篇文章
http://www.blogjava.net/imcb/archive/2007/04/02/108080.html
http://karyson.blog.bokee.net/bloggermodule/blog_viewblog.do?id=2460646
问题描述:
我试图连接数据库时的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-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’
解决方法:
这是因为在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
=========华丽的分割线========(以下转自 http://www.blogjava.net/imcb/archive/2007/04/02/108080.html)====
以上是我遇到的问题,下面我再讲一种。同样的
错误信息:连接数据库时的ORA-01034 和 ORA-27101错误信息
发现问题:同样查看ORADIM.LOG会发现有这个错误
  ORA-12640: 验证适配器初始化失败
  那么问题就是他了.
解决方法:到ORACLE_BASE/ORACLE_HOME/NETWORK/ADMIN下面找sqlnet.ora文件
  把sqlnet.authentication_services=(NTS) 改成
  sqlnet.authentication_services=(NONE)
  然后手动重起

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

你可能感兴趣的:(oracle,数据库,防火墙,System,processing,oracle10g)