ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file

Applies to:

Database Management Software Oracle 10g and later.
All platforms.


When starting up database following occurs:
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/11.2.0/dbhome_1/dbs/inittest01.ora'


Database start using spfile (Default). In Unix default path is $ORACLE_HOME/dbs. If spfile is not present it looks for pfile at same path. If pfile is also not present it will give above message.


Here I am considering you don’t have any backup of your spfile and pfile. If you have restore it and skip next steps.

We can start the database using pfile but How to create pfile ? 
When database starts it writes list of non default parameters in alert log files. We can use these values to create a pfile and start the database. 

Find you alert log file and open it. This is Database Management Software Oracle 11g,  Here you will see entry like this:

System parameters with non-default values:
  processes                = 150
  sga_target               = 512M
  control_files            = "/opt/oracle/test01/dbs/control01.ctl"
  control_files            = "/opt/oracle/test01/dbs/control02.ctl"
  control_files            = "/opt/oracle/test01/dbs/control03.ctl"
  db_block_size            = 8192
  compatible               = ""
  log_archive_dest_1       = "LOCATION=/opt/oracle/test01/archive"
  log_archive_dest_state_1 = "ENABLE"
  log_archive_format       = "%t_%s_%r.dbf"
  log_archive_max_processes= 10
  log_checkpoint_interval  = 9999
  log_checkpoint_timeout   = 0
  db_file_multiblock_read_count= 16
  db_recovery_file_dest    = "/opt/oracle/test01/flash_recovery_area"
  db_recovery_file_dest_size= 2G
  undo_management          = "AUTO"
  undo_tablespace          = "UNDOTBS1"
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = "agilis.com"
  job_queue_processes      = 32
  core_dump_dest           = "/opt/oracle/test01/diag/cdump"
  audit_file_dest          = "/opt/oracle/test01/adump"
  open_links               = 10
  db_name                  = "test01"
  open_cursors             = 500
  optimizer_index_cost_adj = 20
  optimizer_index_caching  = 90
  pga_aggregate_target     = 128M
  diagnostic_dest          = "/opt/oracle/test01/diag"
Tue May 31 10:55:29 2011
PMON started with pid=2, OS id=4675

Create pfile using these values: 

[oracle@trace]$ cd /opt/oracle/product/11.2.0/dbhome_1/dbs/
[oracle@dbs]$ vi inittest01.ora
Copy non default parameter values from alert log in this file and save it. This is your pfile, Start the database using this pfile.

Start the Database using Pfile:

[oracle@ dbs]$ export ORACLE_SID=test01
[oracle@ dbs]$ sqlplus sys as sysdba
SQL*Plus: Release Production on Fri Jun 24 15:53:16 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup pfile='$ORACLE_HOME/dbs/inittest01.ora'
ORACLE instance started.
Total System Global Area  534462464 bytes
Fixed Size                  2228200 bytes
Variable Size             163577880 bytes
Database Buffers          360710144 bytes
Redo Buffers                7946240 bytes
Database mounted.
Database opened.

Create spfile from pfile:

SQL> create spfile from pfile='$ORACLE_HOME/dbs/inittest01.ora';
File created.

Shutdown the database and restart it will use spfile (Default) and problem is solved. I have also published a list of SPFILE Commands.


  1. Thank you very much it works fine ........ but i am getting this error now
    SQL> startup
    ORACLE instance started.

    Total System Global Area 100663296 bytes
    Fixed Size 1257356 bytes
    Variable Size 88080500 bytes
    Database Buffers 8388608 bytes
    Redo Buffers 2936832 bytes
    ORA-00205: error in identifying control file, check alert log for more info

    when i check the log file
    i found this things
    ORA-00202: control file: '/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs/ora_control1'
    ORA-27037: unable to obtain file status

    i hav seen in the directory there is not control files in that directory

    what this control files
    plz reply how to solve this one??

    Thanks in advance

  2. krishna,

    it means you did not give correct path of your control files. check your alert log file there you find tag like "control_files", copy there files path name into your init file and start database using pfile again. Hope this will solve your issue.


  3. Fantastic solution. Very easy to follow. Thank you very much.

  4. Thank you very much to prepare this document. Its worth

  5. hello umesh i got this error after i copied non defaults parameter,then run startup pfile='$ORACLE_HOME/dbs/init.ora'

    LRM-00101: unknown parameter name 'pid'
    LRM-00101: unknown parameter name 'pid'
    LRM-00101: unknown parameter name 'id'
    ORA-01078: failure in processing system parameters

    could you please help me what should i do next ?

  6. after i follow your steps i got this error after i restart,
    ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
    ORA-48140: the specified ADR Base directory does not exist [/u01/app/oracle/product/11.2.0/db_1/dbs/]
    ORA-48187: specified directory does not exist
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 1

    please how to solve this one ?

    1. The path /u01/app/oracle/product/11.2.0/db_1/dbs/ does not exists at OS level, either create this or provide an existing path for diagnostic_dest variable.

  7. This message clearly shows that, you have give wrong parameter name as 'pid', 'id' etc. There are no parameters with this name. Please cross check your pfile which you are creating.


  8. Great man, Great, U helped me A LOT