Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Complete backup script for NT
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.logfindstr /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.sqlif 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
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