[Oracle 8i] size of rman incremental backups

From: Michael Wiedemann <michael.wiedemann_at_biologie.uni-ulm.de>
Date: Tue, 13 May 2003 10:58:08 +0200
Message-ID: <3ec0b37f$1_at_news.uni-ulm.de>



[Quoted] Hello, dear experts :) !

I'm experimenting with the bundeled rcovery manager of oracle 8i. So, i tried to get some incrmental backups - level 0 (full) - level 1 and level 2.
The problem of this procedure is, that i think, i've done something wrong, because the size of the backups makes me wonder. I was thinking, that after i did a level 0 backup, in level 1 and / or 2, only the changed blocks will be backuped. I haven't change anything oin my test database, but rman still produces rather large files. Look at the results generated by UNIX:

Size | Name


91161088   | TMP_12052003_145735_level_0_49382985850
4608       | TMP_12052003_145735_level_0_49382992551
4817408    | TMP_12052003_150626_level_1_49383038952
3584       | TMP_12052003_150626_level_1_49383046653
4751872    | TMP_12052003_150833_level_2_49383051654
2560       | TMP_12052003_150833_level_2_49383059355
4751872    | TMP_12052003_151242_level_2_49383076656
2560       | TMP_12052003_151242_level_2_49383084257

Structure of the filenames: DBNAME_Date_Time_level_uniquenumber

rman produces level 2 backups of the same size, even though the database haven't changed at all ...
the relevant parts of the script using rman:

$ORACLE_HOME/bin/rman target / $CATALOG << EOF

                 run {
                     allocate channel diskbackup type disk format
             '$BACKUP_DIR/%d 
_${DATE}_${TIME}_level_${LEVEL}_%t%s';
                     sql 'alter system switch logfile';
                     backup incremental level $LEVEL ( database include 
                     current controlfile );
             backup ( archivelog all delete input );
                     release channel diskbackup;
                 }
                 exit

So, what am i doing wrong, or does rman always produces backups of a certain size ? Any recommendation would be appreciated.

Thx, and greetings,
Michael

P.S.: For those of you, who can speak german :)

Hallo !

Wie vor kurzen beschrieben, beschäftige ich mich seit einiger Zeit mit dem Recovery Mananger von Oracle ... so langsam wird auch, allerdings hat sich nun ein neues Problem ergeben.

Incremental backups dienen ja bekanntlich dem Zweck, dass die Level 1 und 2 Backups nur die veränderten Blöcke hernehmen, im Gegensatz zu Level 0 (quasi full backup) ... also hab ich mir ein kleines Skript geschrieben, dass Sonntags ein volles, Mittwochs ein Level 1 und sonst ein level 2 Backup macht, dazu unten mehr.

Nun das Problem, ich habe das heute einfach mal durch gespielt, und dabei zu folgenden Ergebnissen gekommen. Rman läuft durch, aber die Größen der erstellten Dateien sind meiner Meinung nach viel zu groß. Unix liefert folgendes:

Größe | Name


91161088   | TMP_12052003_145735_level_0_49382985850
4608       | TMP_12052003_145735_level_0_49382992551
4817408    | TMP_12052003_150626_level_1_49383038952
3584       | TMP_12052003_150626_level_1_49383046653
4751872    | TMP_12052003_150833_level_2_49383051654
2560       | TMP_12052003_150833_level_2_49383059355
4751872    | TMP_12052003_151242_level_2_49383076656
2560       | TMP_12052003_151242_level_2_49383084257

(Aufbau der Dateinamen: NAMEDB_DATUM_UHRZEIT_LEVEL_UNIQUENUMBER) Wie man sieht, sind die Hauptbackups (die kleinen sind das Archivlog) nahezu gleich groß
Level 0 91 MB
Level 1 48 MB
Level 2 47 MB und nochmal 47 MB. Dabei sollten doch nur die geänderten Blöcke einbezogen werden, und es hat sich gar nix verändert seither ...

Die entsprechende Skriptpassage sieht so aus:
$ORACLE_HOME/bin/rman target / $CATALOG << EOF

                 run {
                     allocate channel diskbackup type disk format
             '$BACKUP_DIR/%d 
_${DATE}_${TIME}_level_${LEVEL}_%t%s';
                     sql 'alter system switch logfile';
                     backup incremental level $LEVEL ( database include 
                     current controlfile );
             backup ( archivelog all delete input );
                     release channel diskbackup;
                 }
                 exit

Wo liegt mein Denkfehler ?
[Quoted] Danke für Vorschläge,

Gruß, Michael Received on Tue May 13 2003 - 10:58:08 CEST

Original text of this message