1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| --Ce script est utilisé pour réaliser une sauvegarde à chaud. Il sauve tous les fichiers importants et génère un fichier de sortie pour une utilisation ultérieure.
--Le début du script définit les variables d'environnement
Set feedback off
Set Linesize 200
Set Heading off
Set Pagesize 0
Set Trimspool off
Set Verify off
-- Cette partie du script définit les variables utilisateurs
--Les fichiers sauvegardés sont stockés dans un répertoire spécifique.
--Un fichier de sortie est généré en utilisant la commande spool. Le chemin du fichier est définit ici
define folder ='C:\Oracle\product\10.2.0\admin\masterql\arch2' --répertoire de destination pour les fichiers sauvegardés
define file_control='C:\Oracle\product\10.2.0\admin\masterql\controle2\backup.sql' --fichier de sortie
spool &file_control
--Exécution de quelques requêtes pour générer le fichier de sortie. Celui ci contient un jeu de commandes système.
PROMPT archive log list;;
PROMPT alter system switch logfile;;
SELECT 'alter tablespace ' || tablespace_name || ' begin backup; '
FROM dba_tablespaces
WHERE status NOT IN ('READ ONLY','INVALID','OFFLINE');
SELECT 'host copy ' || file_name || ' &folder'
FROM dba_data_files
WHERE tablespace_name NOT IN(
SELECT tablespace_name
FROM dba_tablespaces
WHERE status IN
('READ ONLY','INVALID','OFFLINE'));
SELECT 'alter tablespace ' || tablespace_name || ' end backup;'
FROM dba_tablespaces
WHERE status NOT IN ('READ ONLY','INVALID','OFFLINE');
PROMPT alter database backup controlfile to '&folder\control.ctl' REUSE;;
PROMPT alter system switch logfile;;
PROMPT archive log list;;
spool off
--Lance le script
@&file_control |
Partager