Oracle11g数据库无法启动实例的问题

tech2025-08-10  14

**

Oracle11g数据库无法启动实例的问题。

**

Oracle用户登录数据库所在的主机分别查看监听和实例是否启动。 查看监听状态 lsnrctl status 启动监听 lsnrctl start 关闭监听 lsnrctl stop

启动实例: [oracle@bogon ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Sep 4 09:38:20 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup

启动实例时Oracle报错:

ORA-00439: feature not enabled: Real Application Clusters 上网查了下 ORA-00439这个错误和Oracle RAC多节点实例启动归档时需要设置CLUSTER_DATABASE参数有关系。

但是这个Oracle是单实例部署,有疑惑但是仍然去找可以查看或修改CLUSTER_DATABASE参数的办法 继续百度,可以使用alter system set cluster_database=false scope=spfile;来修改此参数,但由于数据 库实例并没有启动所以这个办法行不通。

尝试执行了下关闭数据库实例的命令 shutdown immediate 报错:ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory ORA-01034 意思是Oracle不可用 ORA-27101 是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例。

此前思路一直被困在解决cluster_database这个参数上所以一直没想到有可能是因为启动时pfile和spfile的问题。 (pfile和spfile是Oracle启动时要加载的文件,决定了数据库的物理 结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。更多关于pfile和spfile的问题请自行百度吧)在oracle9i、10g、11g最近几个版本中,数据库默认使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。 百度查找解决办法是重建spfile参数文件,那我们来尝试一下。 根据百度: 先找到pfile的文件所在目录,一般是在u01/app/oracle/admin/ljl/pfile下(lji是你Oracle的服务名) 将 O R A C L E B A S E / a d m i n / l j l / p f i l e ( / u 01 / a p p / o r a c l e / a d m i n / l j l / p f i l e ) 目 录 下 的 i n i t . o r a . 026201514119 形 式 的 文 件 c o p y 到 ORACLE_BASE/admin/ljl/pfile(/u01/app/oracle/admin/ljl/pfile)目录下的init.ora.026201514119形式的文件copy到 ORACLEBASE/admin/ljl/pfile(/u01/app/oracle/admin/ljl/pfile)init.ora.026201514119copyORACLE_HOME/dbs目录下命名为initorcl.ora即可 (注:initorcl.ora中的orcl为你的实例名 ORACLE_SID,这里我的SID为:ORCL)

再次尝试启动数据库,成功。

最新回复(0)