As mentioned in the previous ORA-03113: End of File on Communication Channel article, a vast majority of errors in Oracle can be divided into two categories. The first of which are errors caused by syntax issues, often small user-generated mistakes in typing or issuing commands. The second types are errors in the network, typically revolving around connectivity issues or memory space management. The ORA-01034 falls into this latter category as a primarily storage-based error.
An ORA-01034 error is triggered due to the Oracle system not being available or started up. This could derive from the System Global Area (SGA) necessitating more storage space than what is currently being allocated for your Oracle database. It could also be that operating system variable pointing to the instance was not properly defined. The error could also result during an upgrade of your Oracle systems.
The ORA-01034 is almost always accompanied with additional error messages, often times ORA-27101: shared memory realm. You can utilize these additional errors to pinpoint the source of the ORA-01034. For example, the aforementioned ORA-27101 would indicate that the ORA-01034 error could derive from the database parameters of your SGA being modified and no longer holding a proper amount of storage. You can go back and reissue the original parameters to potentially resolve this issue.
You should also check to make sure ORACLE_HOME and ORACLE_SID properly match. ORACLE_SID is the instance pointer mentioned before. Be sure that ORACLE_HOME is not followed by a trailing slash at the end. Search for ORACLE_SID using ‘echo $ORACLE_SID’ for Unix and by right-clicking the My Computer tab in Windows, clicking on Properties, then the Advance tab, and finally the Environment variable. You may find that ORACLE_SID is undefined or left blank, which is causing your ORA-01034 error.
If you believe the problem is the result of upgrading Oracle, you can check two files (/etc/oratab and /var/opt/oracle/oratab) for an invalid entry. Match the ORACLE_HOME and ORACLE_SID in these files. If they do not match, this needs to be resolved in order to resolve the error.
This type of error is fairly easy to pinpoint due to the accompanying errors matter, but even still it can be a good idea to prevent the error from happening in the first place. Remaining aware of all modifications made to the SGA parameters and keeping a steady eye on the storage space in your Oracle systems can mitigate the insufficient memory aspect of the ORA-01034. If you are using Windows, taking steps like cleaning out your Windows Event Log from time to time can go a long way in saving you time and headaches. If you find that you are continuing to have difficulties with properly partitioning your storage, a licensed Oracle consulting firm can aid in training your team on the finer points of Oracle database management.