Why won't Oracle start?

We use Oracle intermittently on a development platform, and today when I went to connect, I saw it wasn't running. I'm far from a expert in managing Oracle, I know just barely enough to get it going, and today the commands I usually use don't work. My notes say to log in as user oracle, then:

lsnrctl start
dbstart

The listener seems to start, but the dbstart command fails with a useless error message. Here's what happens:

$ lsnrctl start

LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production on 28-MAY-
2009 10:22:15

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /oracle/app/oracle/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait.
..

TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production
System parameter file is /oracle/app/oracle/oracle/product/10.2.0/db_1/network/a
dmin/listener.ora
Log messages written to /oracle/app/oracle/oracle/product/10.2.0/db_1/network/lo
g/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=biggerblue.cansys.mb.ca)
(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.1
.0 - Production
Start Date                28-MAY-2009 10:22:15
Uptime                    0 days 0 hr. 0 min. 50 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      ON
Listener Parameter File   /oracle/app/oracle/oracle/product/10.2.0/db_1/network/
admin/listener.ora
Listener Log File         /oracle/app/oracle/oracle/product/10.2.0/db_1/network/
log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=biggerblue.cansys.mb.ca)(PORT=1521))
)
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

$ dbstart
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

The path name in this error message does not exist on our server, and has never existed on our server.

Help!

Jean
JPNeronAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mrjoltcolaCommented:
Old, known issue, I have no idea why Oracle hasn't patched this by now.

You must change the hardcoded path in your $ORACLE_HOME/bin/dbstart


ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
 
to
 
ORACLE_HOME_LISTNER=$ORACLE_HOME

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Mark GeerlingsDatabase AdministratorCommented:
I have occasionally seen directory paths in Oracle that are (or were) apparently valid paths on a development machine somewhere in Oracle's organization, but occasionally Oracle software gets released to production with some of these paths still included.  They obviously cause problems in a customer site.  Coincidentally (or maybe not) Oracle10.2 was the version where I also observed this.

I recognize "lsnrctl start" as a standard Oracle command to start Oracle's TNS listener.  The other command: "dbstart" does not look like a standard Oracle command to me.  This may be a shell script that someone at your organization wrote.  (Or, maybe it is standard for Oracle on AIX, since I have no experience with that O/S.)

What is "dbstart"?  Is that a shell script file?  If yes, try running the individual commands in the file one at a time to find the line with the actual error.  Can you post the contents of the dbstart file here?
0
mrjoltcolaCommented:
Hi mark, dbstart is provided by Oracle to auto-start instances using the UNIX init script and /etc/oratab
It is included in the bin directory, and is the standard way to start Oracle automatically on UNIX systems.
I have been changing that path above for it seems like years, and you are correct, it is one of those internal leaks.

It is called by /etc/init.d/dbora

You can then use it and the whole sysv run levels to stop/start Oracle instances in /etc/oratab.

/etc/init.d/dbora stop
/etc/init.d/dbora start

