Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Complete backup script for NT

Complete backup script for NT

From: Gilles BRIARD <gbriard_at_club-internet.fr>
Date: Fri, 18 Jun 1999 22:20:46 +0200
Message-ID: <376AAA1D.393DC655@club-internet.fr>


Here is a complete script to backup an NT database.

The first script (LANCE.CMD) launches the second one (SAUVEGARDE.CMD) and collect messages.

These two scripts are in french because I wrote the "Oracle 8 pour Windows NT" in french !
Have a look at : http://perso.club-internet.fr/gbriard

rem
rem Fichier LANCE.CMD : launch the SAUVEGARDE.CMD script and commect messages. rem
rem Il recupere aussi les erreurs rencontrees et vous avertit rem par le moyen que vous aurez choisi.

rem Adaptez cette valeur a votre environnement set L_RAPPORT=c:\orant\backup
set L_SOURCE=c:\gilles\test

rem ***********************************************************
rem Lance le script de sauvegarde et conserve tous les messages
rem ***********************************************************

call %L_SOURCE%\sauvegarde.cmd >> %L_RAPPORT%\messages.log

rem ***********************************************************
rem Recherche d’erreurs, remontees dans l'Observateur d'Evenement
rem ***********************************************************
findstr /in "error" %L_RAPPORT%\messages.log && findstr /in "error" %L_RAPPORT%\messages.log >>%L_RAPPORT%\erreur.log findstr /in "ora-" %L_RAPPORT%\messages.log && findstr /in "ora-" %L_RAPPORT%\messages.log >>%L_RAPPORT%\erreur.log findstr /in "cannot" %L_RAPPORT%\messages.log && findstr /in "cannot"
%L_RAPPORT%\messages.log >>%L_RAPPORT%\erreur.log
findstr /in "not logged" %L_RAPPORT%\messages.log && findstr /in "not logged"
%L_RAPPORT%\messages.log >>%L_RAPPORT%\erreur.log
findstr /in "failure" %L_RAPPORT%\messages.log && findstr /in "failure" %L_RAPPORT%\messages.log >>%L_RAPPORT%\erreur.log if exist %L_RAPPORT%\erreur.log c:\ntreskit\logevent -s E "!!! ERREUR DANS VOTRE SAUVEGARDE ORACLE !!! Consultez les fichiers situes en: %L_RAPPORT%"
rem ************************************************************
rem Nettoyage des fichiers de commande crees dans SAUVEGARDE.CMD
rem ************************************************************

if exist %L_SOURCE%\db_start.sql del %L_SOURCE%\db_start.sql
if exist %L_SOURCE%\db_stop.sql del %L_SOURCE%\db_stop.sql if exist %L_SOURCE%\db_resteint.sql del %L_SOURCE%\del db_resteint.sql
rem ************************************************************
rem Fin du fichier de lancement
rem ************************************************************

Sauvegarde à froid (base arrêtée)

@echo off
rem Fichier SAUVEGARDE.CMD

ECHO ***********************************************************
ECHO Script de création d’une sauvegarde d’une base Oracle8 ECHO sur Windows NT.
ECHO ***********************************************************
ECHO
setlocal
rem ************************************************************
rem Modifiez ces valeurs pour les adapter a votre environnement
rem ************************************************************

set ORACLE_SID=ORCL
set L_CONNECT=internal/@beq-local
set L_INIT=c:\orant\database\init%ORACLE_SID%.ora

REM Donnez le lieu ou sauvegarder les fichiers de votre base set L_SAUVE= c:\orant\backup

rem Identifiez les exécutables Oracle utilisés

set L_SVRMGR=c:\orant\bin\svrmgr30.exe
set L_EXPORT=c:\orant\bin\exp80.exe
set L_PLUS=c:\orant\bin\plus80.exe
set L_COPY=c:\orant\bin\ocopy80.exe

rem ************************************************************
ECHO -- Lance des programmes utilises dans les sauvegardes
rem ************************************************************

rem Si le Listener n'est pas demarre, on le lance net start | find "OracleTNSListener80" || net start OracleTNSListener80

rem Si le process Oracle n'est pas demarre, on le lance net start | find "OracleService%ORACLE_SID%" || net start OracleService%ORACLE_SID%

rem ************************************************************
ECHO -- Debut de la sauvegarde
rem ************************************************************

