ORA-48108 & ORA-01034 I'm trying to set up a database on a Solaris 10 platform that had its database corrupted before. Due to the lack of backups, I was forced to reinstall Oracle server. Currently I'm facing an issue where answers I have found keep sending me in loops.

I opened sqlplus, and saw that it was connected to an idle instance, so I performed the STARTUP command. This led me to the following errors:

ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist 
           [/export/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1/dbs/&lt;ORACLE_BASE&gt;]


So after some googling, I was told to try changing the diagnostic_dest via the following: ALTER SYSTEM SET diagnostic_dest='u01/app/oracle';, which was equivalent to setting the diagnostic_dest to my ORACLE_BASE.

However, the error below occurred:

ORA-01034: ORACLE not available


After some googling again, I found that the solution was to start the database (which I can't)! I have no idea how I should proceed from here. Any help will be much appreciated. If any other information is required, I will gladly update it in the OP.

I have tried restarting lsnrctl, but it doesn't seem to help.

I would change all the default parameters within the file locations, but from what I found, the init.ora file which was supposed to be used already has diagnostic_dest='&lt;ORACLE_BASE&gt;', the spfile.ora file also has diagnostic_dest='/u01/app/oracle'. I'm really lost as to how I should carry on.
You can not use ALTER SYSTEM when the instance is not started, but you can not start the instance because of an incorrect parameter value. Create a PFILE (if you do not already have one), edit that, then start the instance.

$ sqlplus / as sysdba
SQL&gt; create pfile from spfile;
SQL&gt; exit
$ vi $ORACLE_HOME/dbs/init${ORACLE_SID}.ora


Set the value of diagnostic_dest as required, then save the file.

$ sqlplus / as sysdba
SQL&gt; create spfile from pfile;
SQL&gt; startup


Note: the directory must exist.

Answer to comment:


  For UNIX or Linux, the platform-specific default location (directory)
  for the SPFILE and text initialization parameter file is:
  
  $ORACLE_HOME/dbs
  
  Oracle Database locates your initialization parameter file by
  examining filenames in the following order:
  
  
  spfile$ORACLE_SID.ora 
  spfile.ora 
  init$ORACLE_SID.ora
  


Or, for a test, you can startup the instance by manually specifying the pfile, for example:

SQL&gt; startup pfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initORCL.ora