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] Controlfile im laufenden Betrieb recovern?

Empfohlene Antworten

Hallo,

eine kurze und einfache Frage:

Ist es möglich ein gelöschtes Controlfile im laufenden Betrieb zu recovern? Soll heissen..

Ich habe eine DB die 3 Controlfiles hat (an verschiedene Filesystemlocations).

Ein Admin löscht aus Versehen eines dieser drei. Kann ich das eine im laufenden Betrieb wieder herstellen bzw. erzeugen?

Bzw. wie recovered ihr ein einzelnes Controlfile, dass im laufenden Betrieb verloren gegangen ist?

Danke :)

DB System ist: Oracle 9i bzw. 10g

habe das so zumindest für 9.2 so in erinnerung:

-> shutdown abort

-> intaktes controlfile an die stelle des verlorenen kopieren

-> instanz mit startup neu hochfahren

s'Amstel

habe das so zumindest für 9.2 so in erinnerung:

-> shutdown abort

-> intaktes controlfile an die stelle des verlorenen kopieren

-> instanz mit startup neu hochfahren

s'Amstel

Hi,

ja so klappts, aber das ist eine *piep* Lösung :cool:

Ein leeres File bringts auch nicht, da sich Oracle den Filehandler gemerkt hat...

Gibts da keinen SQL Plus Befehl das ich Oracle sagen kann, lege das File neu aus den beiden anderen an....

Danke schonma

Ein leeres File bringts auch nicht, da sich Oracle den Filehandler gemerkt hat...

das verstehe ich nicht. welches controlfile ist denn leer, ich dachte das wurde gelöscht? meinst du, dass die datei von DB oder OS gelockt wurde und nicht mehr überschrieben werden kann? während die instanz runtergefahren ist, kann man die auch woanders neu hinkopieren und den neuen pfad dazu der INIT.ora bzw. im SPFILE hinterlegen.

Gibts da keinen SQL Plus Befehl das ich Oracle sagen kann, lege das File neu aus den beiden anderen an....

kenne ich nur in zusammenhang mit RMAN, dort als controlfile autobackup.

lasse mich aber jederzeit eines besseren belehren.

s'Amstel

das verstehe ich nicht. welches controlfile ist denn leer, ich dachte das wurde gelöscht? meinst du, dass die datei von DB oder OS gelockt wurde und nicht mehr überschrieben werden kann?

s'Amstel

naja nehmen wir an, ich habe 3 controlfiles in folgenden pfaden:

1) /oracle/cntl/1cntrl.dbf

2) /oradata/cntl/2ctnrl.dbf

3) /oraarch/cntl/3ctnrl.dbf

Nun läuft oracle ganz normal und hat alle files im zugriff. Der unvorsichtige admin löscht mit einem "rm -f /oracle/cntl/1cntrl.dbf" das controlfile.

Was ich meinte ist das oracle die datei ja eigentlich noch offen hält (bzw. denkt sie existiert noch) und daraus einen filehandle auf die datei hat (bzw. auf die i-node, die es aber dank des "rm -f" nicht mehr gibt).

manche anwendungen können das file wieder neu aufbauen wenn ich nun einen "touch /oracle/cntl/1cntrl.dbf" machen würde. dies kann oracle aber nicht (schon ausprobiert). Das File bleibt leer und wird nicht mehr angefasst.

hmm so weit wie ich das mit rman (= Controlfile Autobackup) verstanden habe, kann ich ja nur das controlfile das im backup liegt wieder herstellen, aber nicht im laufenden betrieb das dritte gelöschte controlfile aus den anderen beiden wieder herstellen? oder irre ich mich?

Danke :)

Ein Admin löscht aus Versehen eines dieser drei. Kann ich das eine im laufenden Betrieb wieder herstellen bzw. erzeugen?

nein.

Bzw. wie recovered ihr ein einzelnes Controlfile, dass im laufenden Betrieb verloren gegangen ist?

datenbank runterfahren, intakte kopie kopieren , datenbank hochfahren.

gibt keine andere möglichkeit.

-j

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

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.