REM Creation du fichier de demarrage de la base : DB_START.SQL echo connect %L_CONNECT% as sysoper; >db_start.sql echo startup pfile=%L_INIT% >>db_start.sql echo exit >>db_start.sql

REM Creation du fichier d’arret de la base : DB_STOP.SQL echo connect %L_CONNECT% as sysoper; >db_stop.sql echo shutdown immediate >>db_stop.sql
echo exit >>db_stop.sql

REM Creation du fichier d’arret de la base et de demarrage REM en mode restreint : DB_RESTEINT.SQL REM Aucun autre utilisateur supplementaire ne peut se connecter. echo connect %L_CONNECT% as sysoper; >db_resteint.sql echo shutdown immediate; >> db_resteint.sql echo startup pfile=%L_INIT% restrict; >> db_resteint.sql echo exit >> db_resteint.sql

ECHO *****************************************************************
ECHO SAUVEGARDE BASE ARRETEE (SAUVEGARDE A FROID)
ECHO *****************************************************************

ECHO -- Arret de la base et demarrage en mode restreint %L_SVRMGR% @db_resteint.sql

ECHO -- Creation du script SQL*PLUS pour la sauvegarde a froid echo set heading off; >%L_SAUVE%\sauve.sql echo set feedback off; >>%L_SAUVE%\sauve.sql echo spool %L_SAUVE%\sauve.cmd; >>%L_SAUVE%\sauve.sql echo select 'copy '^|^|member^|^|' %L_SAUVE%' from v$logfile;
>>%L_SAUVE%\sauve.sql

echo select 'copy '^|^|name^|^|' %L_SAUVE%' from v$controlfile;
>>%L_SAUVE%\sauve.sql

echo select 'copy '^|^|name^|^|' %L_SAUVE%' from v$datafile;
>>%L_SAUVE%\sauve.sql

echo spool off; >>%L_SAUVE%\sauve.sql
echo exit; >>%L_SAUVE%\sauve.sql

ECHO -- Lancement du script SQL pour créer le script de sauvegarde %L_PLUS% %L_CONNECT% @%L_SAUVE%\sauve.sql

ECHO -- Arret de la base de donnees
%L_SVRMGR% @db_stop.sql

ECHO -- Ajoutez ici les autres fichiers a sauvegarder echo rem Autres fichiers a sauvegarder... >>%L_SAUVE%\sauve.cmd

ECHO -- Lance le script de sauvegarde
call %L_SAUVE%\sauve.cmd

ECHO -- Optionnel : arrete le process Oracle net stop OracleService%ORACLE_SID%
net start OracleService%ORACLE_SID%

ECHO -- Demarre la base de donnees
%L_SVRMGR% @db_start.sql

ECHO -- Sauvegarde a froid terminee
endlocal

ECHO *****************************************************************
ECHO Fin du script
ECHO *****************************************************************


"Andrey D. Shindarev" a écrit :

> Hi.
>
> Fuzzy <granta_at_nospam.student.canberra.edu.au> wrote in message
> news:37697fb0.19293502_at_newshost.interact.net.au...
> > Hi all,
> >
> > I can't seem to get SVRMGR to behave on an Ora8 NT box. I'm trying to
> > alter our backup régime from cold to hot - but it's a bit hard without
> > SVRMGR. I'm trying to go through the usual mount, alter to
> > archivelogs, open stuff, and also build some scripts to automate
> > restores when necessary.
> >
> > Every time I try to use SVRMGR, I get the 12203 TNS:Unable to connect
> U can try to:
> 1) define u database in ?\NET80\ADMIN\tnsnames.ora (not
> network\admin\tnsnames.ora)
> +2) set LOCAL=%you db tnsname%
> +3) set ORACLE_SID=%you db sid%
> +4) use svrmgr30 (not 23)
>
> Regards, Andrey.
>
> ---------------------------------------------------------------------------
> -------------------------
> Andrey D. Shindarev Russia, 191123
> Oracle DBA St.Petersburg
> "Peter-Service, Ltd" 36,Shpalernaya
> str.
> mailto:ashindarev_at_ptrsrv.spb.ru office 421
> url: http://www.billing.ru tel 7 812
> 329-9214
> icq: 21531061, 3536057 fax 7 812
> 329-9215
> ---------------------------------------------------------------------------
> -------------------------
Received on Fri Jun 18 1999 - 15:20:46 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US