Salut les experts RMAN,
J'ai fais mumuse avec RMAN dernièrement et il y a des questions que je me pose; n'ayant pas les réponses, je viens vous voir
Voici mes tests.
Créer une table T1 et faire des INSERTs dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SQL> connect HR Enter password: Connected. SQL> create table ZZ01 (id number); SQL> insert into zz01 values (1); SQL> insert into zz01 values (2); SQL> commit;
Faire une sauvegarde complète de la base : je me connecte à la PDB, pas au CDB$ROOT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 [oracle@vbgeneric ~]$ rman target SYS@orcl Recovery Manager: Release 12.2.0.1.0 - Production on Sat Sep 5 11:54:26 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. target database Password: connected to target database: ORCL12C:ORCL (DBID=2846920952) RMAN> backup database; Starting backup at 05-SEP-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=345 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00010 name=/u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf input datafile file number=00012 name=/u01/app/oracle/oradata/orcl12c/orcl/users01.dbf input datafile file number=00011 name=/u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/orcl12c/orcl/system01.dbf input datafile file number=00013 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf input datafile file number=00014 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf channel ORA_DISK_1: starting piece 1 at 05-SEP-20 channel ORA_DISK_1: finished piece 1 at 05-SEP-20 piece handle=/u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnndf_TAG20200905T115528_ho7f7jot_.bkp tag=TAG20200905T115528 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35 Finished backup at 05-SEP-20
On regarde dans une fenêtre SQLPlus la taille du backupset généré : 2,4Go.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SQL> ! ls -l /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnndf_TAG20200905T115528_ho7f7jot_.bkp -rw-r----- 1 oracle oinstall 2479341568 Sep 5 11:55 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnndf_TAG20200905T115528_ho7f7jot_.bkp
Créer une autre table T2, faire des INSERTs dedans.
Je fais une sauvegarde incrémentale de niveau 1. Tiens, Oracle détecte qu'il n'y en a pas de niveau 0 alors il bypass ma commande et, sans vraiment me prévenir, il fait une sauvegarde niveau 0 des tablespaces SYSTEM, SYSAUX et UNDO et une sauvegarde niveau 1 de mon tablespace applicatif USER01 qui correspond au fichier USERS01.dbf.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SQL> create table ZZ02 (id02 number); SQL> insert into zz02 values (12); SQL> insert into zz02 values (22); SQL> commit;
QUESTION 1 : est-ce normal que Oracle fasse cela sans me poser de question? Je trouve cela cavalier de sa part![]()
Autre chose : pourquoi est-ce qu'il ne mets pas le tbs USER01 dans la sauvegarde de niveau 0 mais que dans celle de niveau 1?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE; Starting backup at 05-SEP-20 using channel ORA_DISK_1 no parent backup or copy of datafile 10 found no parent backup or copy of datafile 11 found no parent backup or copy of datafile 9 found channel ORA_DISK_1: starting incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00010 name=/u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf input datafile file number=00011 name=/u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/orcl12c/orcl/system01.dbf channel ORA_DISK_1: starting piece 1 at 05-SEP-20 channel ORA_DISK_1: finished piece 1 at 05-SEP-20 piece handle=/u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd0_TAG20200905T115953_ho7fht1k_.bkp tag=TAG20200905T115953 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25 channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00012 name=/u01/app/oracle/oradata/orcl12c/orcl/users01.dbf input datafile file number=00013 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf input datafile file number=00014 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf channel ORA_DISK_1: starting piece 1 at 05-SEP-20 channel ORA_DISK_1: finished piece 1 at 05-SEP-20 piece handle=/u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T115953_ho7fjm5d_.bkp tag=TAG20200905T115953 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15 Finished backup at 05-SEP-20
Taille des fichiers RMAN générés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SQL> ! ls -l /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/* -rw-r----- 1 oracle oinstall 1370456064 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd0_TAG20200905T115953_ho7fht1k_.bkp -rw-r----- 1 oracle oinstall 1107517440 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T115953_ho7fjm5d_.bkp -rw-r----- 1 oracle oinstall 2479341568 Sep 5 11:55 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnndf_TAG20200905T115528_ho7f7jot_.bkp
Créer une autre table T3, faire des INSERTs dans les quatre tables.
Les tables créées sont dans le tbs USERS, surtout pas dans SYSTEM.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL> create table ZZ03 (id03 number); SQL> insert into zz03 values (13); SQL>insert into zz03 values (23); SQL> commit; SQL> select table_name, TABLESPACE_NAME from dba_tables where table_name like 'ZZ0%'order by table_name; TABLE_NAME TABLESPACE_NAME -------------------- ------------ ZZ01 USERS ZZ02 USERS ZZ03 USERS
Faire une sauvegarde incrémentale différentielle niveau 1 : en une seconde c'est fait. Et là, RMAN précise bien que c'est une sauvegarde de niveau 1 qu'il fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE; Starting backup at 05-SEP-20 using channel ORA_DISK_1 channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00010 name=/u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf input datafile file number=00012 name=/u01/app/oracle/oradata/orcl12c/orcl/users01.dbf input datafile file number=00011 name=/u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/orcl12c/orcl/system01.dbf input datafile file number=00013 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf input datafile file number=00014 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf channel ORA_DISK_1: starting piece 1 at 05-SEP-20 channel ORA_DISK_1: finished piece 1 at 05-SEP-20 piece handle=/u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T120759_ho7fz040_.bkp tag=TAG20200905T120759 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 05-SEP-20
Tiens, la sauvegarde précédente o1_mf_nnndf_TAG20200905T115528_ho7f7jot_.bkp a sauté... peut-être parce que tout à l'heure j'ai fais une sauvegarde qui a remplacé celle-ci ou bien RMAN a décidé de la deleter; à noter qu'elle a été généré à 11h55 alors que ma auveagrde level 1 a été faite à 12h00.
On voit que la nouvelle sauvegarde, celle correspondant au CREATE TABLE zz03 et aux deux INSERTs ne fait que 645Ko alors que les autres font plus de 1Go..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SQL> ! ls -l /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/* -rw-r----- 1 oracle oinstall 1370456064 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd0_TAG20200905T115953_ho7fht1k_.bkp -rw-r----- 1 oracle oinstall 1107517440 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T115953_ho7fjm5d_.bkp -rw-r----- 1 oracle oinstall 647168 Sep 5 12:08 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T120759_ho7fz040_.bkp
Faire une sauvegarde incrémentale différentielle niveau 2.
QUESTION 2 : on peut faire une sauvegarde incrementale de niveau 2 avec RMAN? Dans la doc ils parlent plutôt de sauvegarde de niveau 0, 1 mais quelle est la limite?
Un nouveau fichier, de 750Ko est généré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 RMAN> BACKUP INCREMENTAL LEVEL 2 DATABASE; Starting backup at 05-SEP-20 using channel ORA_DISK_1 channel ORA_DISK_1: starting incremental level 2 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00010 name=/u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf input datafile file number=00012 name=/u01/app/oracle/oradata/orcl12c/orcl/users01.dbf input datafile file number=00011 name=/u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/orcl12c/orcl/system01.dbf input datafile file number=00013 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf input datafile file number=00014 name=/u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf channel ORA_DISK_1: starting piece 1 at 05-SEP-20 channel ORA_DISK_1: finished piece 1 at 05-SEP-20 piece handle=/u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd2_TAG20200905T121454_ho7gcz59_.bkp tag=TAG20200905T121454 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 05-SEP-20
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQL> ! ls -l /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/* SQL> ! ls -l /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/* -rw-r----- 1 oracle oinstall 1370456064 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd0_TAG20200905T115953_ho7fht1k_.bkp -rw-r----- 1 oracle oinstall 1107517440 Sep 5 12:00 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T115953_ho7fjm5d_.bkp -rw-r----- 1 oracle oinstall 647168 Sep 5 12:08 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T120759_ho7fz040_.bkp -rw-r----- 1 oracle oinstall 761856 Sep 5 12:14 /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd2_TAG20200905T121454_ho7gcz59_.bkp
Quls sont les backup sets existants?
QUESTION 3 : pourquoi est-ce que dans mes sauvegardes incrémentales qui font même pas 1Mo, il y a des références aux tbs UNDO, SYSTEM, SYSAUX? Oracle a besoin de quoi précisément pour utiliser cette sauvegarde incrémentale? Je pensais que seuls les blocs modifiés du tbs USERS seraient sauvegardés... Et pourquoi est-ce qu'il y a des références aux tbs APEX alors que j'ai fais des Inserts dans une table applicative?
QUESTION 4 : est-il possible de descendre plus bas et d'avoir les rowid ou id de blocs sauvegardés? Car là c'est quand même de haut niveau : Oracle dit avoir sauvegardé je ne sais quoi du tbs USERS...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 RMAN> list backupset; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 9 Incr 0 1.28G DISK 00:00:16 05-SEP-20 BP Key: 9 Status: AVAILABLE Compressed: NO Tag: TAG20200905T115953 Piece Name: /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd0_TAG20200905T115953_ho7fht1k_.bkp List of Datafiles in backup set 9 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- --------- ----------- ------ ---- 9 0 Incr 2766587 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/system01.dbf 10 0 Incr 2766587 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf 11 0 Incr 2766587 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 10 Incr 1 1.03G DISK 00:00:13 05-SEP-20 BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20200905T115953 Piece Name: /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T115953_ho7fjm5d_.bkp List of Datafiles in backup set 10 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- --------- ----------- ------ ---- 12 1 Incr 2766611 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/users01.dbf 13 1 Incr 2766611 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf 14 1 Incr 2766611 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 11 Incr 1 624.00K DISK 00:00:01 05-SEP-20 BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20200905T120759 Piece Name: /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd1_TAG20200905T120759_ho7fz040_.bkp List of Datafiles in backup set 11 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- --------- ----------- ------ ---- 9 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/system01.dbf 10 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf 11 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf 12 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/users01.dbf 13 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf 14 1 Incr 2767209 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 12 Incr 2 736.00K DISK 00:00:00 05-SEP-20 BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20200905T121454 Piece Name: /u01/app/oracle/fast_recovery_area/orcl12c/ORCL12C/49BFF8A6BB912582E0530100007F8BE4/backupset/2020_09_05/o1_mf_nnnd2_TAG20200905T121454_ho7gcz59_.bkp List of Datafiles in backup set 12 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- --------- ----------- ------ ---- 9 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/system01.dbf 10 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/sysaux01.dbf 11 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/undotbs01.dbf 12 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/users01.dbf 13 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1991375173370654.dbf 14 2 Incr 2768399 05-SEP-20 NO /u01/app/oracle/oradata/orcl12c/orcl/APEX_1993195660370985.dbf
Merci pour les réponses et pour avoir pris la peine de me lire![]()
Partager