Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Script to force Oracle database shutdown when shutdown immediate does not work Post 302402768 by Scott on Wednesday 10th of March 2010 03:09:09 PM
Old 03-10-2010
I would cite as the main reason for not receiving a response to your question, up to now, the poor subject title you used. It in no way convey's the nature of your question.

Having said that(!) here's my lame attempt at a solution:

Code:
$ cat ShutdownDB
#!/bin/ksh
WAIT_MINS=15

ShutdownDB() {
echo "Shutdown database [$ORACLE_SID]..."
  sqlplus / as sysdba << ! > /dev/null
    shutdown immediate;
!
}

ForceShutdownDB() {
  echo "Forcing DB shutdown, please wait..."
  sqlplus / as sysdba << ! > /dev/null
    shutdown abort;
    startup restrict;
    shutdown immediate;
!
}

ShutdownDB &
sleep 10

X=0
while true; do
  jobs > /dev/null
  if [ $(jobs | wc -l) -eq 0 ]; then
    break
  else
    [ $X -le $WAIT_MINS ] && echo "Waiting $((WAIT_MINS -$X)) minute(s)..." && X=$((X + 1)) && sleep 60 && continue
  fi
  kill %1
  sleep 3
  ForceShutdownDB
  break
done

echo "Database stopped."

$ ./ShutdownDB
Shutdown database [DB1]...
Waiting 15 minute(s)...
Waiting 14 minute(s)...
...
...
Waiting 1 minute(s)...
Waiting 0 minute(s)...
Forcing DB shutdown, please wait...
Database stopped.

HTH
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Shutdown script

Hi Guys, I want to execute few of my bash script, so that whenever someone calls shutdown now -r command, I want my script to execute first before shutting down. Any help please????? I've just started playing with the unix system, so far its been brilliant.... (10 Replies)
Discussion started by: alpha_manic
10 Replies

2. UNIX for Dummies Questions & Answers

A script for shutdown

I want to make a script to shutdown a unixware computer from other user then root. In Sco version i use "as root" but in the unixware i don't know. Please help me. 10x (12 Replies)
Discussion started by: kelu
12 Replies

3. HP-UX

Shutdown script

Hi, I am on Alpha Server with HP Tru64 system. I wish to setup shutdown to automatically and cleanly shutdown informix during the shutting down of the system. Ie. I was trying to use rc0.d to do this but failed. Has anyone tried doing this before? I already have the script and linked it to... (0 Replies)
Discussion started by: kingsto88
0 Replies

4. UNIX for Advanced & Expert Users

Capturing Oracle Shutdown error

Hi, Iam calling 3 sql scripts through one shell script 'rmia.sh'. Till now this was working fine, but last time while calling the SQL scripts, Oracle was down. But amazingly the exit status was '0' (success)!!! Below is the shell code: #!/usr/bin/ksh -x assign_file asql a.sql 1... (15 Replies)
Discussion started by: ganapati
15 Replies

5. BSD

Battery Empty -> force shutdown

hi Howto force shutdown on the notebook with freeBSD before battery is empty? (3 Replies)
Discussion started by: ccc
3 Replies

6. Shell Programming and Scripting

Oracle DB Start shutdown scripts

Hi, We have a requirement wherein we do not want to share the Oracle DB sys and system passwords to be shared with the support desk. But they will be responsible for starting/shuting down the Database. Is it possible to write a shell script which will read the sys and system passwords from a... (0 Replies)
Discussion started by: narayanv
0 Replies

7. Solaris

shutdown -y -i5 -g0 DOESN'T work

hello, The command above seems not working on my solaris 8/9 sparc machines. a. resulted to the ff below when I instead use "shutdown" only. Broadcast Message from root (pts/1) on "hostname" date.. The system "hostname" will be shut down in 30 seconds THE SYSTEM bdosg IS BEING SHUT... (4 Replies)
Discussion started by: lhareigh890
4 Replies

8. Shell Programming and Scripting

db shutdown script

