Overblog Suivre ce blog
Administration Créer mon blog
2 février 2010 2 02 /02 /février /2010 22:18


Script sauvegarde à froid (cold backup)

 


Un exemple très simple de script de sauvegarde à froid des fichiers de données, des redolog, des fichiers de contrôles, et temporary tablespace d’une base de données.

Très utile et rapide en terrain inconnu, où les fichiers sont un peu dispersés à droite et à gauche.

 

(Ne pas tester en environnement de Production, mais en test d’abord !!!!)


1 Construction dynamiques des ordres de host copy par interrogations des tables

- v$datafile

- v$logfile

- v$controlfile

- v$tempfile


2 Insertion de ces lignes dans un fichier backup.bat dans c:\save
3 Creation backup control files pour re-création des control files si besoin

4 Arrêt de la base

5 Auto exécution de la copie à froid  (backup.bat)

6 Redémarrage de la base


 

Lancer ce script directement en mode console sans vous connecter à SQL*PLUS par

Copier/Coller.

Prenez le soin de changer la chaine de connexion et vérifiez la présence du répertoire C:\cold_backup et C:\save pour ce test.

 

Si vous avez peur du script !! Vous pouvez mettre en commentaire les 4 dernières lignes, il y aura uniquement la construction du fichier .bat dans c:\save sans shutdown immediate etc.

 

 

 


__S_C_R_I_P_T__________________________________________________________________

sqlplus -s "sys/mdp@NomTNS as sysdba
"

SET pagesize 0

SET linesize 500

SET verify off

 

define folder ='c:\cold_backup'

define batch='c:\save\backup.bat'

 

spool &batch;

select 'host copy '|| name|| ' &folder' from v$datafile order by 1 ;

select 'host copy '|| member || ' &folder' from v$logfile order by 1 ;

select 'host copy '|| name || ' &folder' from v$controlfile order by 1 ;

select 'host copy '|| name || ' &folder' from v$tempfile order by 1 ;

spool off


alter database backup controlfile to trace as 'C:\cold_backup\BckCtl.sql' REUSE;
 

shutdown immediate;

 

@&batch;

 

startup;

exit;

_____________________________________________________________________

Contenu du fichier C:\save\backup.bat en sortie qui sera exécuté en auto
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\SYSAUX01.DBF c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\SYSTEM01.DBF c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\UNDOTBS01.DBF c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\USERS01.DBF c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA_01.DBF c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\DATA_02.DBF c:\cold_backup

host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO01.LOG c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO02.LOG c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\REDO03.LOG c:\cold_backup

host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\CONTROL01.CTL c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\CONTROL02.CTL c:\cold_backup
host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\CONTROL03.CTL c:\cold_backup

host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBTEST\TEMP01.DBF c:\cold_backup



Repost 0
Published by Daniel Roesch - dans SAUVEGARDES
commenter cet article