[oracle@toughhou database]$ sqlplus /nolog

SQL> conn / as sysdba

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/10.1.0/db_1/dbs/initORCL.ora'

错误原因:oracle 9i和10i中,数据库默认使用pfile启动数据库,如果pfile不存在则会出现上述错误。

解决方法:将$ORACLE_BASE/admin/orcl/pfile/init.ora.8212013184057形式的文件copy到$ORACLE_HOME/dbs目录下initoracle.ora即可。

[oracle@toughhou pfile]$ cp /opt/oracle/admin/orcl/pfile/init.ora.8212013184057 /opt/oracle/product/10.1.0/db_1/dbs/initORCL.ora

此时再试启动数据库,发现另外的问题。

SQL> startup
ORACLE instance started.

Total System Global Area  536870912 bytes
Fixed Size            1220408 bytes
Variable Size          150995144 bytes
Database Buffers      377487360 bytes
Redo Buffers            7168000 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

这个错误主要是lk<SID>文件造成的,该文件位于ORALCE_HOME下的dbs目录下,
这个lk<SID>的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT上,只有手工删除,所以一定要小心.

解决ORA-01102问题的具体步骤:
[root@toughhou dbs]# /sbin/fuser -k lkORCL
/opt/oracle/product/10.1.0/db_1/dbs/lkORCL: 10636 10638 10640 10642 10644 10646 10648 10650 10652 10654 10656 10670 10738 11164 12895

该文件没释放,用fuser命令kill掉:
[root@toughhou dbs]# /sbin/fuser -u lkORCL

SQL> startup
ORACLE instance started.

Total System Global Area  536870912 bytes
Fixed Size            1220408 bytes
Variable Size          150995144 bytes
Database Buffers      377487360 bytes
Redo Buffers            7168000 bytes
Database mounted.

Database opened.

此时再试已经可以正常启动了。

05-11 18:10