RE: Anyone want a good hot backup script

From: Lowell R. Snyder Jr. <lsnyder_at_mail.dex.com>
Date: 1996/01/31
Message-ID: <4enr0t$17g_001_at_sysadmpc.dex.com>#1/1


In article <310A7F85.79C3_at_hooked.net>, Craig <caharper_at_hooked.net> wrote:
>I would like to see your script. Our system is not in production yet
>and I would be happy to test it for you.
>
>We have 2 HP k400 running UX-10.01,switch over and Oracle 7.1.6.
>
>Let me Know

I had a problem with too many people having dba access and adding datafiles without adding them to the backup routine, so I wrote this utility to do it all automagically. This works well for Oracle 7.1.6, Unix. All rights reserved...

/oracle/local/bin/backuphot:

ORACLE_SID=prod         ; export ORACLE_SID
ORAENV_ASK=NO           ; export ORAENV_ASK
PATH=$PATH:/usr/lbin    ; export PATH

 /usr/lbin/oraenv

echo "Starting hot backup at \c" ; date

echo "Generating backup script at \c" ; date sqlplus -s system/manager _at_/oracle/local/sql/backup1.sql

echo "Running hot backup at \c" ; date
/oracle/local/bin/backup2
echo "Finishing hot backup at \c" ; date exit

/oracle/local/sql/backup1.sql:
set heading off
set echo off
set feedback off
set flush off
set linesize 512
set serveroutput on size 100000

declare

        cursor get_tablespaces is
                select tablespace_name
                from dba_tablespaces;
        cursor get_files(tbs in get_tablespaces%rowtype) is
                select file_name
                from dba_data_files
                where tablespace_name=tbs.tablespace_name;
        tbs get_tablespaces%rowtype;
        file get_files%rowtype;
        cmd varchar2(32767);
begin
        for tbs in get_tablespaces loop
                dbms_output.put_line('sqlplus -s system/manager << '
                                        ||'begin'||tbs.tablespace_name);
                dbms_output.put_line('alter tablespace '
                                        || tbs.tablespace_name
                                        || ' begin backup;');
                dbms_output.put_line('exit;');
                dbms_output.put_line('begin'||tbs.tablespace_name);
                dbms_output.put_line('tar -cvf /dev/rmt/2n \');
                for file in get_files(tbs) loop
                        dbms_output.put_line(file.file_name||' \');
                end loop;
                dbms_output.put_line(chr(10));
                dbms_output.put_line('sqlplus -s system/manager << '
                                        ||'end'||tbs.tablespace_name);
                dbms_output.put_line('alter tablespace '
                                        || tbs.tablespace_name
                                        || ' end backup;');
                dbms_output.put_line('exit;');
                dbms_output.put_line('end'||tbs.tablespace_name);
        end loop;
        dbms_output.put_line('sqlplus -s system/manager << bucontrol');
        dbms_output.put_line('alter database backup controlfile to '
                                || chr(39)
                                || '/oracle/data/prod/redo/arch/prod.ctl'
                                || chr(39)
                                || ' reuse;');
        dbms_output.put_line('exit;');
        dbms_output.put_line('bucontrol');
        dbms_output.put_line('tar -cf /dev/rmt/2n 
/oracle/data/prod/redo/arch');
        dbms_output.put_line('mt -f /dev/rmt/2n rewind');
        dbms_output.put_line('exit');

end;
/

exit


Lowell R. Snyder, Jr.             Lord Einar Sclater of Orkney
Network Manager                   Kingdom of Caid
Data Exchange Corp.               Society for Creative Anachronism
lowells_at_dex.com                   einar_at_dex.com
Received on Wed Jan 31 1996 - 00:00:00 CET

Original text of this message