使用环境
操作系统:OEL 5.6
数据库:Oracle 10.2.0.1.0
数据库主目录: /u01/app/oracle/product/10.2.0
问题描述
用sys用户登录sqlplus后,用startup命令启动Oracle时提示:
ORA-01078:failure in processing system parameters
LRM-00109: could not open parameter file ‘/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora’
[oracle@oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Feb 4 15:05:02 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initORCL.ora'
错误原因
在oracle9i、10g、11g最近几个版本中,数据库默认使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决办法:
1.用命令“find /u01 -name pfile”查询pfile文件位置
[[root@oracle ~]# find /u01 -name pfile
/u01/app/oracle/admin/ljl/pfile
[root@oracle ~]# cd /u01/app/oracle/admin/ljl/pfile
[root@oracle pfile]# ls
init.ora.026201514119
2.将$ORACLE_BASE/admin/ljl/pfile(/u01/app/oracle/admin/ljl/pfile)目录下的init.ora.026201514119形式的文件copy到$ORACLE_HOME/dbs目录下命名为initorcl.ora即可。
(注:initorcl.ora中的orcl为你的实例名 ORACLE_SID,这里我的SID为:ORCL)
[oracle@oracle ~]$ cd /u01/app/oracle/admin/ljl/pfile
[oracle@oracle pfile]$ ls
init.ora.026201514119
[oracle@oracle ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle dbs]$ ls
hc_ljl.dat hc_ORCL.dat initdw.ora init.ora lkLJL orapwljl spfileljl.ora
[oracle@oracle dbs]$cp /u01/app/oracle/admin/ljl/pfile/init.ora.026201514119 $ORACLE_HOME/dbs/initORCL.ora
[oracle@oracle dbs]$ ls
hc_ljl.dat hc_ORCL.dat initdw.ora init.ora ininORCL.ora lkLJL orapwljl spfileljl.ora
3.startup启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220844 bytes
Variable Size 167776020 bytes
Database Buffers 436207616 bytes
Redo Buffers 2969600 bytes
Database mounted.
Database opened.