At bootup, it will usually start at run-level 5, but again, you have to install dbora in /etc/init.d and make a link to the appropriate /etc/rc.d/* directory for runlevel.
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

mrjoltcolaCommented:
Its one of those things us UNIX guys have to do manually that Windows Oracle DBCA does out of the box by installing the service or using oradim.exe
0
JPNeronAuthor Commented:
mrjoltcola,

Sure enough, that path was in the dbstart script. What I don't understand is that Oracle used to run on this machine, and I never changed that path before. Why does it suddenly matter now?

I changed the path and reran dbstart. No error messges but I still can't connect to Oracle. I'm rebooting the machine just to make sure I'm at a clean start.

Jean
0
mrjoltcolaCommented:
Likely Oracle has been started manually until now?

If you cannot connect to Oracle it does not mean Oracle is not up.

Once you restart, verify that the processes are running.

# Check for instances
ps -ef | grep smon

# Check the listener
lsnrctl status

The listener should start on its own with dbstart, however, it may be that you have don't have a static listener config, so if the listener was started _after_ the database, the instance will not be registered. This is why I almost always manually configure listener.ora so the order of startup does not matter.

Please verify the above, then show us how you are connecting before restarting again. No need to reboot the kernel.



0
JPNeronAuthor Commented:
The ps -ef|grep smon shows nothing is running. lsnrctl status shows:

LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production on 28-MAY-2009 11:28:00

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production
Start Date                28-MAY-2009 11:26:27
Uptime                    0 days 0 hr. 1 min. 33 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      ON
Listener Parameter File   /oracle/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /oracle/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=biggerblue.cansys.mb.ca)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

To check Oracle, I've been using the web interface, either the isqlplus interface or the Oracle Enterprise Manager. I usually start the OEM via:

emctl start dbconsole

This shows:
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0  
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://thsnmb01dc1-192-150.dynamic.mts.net:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ....................

And it's been sitting there like that for 10+ minutes. Trying to connect to OEM via Firefox just hangs. Trying to connect via http://biggerblue:5560/isqlplus/ just gives a "Firefox can't establish a connection to the server at biggerblue:5560"

Jean

0
mrjoltcolaCommented:
Check /etc/oratab
Make sure you see Y in the last field below. N means it does not auto-start and dbstart will ignore it.
Your Oracle home path may vary from mine below

# /etc/oratab
orcl:/oracle/10.2.0:Y

Open in new window

0
mrjoltcolaCommented:
You can manually start Oracle as well:

Login as oracle user
make sure ORACLE_HOME and ORACLE_SID are set in environment (echo $ORACLE_SID)
sqlplus / as sysdba
startup open
0
Mark GeerlingsDatabase AdministratorCommented:
I often start Oracle manually (on Windows or Linux, the two O/Ses I am most familiar with for running Oracle databases).  Please try to start your Oracle database manually as mrjoltcole suggested.  Make sure that those two environment variables are set.  To check, do: "set | grep ORACLE".  That should show you the two he mentioned plus possibly some others.  Pay attention to the responses to the "startup open" command.  If all goes well you will see at least these three (or similar) lines:
instance started
database mounted
database open

After that, type "exit" and press [Enter] to close the SQL*Plus session and return to an O/S prompt.

If you didn't get that third line (database open) what other or error messeges did you get?
0
JPNeronAuthor Commented:
The auto start setting in oratab was "N", so I changed it to "Y". I connected via isqlplus and started the database manually. That all seemed to go well. Tried to start OEM via 'emctl start dbconsole', but that hung. Not sure if previous attempt at starting buggered something up. Now trying a 'emctl stop dbconsole' to shut it down & then will try restarting it.
0
mrjoltcolaCommented:
>>The auto start setting in oratab was "N", so I changed it to "Y"

So that will take affect next time you use the auto-start/stop (/etc/init.d/dbora and dbstart), but to be clear for beginners, it has no effect on manual start/stop via sqlplus. Please see mark's post above. I am not too familiar with EM troubleshooting, I am a command line DBA, sorry. Maybe mark can help you with EM.

You should at least take this opportunity to confirm and test the auto-start script again while the works are all fuzzed up.
0
Mark GeerlingsDatabase AdministratorCommented:
I'm not an expert on OEM either.  Even though much of my Oracle experience has been with Oracle on Windows, I'm mainly a command-line DBA as well.  I like the visiblity and the control that the command-line interface offers.
0
mrjoltcolaCommented:
Good, then I'm in good company. :)

@JPNeron: I have a startup script for emctl start dbconsole _after_ both my database and TNS listener are started. That is how it is on all my boxes.  You might want to open up a new question specifically related to OEM, schwertner is pretty good with it if I recall, better than us apparently :)
0
JPNeronAuthor Commented:
Thanks for all the help!. I'll open a new question on the EM, if/when I have the time to follow up on it. Oracle is running now, and that's what I need today.

Jean
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.