I am going to create shutdown database script. We have dabase shutdown script. But i need take dabase which online and make it down. I got user id which needs to dabase to down ID=`ps -ef | grep -i pmon | grep -v grep | awk '{print $1}'` ( got orace side DB=`ps -ef | grep -i pmon |... (1 Reply)
Discussion started by: allwin
1 Replies

9. Shell Programming and Scripting

Help required for Oracle database shutdown script conversion from shell to perl

Please tell me how to convert below program from shell script to perl. Same commands need to use in shutdown, just need program help for startup. export ORACLE_BASE=/home/oracle1 lsnrctl start lndb1 sqlplus '/ as sysdba' startup; (2 Replies)
Discussion started by: learnbash
2 Replies

10. Solaris

Shutdown Oracle DB on SunOS Cluster

Hi, I've this Oracle database version: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production Oracle is install in a SunOS DBSERVER1 5.11 11.2 sun4v sparc sun4v cluster (Not RAC environment) DBSERVER1 is node active and DBSERVER2 is node inactive ... (4 Replies)
Discussion started by: db_senior
4 Replies
OCF_HEARTBEAT_ORACLE(7) 					OCF resource agents					   OCF_HEARTBEAT_ORACLE(7)

NAME
ocf_heartbeat_oracle - Manages an Oracle Database instance SYNOPSIS
oracle [start | stop | status | monitor | validate-all | methods | meta-data] DESCRIPTION
Resource script for oracle. Manages an Oracle Database instance as an HA resource. SUPPORTED PARAMETERS
sid The Oracle SID (aka ORACLE_SID). (required, string, no default) home The Oracle home directory (aka ORACLE_HOME). If not specified, then the SID along with its home should be listed in /etc/oratab. (optional, string, no default) user The Oracle owner (aka ORACLE_OWNER). If not specified, then it is set to the owner of file $ORACLE_HOME/dbs/*${ORACLE_SID}.ora. If this does not work for you, just set it explicitely. (optional, string, no default) ipcrm Sometimes IPC objects (shared memory segments and semaphores) belonging to an Oracle instance might be left behind which prevents the instance from starting. It is not easy to figure out which shared segments belong to which instance, in particular when more instances are running as same user. What we use here is the "oradebug" feature and its "ipc" trace utility. It is not optimal to parse the debugging information, but I am not aware of any other way to find out about the IPC information. In case the format or wording of the trace report changes, parsing might fail. There are some precautions, however, to prevent stepping on other peoples toes. There is also a dumpinstipc option which will make us print the IPC objects which belong to the instance. Use it to see if we parse the trace file correctly. Three settings are possible: - none: don't mess with IPC and hope for the best (beware: you'll probably be out of luck, sooner or later) - instance: try to figure out the IPC stuff which belongs to the instance and remove only those (default; should be safe) - orauser: remove all IPC belonging to the user which runs the instance (don't use this if you run more than one instance as same user or if other apps running as this user use IPC) The default setting "instance" should be safe to use, but in that case we cannot guarantee that the instance will start. In case IPC objects were already left around, because, for instance, someone mercilessly killing Oracle processes, there is no way any more to find out which IPC objects should be removed. In that case, human intervention is necessary, and probably _all_ instances running as same user will have to be stopped. The third setting, "orauser", guarantees IPC objects removal, but it does that based only on IPC objects ownership, so you should use that only if every instance runs as separate user. Please report any problems. Suggestions/fixes welcome. (optional, string, default instance) clear_backupmode The clear of the backup mode of ORACLE. (optional, boolean, default false) shutdown_method How to stop Oracle is a matter of taste it seems. The default method ("checkpoint/abort") is: alter system checkpoint; shutdown abort; This should be the fastest safe way bring the instance down. If you find "shutdown abort" distasteful, set this attribute to "immediate" in which case we will shutdown immediate; If you still think that there's even better way to shutdown an Oracle instance we are willing to listen. (optional, string, default checkpoint/abort) SUPPORTED ACTIONS
This resource agent supports the following actions (operations): start Starts the resource. Suggested minimum timeout: 120. stop Stops the resource. Suggested minimum timeout: 120. status Performs a status check. Suggested minimum timeout: 5. monitor Performs a detailed status check. Suggested minimum timeout: 30. Suggested interval: 120. validate-all Performs a validation of the resource configuration. Suggested minimum timeout: 5. methods Suggested minimum timeout: 5. meta-data Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5. EXAMPLE
The following is an example configuration for a oracle resource using the crm(8) shell: primitive example_oracle ocf:heartbeat:oracle params sid=string op monitor depth="0" timeout="30" interval="120" SEE ALSO
http://www.linux-ha.org/wiki/oracle_(resource_agent) AUTHOR
Linux-HA contributors (see the resource agent source for information about individual authors) resource-agents 1.0.3 07/05/2010 OCF_HEARTBEAT_ORACLE(7)
All times are GMT -4. The time now is 02:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy