I guess all of you as DBA have used the dbshut and dbstart command. I am in Oracle 8.1.6 (with the fix on the dbstart script).
As part of the system backup script, dbstart is called after a cold backup. The incident was, when the cold backup script called 'dbstart', for some reason the database was already up.
I went thro the dbstart script and if the db is already up, it does a shutdown abort and bring the db up again. The script thinks 'Database X possibly left running when system went down (system crash?)".
Has anyone made changes to not to 'abort and start' if the db is already up ?
I am seriously thinking of doing this in a different manner. Instead of changing dbstart itself, in this master script (which at one point calls dbstart), make a check to see if the db is already up or not ? If up, do not proceed with the dbstart ? I know the db is not supposed to be up for a cold backup, hence making the cold backup useless.
The way I've approached this is to ensure all of the databases are down before the nightly cold backups start. The way I do it is with a modified dbstart script that:
1) shuts down the Oracle data gatherer and related process (this requires a script in itself since there are 5 processes that must start/stop in a specific sequence).
2) shuts down 3rd party applications that attach to the databases.
3) kills any user processes that may still be attached to the databases (feasible in my circumstances, maybe not in yours).
4) does a "shutdown normal" each database that is up.
5) shuts down the TNS listener
This has worked without fail every since we implemented it (about 1 year).