Beruflich Dokumente
Kultur Dokumente
PHP/ACCUEIL
https://fr.linkedin.com/in/romainferraton
Search...
TLCHARGEMENTS DE COURS
/INDEX .PHP/T
https://twitter.com/polymorpheorg ELECHARGEMENTSDECOURS
/
TUTORIAUX
https://plus.google.com/+Architecture
/INDEX .PHP/TUTORIAUX/
Vote 5 NOTE
Dans cet article nous allons voir comment crer un catalogue pour l'utilitaire RMAN. Ce
catalogue va hberger les rfrences des fichiers sauvegards, leurs significations et
dates. Ces informations seront galement stockes dans le control file de la base de
donnes mais seront trs utiles en cas de crash complet ou de corruption de ce control
file, il est donc prudent et recommand d'hberger ce catalogue sur une autre machine
si les bases sont sur des VM, il faudra trouver une autre VMalloue sur un host physique
diffrent.
Allonsy !
1 SQL>connectSYSTEM@RMAN
1 SQL>connectSYSTEM@RMAN
2 Enterpassword:
3 Connected.
4 SQL>CREATETABLESPACERMANDATAFILE'RMAN.dbf'SIZE128MAUTOEXTEND
5
6 Tablespacecreated.
7
8 SQL>CREATEUSERRMANIDENTIFIEDBYRMAN
9 TEMPORARYTABLESPACETEMP
10 DEFAULTTABLESPACERMAN
11 QUOTAUNLIMITEDONRMAN;
12
13 Usercreated.
14
15 SQL>GRANTRECOVERY_CATALOG_OWNERTORMAN;
16
17 Grantsucceeded.
1 [oracle]$rmancatalogRMAN/RMAN@RMAN
1 [oracle]$rmancatalogRMAN/RMAN@RMAN
2
3 RecoveryManager:Release10.2.0.5.0ProductiononTueMar2511:39:432014
4
5 Copyright(c)1982,2007,Oracle.Allrightsreserved.
6
7 connectedtorecoverycatalogdatabase
8
9
10
11 RMAN>CREATECATALOG;
12
13 recoverycatalogcreated
14
15
16 RMAN>EXIT
Si la base est une base situe sur le serveur on aura pralablement lancer un oraenv ou
positionner les variables ORACLE_HOME et ORACLE_SID
1 [oracle]$rmantarget=/catalogRMAN/RMAN@RMAN ?
2 RMAN>REGISTERDATABASE;
3
4 databaseregisteredinrecoverycatalog
5 startingfullresyncofrecoverycatalog
6 fullresynccomplete
1 RMAN>REPORTSCHEMA; ?
2
3 Reportofdatabaseschema
4
5 ListofPermanentDatafiles
6 ===========================
7 FileSize(MB)TablespaceRBsegsDatafileName
8
9 1960SYSTEMYES/gnx/system/system01.dbf
10 27560UNDOTBS1YES/gnx/rbs/undotbs01.dbf
11 34688SYSAUXNO/gnx/system/sysaux01.dbf
12 48960DATA_EVENO/gnx/data/DATA_EVE02.dbf
13 516384DATA_EVLNO/gnx/data/DATA_EVL2.dbf
14 618512DATA_EVPNO/gnx/data/DATA_EVP02.dbf
15 710240DATA_EVRNO/gnx/data/DATA_EVR02.dbf
16 812000DATA_EVTNO/gnx/data/DATA_EVT02.dbf
17 91500DATA_EVYDNO/gnx/data/DATA_EVYD02.dbf
18 101500DATA_EVYENO/gnx/data/DATA_EVYE02.dbf
19 1112388DATA_GNXNO/gnx/data/DATA_GNX01.dbf
20 121900DATA_MSKNO/gnx/data/DATA_MSK02.dbf
21 132200DATA_P_ECRNO/gnx/data/DATA_P_ECR02.dbf
22 141000DATA_P_LCHNO/gnx/data/DATA_P_LCH02.dbf
23 158448DATA_PMVNO/gnx/data/DATA_PMV02.dbf
24 165120IDX_EVENO/gnx/index/IDX_EVE02.dbf
25 1714336IDX_EVLNO/gnx/index/IDX_EVL02.dbf
26 1816748IDX_EVPNO/gnx/data/IDX_EVP02.dbf
27 198048IDX_EVRNO/gnx/index/IDX_EVR02.dbf
28 209280IDX_EVTNO/gnx/index/IDX_EVT02.dbf
29 212432IDX_EVYDNO/gnx/index/IDX_EVYD02.dbf
30 222048IDX_EVYENO/gnx/index/IDX_EVYE02.dbf
31 2312364IDX_GNXNO/gnx/index/IDX_GNX01.dbf
32 243632IDX_MSKNO/gnx/index/IDX_MSK02.dbf
33 251580IDX_P_ECRNO/gnx/index/IDX_P_ECR02.dbf
34 261520IDX_P_LCHNO/gnx/index/IDX_P_LCH02.dbf
34 261520IDX_P_LCHNO/gnx/index/IDX_P_LCH02.dbf
35 276700IDX_PMVNO/gnx/index/IDX_PMV02.dbf
36
37 ListofTemporaryFiles
38 =======================
39 FileSize(MB)TablespaceMaxsize(MB)TempfileName
40
41 116384TEMP16384/gnx/temp/temp01.dbf
1 RMAN>showall; ?
2
3 RMANconfigurationparametersare:
4 CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF14DAYS;
5 CONFIGUREBACKUPOPTIMIZATIONON;
6 CONFIGUREDEFAULTDEVICETYPETODISK;
7 CONFIGURECONTROLFILEAUTOBACKUPON;
8 CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISK
9 CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#
10 CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#
11 CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#
12 CONFIGUREMAXSETSIZETOUNLIMITED;#default
13 CONFIGUREENCRYPTIONFORDATABASEOFF;#default
14 CONFIGUREENCRYPTIONALGORITHM'AES128';#default
15 CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
16 CONFIGURESNAPSHOTCONTROLFILENAMETO'/oracle/10.2.0/dbs/snapcf_GNX.f'
1 RMAN>CONFIGUREDEVICETYPEDISKBACKUPTYPETOCOMPRESSEDBACKUPSETPARALLELISM
?
2
2
3 newRMANconfigurationparameters:
4 CONFIGUREDEVICETYPEDISKBACKUPTYPETOCOMPRESSEDBACKUPSETPARALLELISM4;
5 newRMANconfigurationparametersaresuccessfullystored
6 startingfullresyncofrecoverycatalog
7 fullresynccomplete
8
9
10
11 RMAN>CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISK
12
13 oldRMANconfigurationparameters:
14 CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISK
15 newRMANconfigurationparameters:
16 CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISK
17 newRMANconfigurationparametersaresuccessfullystored
18 startingfullresyncofrecoverycatalog
19 fullresynccomplete
20
21
22
23 RMAN>CONFIGURESNAPSHOTCONTROLFILENAMETO'/backup/rman/GNX_SNAPSHOT_CONTROL.O
24
25 snapshotcontrolfilenamesetto:/backup/rman/GNX_SNAPSHOT_CONTROL.ORA
26 newRMANconfigurationparametersaresuccessfullystored
27
28
29
30 RMAN>CONFIGURECHANNELDEVICETYPEDISKFORMAT'/backup/rman/%U'
31
32 newRMANconfigurationparameters:
33 CONFIGURECHANNELDEVICETYPEDISKFORMAT'/backup/rman/%U';
34 newRMANconfigurationparametersaresuccessfullystored
35 startingfullresyncofrecoverycatalog
36 fullresynccomplete
37
38
37
38
39
40 RMAN>showall;
41
42 RMANconfigurationparametersare:
43 CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF14DAYS;
44 CONFIGUREBACKUPOPTIMIZATIONON;
45 CONFIGUREDEFAULTDEVICETYPETODISK;
46 CONFIGURECONTROLFILEAUTOBACKUPON;
47 CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISK
48 CONFIGUREDEVICETYPEDISKBACKUPTYPETOCOMPRESSEDBACKUPSETPARALLELISM4;
49 CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#
50 CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#
51 CONFIGURECHANNELDEVICETYPEDISKFORMAT'/backup/rman/%U';
52 CONFIGUREMAXSETSIZETOUNLIMITED;#default
53 CONFIGUREENCRYPTIONFORDATABASEOFF;#default
54 CONFIGUREENCRYPTIONALGORITHM'AES128';#default
55 CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
56 CONFIGURESNAPSHOTCONTROLFILENAMETO'/backup/rman/GNX_SNAPSHOT_CONTROL.ORA'
Scripts de sauvegarde
Sauvegarde de Niveau L0
On va crer un script de sauvegarde socle pour les sauvegardes incrmentales de niveau
suprieur. La sauvegarde L0 sera lance chaque semaine le dimanche 22h. Il effectuera
la sauvegarde L0 ainsi quune purge des anciennes sauvegardes obsoltes selon la
configuration de la rtention de RMAN.
Pour cette purge, il faut bien comprendre la notion de rtention. Lorsquon dit RMAN
davoir une rtention de 14 jours, cela ne signifie pas quil ne va conserver que les fichiers
plus rcents que 14 jours mais quil pourra revenir J14. Ainsi il pourra conserver des
sauvegardes L0 et L1 ncessaires pour revenir cette date. Do limportance de faire des
L0 intervalle rgulier car sans cela RMAN ne pourra pas purger les sauvegardes de
niveau L1.
Le script /oracle/admin/scripts/rman/RMAN_BCK_L0_GNX.sh
1 #!/bin/bash ?
2 exportSHELL=/bin/bash;
3 exportPATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/NX/bin
4 exportORACLE_SID=GNX
5 exportORACLE_HOME=/oracle/11.2.0/db_home1
6 echo"======================================================"
7 echo"StartingRMAN_HB_L0_backup.sh"
8 echo"======================================================"
9 echo.
10 echo"====Archivingcurrentredolog"
11 date
12 echo.
13 rmanTARGET=/CATALOGRMAN/RMAN@RMAN<<EOF
14 run
15 {
16 SQL'ALTERSYSTEMARCHIVELOGCURRENT';
17 }
18 EXIT;
19 EOF
19 EOF
20 echo.
21 echo"====StartingLevel0Backup"
22 date
23 echo.
24 rmanTARGET=/CATALOGRMAN/RMAN@RMAN<<EOF
25 run
26 {
27 ALLOCATECHANNELD1TYPEDISKFORMAT'/backup/rman/GNX_RMAN_BCK_L0_%d_%u_%s_%p'
28 BACKUPINCREMENTALLEVEL0DATABASEPLUSARCHIVELOGTAG'GNX_DB_ARC_INC_L0'
29 #reportobsolete;
30 DELETENOPROMPTOBSOLETE;
31 DELETENOPROMPTEXPIREDBACKUP;
32 }
33 EXIT;
34 EOF
35 echo.
36 echo"====EndofLevel0DatabaseBackuptagGNX_INC_L0"
37 date
38 echo.
Sauvegarde de niveau L1
Le sauvegardes de niveau L1 vont sauvegarder uniquement les donnes ayant t
modifies depuis la dernire sauvegarde de niveau gal ou infrieur L1 ou L0 donc
Le script suivant effectue une sauvegarde de niveau L1 et des archivelog suivi dune purge
des archive et des sauvegardes obsoltes
script /oracle/admin/scripts/rman/RMAN_BCK_L1_GNX.sh
1 #!/bin/bash ?
2 exportSHELL=/bin/bash;
3 exportPATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/NX/bin
4 exportORACLE_SID=GNX
5 exportORACLE_HOME=/oracle/11.2.0/db_home1
6 echo"======================================================"
7 echo"StartingRMAN_HB_L1_backup.sh"
8 echo"======================================================"
9 echo.
10 echo"====Archivingcurrentredolog"
11 date
12 echo.
13 rmanTARGET=/CATALOGRMAN/RMAN@RMAN<<EOF
14 run
15 {
16 SQL'ALTERSYSTEMARCHIVELOGCURRENT';
17 }
18 EXIT;
19 EOF
20 echo.
21 echo"====StartingLevel1Backup"
22 date
23 echo.
24 rmanTARGET=/CATALOGRMAN/RMAN@RMAN<<EOF
25 run
26 {
27 ALLOCATECHANNELD1TYPEDISKFORMAT
28 '/backup/rman/GNX_RMAN_BCK_L1_%d_%u_%s_%p';
29 BACKUPINCREMENTALLEVEL1DATABASETAG'GNX_DB_INC_L1';
30 BACKUPARCHIVELOGALLDELETEALLINPUT;
31 #REPORTOBSOLETE;
32 DELETENOPROMPTOBSOLETE;
33 DELETENOPROMPTEXPIREDBACKUP;
34 #RELEASECHANNELD1;
35 }
36 EXIT;
37 EOF
36 EXIT;
37 EOF
38 echo.
39 echo"====EndofLevel1DatabaseBackuptagGNX_DB_INC_L1"
40 date
41 echo.
Il faut ensuite automatiser le lancement de ces scripts. Le cron est une solution simple,
une autre solution serait de lancer ces scripts avec Nagios par exemple. La surveillance
des backups peut tre fait avec Nagios et un plugin SQL en interrogeant les tables
V_$RMAN_xxx
La crontab
1 4523**7/oracle/11.2.0/admin/scripts/rman/RMAN_BCK_L0_GNX.sh1>>/oracle/11.2.
?
2 0021/4**16/oracle/11.2.0/admin/scripts/rman/RMAN_BCK_L1_GNX.sh1>>/oracle/
1 ALTERDATABASEENABLEBLOCKCHANGETRACKINGUSINGFILE'/oracle/bct/bctf01.log'
?
AJOUTERVOSCOMMENTAIRES