I used Shutdown normal, instead of Shutdown immediate.

Now I want to stop the process, because its taking too long.

How can I do it?

  • Searching for stop oracle shutdown gives me a number of results, some of which look like solutions to me. I'm not an Oracle person, but if I was, and if I was facing this problem, that's what I would start with: looking for available information. Have you done your homework? – Andriy M May 25 '16 at 9:43
  • 1
    Most likely it is taking long because you have active transactions, in case of shutdown normal, it will wait for them to complete or rollback. You can tail the alert.log file to see this. Also there is a build-in timer (beginning from 9ir2 it was 60s, it may have changed now) after which shutdown process would error out. Tail the alert.log, it is very useful. You can't stop the process, but you could open another sysdba session and try issuing shutdown abort if you must stop immediately. – Raj May 25 '16 at 11:32

It seems like the obvious answer is that you can't stop a shutdown that is happening, but you can do either a shutdown immediate or shutdown abort from a different session if you did a shutdown normal. As long as you have enough online redo log groups and each group has a log that is large enough, then you can recover from either a shutdown immediate or shutdown abort. If you ask someone what is the exact risk that someone faces for doing a shutdown abort, they may struggle to answer you. On shutdown immediate transactions are rolled back as sessions are killed. On shutdown abort, all transactions are rolled back when the database is started up. Hence the same thing should be happening in both cases, just in a different order. Once you start a shutdown normal, either ask everyone to log out, or just do shutdown immediate in a different session. Either way, Oracle won't allow a database to open, if it isn't in a consistent state.

| improve this answer | |

You can use:

shutdown abort;

But it is not recommended on production database.

| improve this answer | |
  • 2
    Why is it not recommended on production? Could you elaborate? While unusual, some times it is perfectly OK to execute this command, followed by startup and shutdown afaik. – Raj May 25 '16 at 11:28
  • I think it is not recommended because it has some risks. You have to keep in mind that the database is not in a consistent condition when it was shut down with abort. If you use shutdown abort and want to do maintenance work, I would recommend to start the database once more and immediately shut it down with immediate option. This saves you time and guarantees that the database is in a consistent status. Even immediate can sometimes take up to 10 or 15 minutes. So I use abort quite regular if immediate does not finish within a few minutes. – o0x258 May 25 '16 at 14:00
  • Thanks, i am aware of this, I was curious about a blanket statement provided above as the answer – Raj May 25 '16 at 15:38
ps -ef|grep oracle

if you see any process with the oracle <defunct> kill that process with kill -9 PID

for eg:

oracle    7427  7426  0 09:34 ?00:00:00 [oracle] <defunct>

kill the above process.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.