The script will enable DBAs to backup the database controlfile in binary and ASCII format. When a DBA issues the command "alter database backup controlfile to trace;", the result is a trace file written to the location defined by USER_DUMP_DEST, similar to mdl1_ora_25524.trc (which is in the format ORACLE_SID_ora_SPID.trc). This script will find the trace file just written and rename it to controlfile.backup. Therefore, if you backup the controlfile to trace a million times, you will still only have one controlfile.backup versus a million trace files. Since it is a shell script, it should work on all versions of Oracle running Unix (and probably Linux) but it has only been tested on Oracle 8i running Solaris.
#!/bin/sh
# Michael Dinh - August 2002
# Backup controlfile - binary
# Backup controlfile to trace - ascii
# Rename trace file to controlfile.backup
umask 077
ORACLE_SID= ; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle ; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/8.1.7 ; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib ; export LD_LIBRARY_PATH
USER_DUMP_DEST=`$ORACLE_HOME/bin/sqlplus -s "/ as sysdba" << END1
SET PAUSE OFF
SET PAGES 0
SET ECHO OFF
SET VERIFY OFF
SET FEED OFF
SELECT value
FROM v\$parameter
WHERE name = 'user_dump_dest';
EXIT
END1`
export USER_DUMP_DEST
TRACEID=`$ORACLE_HOME/bin/sqlplus -s "/ as sysdba" << END1
set pause off
set pages 0
set echo off
set verify off
set feed off
alter database backup controlfile to 'controlfile.backup' REUSE;
alter database backup controlfile to trace;
select p.spid
from v\$session s, v\$process p
where s.paddr = p.addr
and s.machine = name of the server
and s.username = 'SYS';
exit
END1`
export TRACEID
mv $USER_DUMP_DEST/${ORACLE_SID}_ora_${TRACEID}.trc $USER_DUMP_DEST/controlfile.backup
exit
For More Information
- Feedback: E-mail the editor with your thoughts about this tip.
- More tips: Hundreds of free Oracle tips and scripts.
- Tip contest: Have an Oracle tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize -- submit your tip today!
- Ask the Experts: Our SQL, database design, Oracle, SQL Server, DB2, metadata, and data warehousing gurus are waiting to answer your toughest questions.
- Forums: Ask your technical Oracle questions--or help out your peers by answering them--in our active forums.
- Best Web Links: Oracle tips, tutorials, and scripts from around the Web.
Requires Free Membership to View
This was first published in November 2002

Join the conversationComment
Share
Comments
Results
Contribute to the conversation