ORA-01034



Applies to:

Enterprise Manager for Oracle Database - Version 10.2.0.2 to 11.2.0.3 [Release 10.2 to 11.2]
Information in this document applies to any platform.

Purpose

How to troubleshoot the causes for the  "ORA-01034: ORACLE not available" and "Invalid username/password which can sometimes be received when creating DBconsole.  For example:-

$ ./emca -config dbcontrol db -repos create



STARTED EMCA at Oct 31, 2006 10:36:21 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.

Enter the following information:
Database SID: test
Listener port number: 1550
Password for SYS user:
Password for DBSNMP user: Invalid username/password.
Password for DBSNMP user: Invalid username/password.
Password for DBSNMP user: Invalid username/password.
[ORA-01034: ORACLE not available]

Errors from the emca_.log



Oct 31, 2006 10:36:21 AM oracle.sysman.emcp.DatabaseChecks checkDbAvailabilityImpl
CONFIG: ORA-01034: ORACLE not available

oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01034: ORACLE not available

at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeQuery(SQLEngine.java:694)
at oracle.sysman.emcp.DatabaseChecks.checkDbAvailabilityImpl(DatabaseChecks.java:107)
at oracle.sysman.emcp.DatabaseChecks.checkDbAvailability(DatabaseChecks.java:143)
at oracle.sysman.emcp.DatabaseChecks.getDbServiceName(DatabaseChecks.java:558)
at oracle.sysman.emcp.EMDBPreConfig.checkServiceName(EMDBPreConfig.java:1214)
at oracle.sysman.emcp.EMDBPreConfig.checkReposParams(EMDBPreConfig.java:2183)
at oracle.sysman.emcp.EMDBPreConfig.checkDeconfigurationParams(EMDBPreConfig.java:1829)
at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:993)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:175)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:161)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)
Oct 31, 2006 10:36:21 AM oracle.sysman.emcp.EMConfig perform
SEVERE: Database instance unavailable.


Troubleshooting Steps

The typical causes of this are as follows:-
1. Incorrect settings of environment variables like ORACLE_HOME, PATH
2. Incorrect value of ORACLE_HOME in $ORACLE_HOME/bin/emca script
3. listener.ora contains SID in Upper Case (TEST) and SID while running emca is provided as Lower Case (test)
4. Owner of the database ORACLE_HOME is not a member of DBA Group
5. $ORACLE_HOME environment variable is a symbolic link

* Note that the dbsnmp user can login successfully to the database and has no special characters.
To check:-
1. Verify ORACLE_HOME and PATH environment variables do not have a trailing "/"
for example :
ORACLE_HOME=/u00/oracle/product/10.2.0/db_1/
Remove appended "/" if any
ORACLE_HOME=/u00/oracle/product/10.2.0/db_1

2. Verify ORACLE_HOME is set correctly in $ORACLE_HOME/bin/emca script
Make sure the ORACLE_HOME path is correct (could be incorrect for a cloned DB
and there is no trailing "/")
for example :
ORACLE_HOME=/u00/oracle/product/10.2.0/db_1/
Remove appended "/" if any
ORACLE_HOME=/u00/oracle/product/10.2.0/db_1

3. Verify the value of SID_NAME in listener.ora file.  If it is in Upper Case (TEST).
When executing the EMCA command, provide the SID in same case (TEST and not test).
for example :
$ ./emca -config dbcontrol db -repos create

STARTED EMCA at Oct 31, 2006 10:36:21 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.

Enter the following information:
Database SID: TEST

4. This problem can occur when the owner of the Database $ORACLE_HOME is no longer a member of the DBA Group. This lack of permissions prevents connections to the database via the bequeath adapter.
- Assign the DBA Group back to the OS user that owns the database $ORACLE_HOME
- Re-run the EMCA commands
5. If ORACLE_HOME is a symbolic link then remove the symbolic link and follow below steps
 - Define the ORACLE_HOME to the physical location
 - Shutdown and re-start the database.
 - Change the listener.ora to reference the physical ORACLE_HOME
   or
 - Reinstall Database without symbolic link

No comments:

ORA-01552: cannot use system rollback segment for non-system tablespace 'TEMP'

 ORA-01552: cannot use system rollback segment for non-system tablespace "string" Cause: Used the system rollback segment for non...