Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[ORACLE] Backup Controlfile

Empfohlene Antworten

Veröffentlicht

Hallo Kollegen,

ich habe mal eine kleine Frage zum Thema Backup Controlfile.

Es gibt ja 2 Möglichkeiten ein Backup vom Controlfile zu erstellen

1) alter database backup controlfile to trace

2) alter database backup controlfile to 'FILENAME'

Zu 1)

Hier kann ich die Datenbank evtl. umbennen oder gewissen Einstellungen korregieren die man sonst nicht mehr ändern kann. Das "Controlfile" ist im Klartext. Aus diesem File erzeuge ich dann wieder die binären Controlfiles

Zu 2)

Das ist eine binäre Kopie des Controlfiles.

Und nun meine Frage:

Wenn ich eines der beiden "Controlfiles" benutzen will, soll man ja die Datenbank mit "recover database using backup controlfile" wiederherstellen.

Mir ist aber ganz ehrlich gesagt nicht klar, was der IDENTIFIER "using backup controlfile" für einen Sinn hat?

Wenn ich z.B. das Controlfile aus Punkt 2 nehme, ist es doch nicht unterschiedlich wenn ich Datenbank restoren will (gut die fortlaufenden SCNs, Sequenznummer der Redologs unterscheiden sich).. aber das bekommt Oracle doch auch hin, wenn ich nur "recover database" mache, oder?

Bei Punkt1 leuchtet es mir auch nicht ein, da ich aus der Tracedatei wieder die Controlfiles erstelle (gut die SCNs, Sequenznummern gibt es überhaupt nicht mehr), aber das bekommt Oracle ja auch hin, wenn ich nur "recover database" mache, oder?

In beiden Fällen öffne ich die Datenbank mit OPEN RESET LOGS.

Kann mir vielleicht mal jemand den genauen Sinn von IDENTIFIER "using backup controlfile" erklären und worin der Unterschied zu einem recover ohne diesen Zusatz liegt?

In beiden Fällen wurde ein Onlinebackup erstellt und das "Backup" des Controlfiles mitgesichert.

Vielen Dank :)

Also wenn Du RMAN verwendest (wozu ich dringendst rate), dann sagst Du einfach

CONFIGURE CONTROLFILE AUTOBACKUP ON

Und damit ist dein Controlfile im Backupset mit drinnen. Einfach mal in RMAN ein

show all

eingeben und dir die eingestellten Parameter ausgeben lassen.

Im einfachsten Fall genügt dann folgendes:

restore controlfile from autobackup;

alter database mount;

recover database;

alter database open resetlogs,

Dim

Wenn ich eines der beiden "Controlfiles" benutzen will, soll man ja die Datenbank mit "recover database using backup controlfile" wiederherstellen.

nur wenn sqlplus zum recovern verwendet wird. ab 9ir2 ist RMAN die erste wahl.

Wenn ich z.B. das Controlfile aus Punkt 2 nehme, ist es doch nicht unterschiedlich wenn ich Datenbank restoren will (gut die fortlaufenden SCNs, Sequenznummer der Redologs unterscheiden sich).. aber das bekommt Oracle doch auch hin, wenn ich nur "recover database" mache, oder?

es unterscheidet sich sehr wohl. zum einen hat das backup controlfile ein flag, was es als backup kennzeichnet, zum anderen sind die SCN marker für alle datenfiles auf 0xffffffff (unlimited) gesetzt. beim recovery wird dann das flag gelöscht und die marker auf die echten werten gesetzt.

Bei Punkt1 leuchtet es mir auch nicht ein, da ich aus der Tracedatei wieder die Controlfiles erstelle (gut die SCNs, Sequenznummern gibt es überhaupt nicht mehr), aber das bekommt Oracle ja auch hin, wenn ich nur "recover database" mache, oder?

das gleiche procedere wie oben, nur gehen auch noch alle backupinformationen verloren.

In beiden Fällen öffne ich die Datenbank mit OPEN RESET LOGS.

geht nicht anders, da die information, an welcher stelle im redologstream oracle stand, verloren ist. resetlogs definiert somit einen neuen anfangspunkt.

generell RMAN für backup/recovery verwenden. sqlplus ist veraltet und wird nicht weiterentwickelt.

-j

Also wenn Du RMAN verwendest (wozu ich dringendst rate), dann sagst Du einfach

CONFIGURE CONTROLFILE AUTOBACKUP ON

Und damit ist dein Controlfile im Backupset mit drinnen. Einfach mal in RMAN ein

show all

eingeben und dir die eingestellten Parameter ausgeben lassen.

Im einfachsten Fall genügt dann folgendes:

restore controlfile from autobackup;

alter database mount;

recover database;

alter database open resetlogs,

Dim

und wie komme ich an das controlfile wieder heran, wenn das controlfile mit den metadaten des backupsets verloren ist? typisches henne-ei-problem. das controlfile mit den metadaten des backups sollte man getrennt von dem backupset speichern um im notfall wieder an die metadaten heranzukommen oder einen recovery catalog verwenden, was im bezug auf die metadaten das gleiche ist.

-j

es unterscheidet sich sehr wohl. zum einen hat das backup controlfile ein flag, was es als backup kennzeichnet, zum anderen sind die SCN marker für alle datenfiles auf 0xffffffff (unlimited) gesetzt. beim recovery wird dann das flag gelöscht und die marker auf die echten werten gesetzt.

geht nicht anders, da die information, an welcher stelle im redologstream oracle stand, verloren ist. resetlogs definiert somit einen neuen anfangspunkt.

So habe ich das bisher auch verstanden. Durch das Flag erkennt Oracle das die aktuelle SCN aus dem aktiven Redolog nicht mehr verfügbar ist und liest die jeweiligen letzten SCNs aus den Headern der Datenfiles und recovered dann bis zu einem "cancel" oder "until".

Hätte ich noch ein aktuelles intaktes controlfile könnte ich ein einfaches "recover database" machen, da Oracle noch weiss wie weit er zum kompletten recover heranfahren muss (vorrausgesetzt ich hätte noch die aktuellen Redologs). Ist das korrekt?

generell RMAN für backup/recovery verwenden. sqlplus ist veraltet und wird nicht weiterentwickelt.

-j

Das ist korrekt.. unsere Backupsoftware benutzt aber noch das "alter database backup" kommando und unser softwarelieferant gibt bisher auch nur für diese Methode Support.

Für unsere anderen Oracle Installationen haben wir RMAN im Einsatz.

Danke :)

Hätte ich noch ein aktuelles intaktes controlfile könnte ich ein einfaches "recover database" machen, da Oracle noch weiss wie weit er zum kompletten recover heranfahren muss (vorrausgesetzt ich hätte noch die aktuellen Redologs). Ist das korrekt?

ja, das ist korrekt und die übliche methode für controlfile recover.

-j

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.