Puncte:0

Oracle 18c XE nu poate face backup pentru baza de date PDB după coruperea bazei de date XE principale

drapel in

Am un server Oracle 18c XE unde există o corupție în fișierul system01.dbf al bazei de date XE principale.

Toate datele utilizatorului se află într-o bază de date PDB care, din fericire, pare ok (PDB-ul funcționează acum în producție).

Problema este că nu pot face o copie de rezervă a PDB-ului cu expdp, deoarece expdp eșuează cu această eroare:

UDE-00604: operația a generat eroarea ORACLE 604
ORA-00604: eroare riscontrată în SQL ricorsivo nivel 2
ORA-01578: blocco dati ORACLE danneggiato (fișier # 1, blocco # 636)
ORA-01110: fișierul de date 1: „/opt/oracle/oradata/XE/system01.dbf”

În mod similar, nu mă pot conecta cu RMAN, din cauza aceleiași erori:

RMAN-00571: =============================================== ==============
RMAN-00569: =============== STACK DE MESAJE DE EROARE URMĂ ===============
RMAN-00571: =============================================== ==============
RMAN-00554: inițializarea pachetului managerului intern de recuperare a eșuat
RMAN-04005: eroare din baza de date țintă:
ORA-00604: eroare riscontrată în SQL ricorsivo nivel 2
ORA-01578: blocco dati ORACLE danneggiato (fișier # 1, blocco # 636)
ORA-01110: fișierul de date 1: „/opt/oracle/oradata/XE/system01.dbf”
RMAN-04015: eroare setarea caracterelor bazei de date țintă la US7ASCII

Pentru simplitate, aș dori doar să fac backup pentru PDB, apoi să șterg și să reinstalez întreaga bază de date 18c XE de la zero și apoi să refac PDB (nu este nevoie să recuperez nimic, deoarece corupția este în baza de date XE principală, în timp ce PDB-ul este ok ).

Există vreo modalitate de a face asta?

Nu am backup-uri RMAN anterioare, deoarece am făcut întotdeauna toate backup-urile cu expdp, dar backup-urile sunt vechi acum, pentru că expdp a încetat să mai lucreze acum câteva zile, când probabil că s-a produs corupția.

ACTUALIZAȚI

Până la urmă, singura soluție viabilă a fost:

  • Instalați Oracle 18c XE pe o altă mașină
  • Restaurați schema db fără rânduri pe noua mașină de pe o mașină veche expdp haldă
  • Creați o legătură de bază de date de la noua mașină la serverul original cu PDB-ul care rulează
  • manual INSERT INTO ... SELECT toate tabelele de la serverul original conectat la noua mașină
  • a face o expdp gunoi de la noua mașină
  • reinstalați Oracle pe serverul original și importați dump-ul nou creat
Gerard H. Pille avatar
drapel in
Nu te pot ajuta, fiind deconectat de Oracle, dar un sfat: nu închide baza de date de producție. Vechiul export (exp) încă funcționează sau aveți tipuri de date pe care nu le poate gestiona?
drapel in
@GerardH.Pille Mulțumesc pentru sfat, dar deja am închis și repornit vechea bază de date de mai multe ori. Încă funcționează, din fericire, probabil pentru că corupția este în db-ul principal XE și nu în PDB. Pur și simplu nu pot exporta și, de asemenea, nu pot enumera tabele PDB în sqldeveloper, dar tabelele funcționează (este un ERP și oamenii îl folosesc). Exportul vechi ar funcționa cu siguranță, sunt destul de sigur, dar deoarece este veche și baza de date de producție actuală încă funcționează și este actualizată, aș dori să aflu dacă există o modalitate mai bună de a salva baza de date curentă decât revenirea la o bază veche. backup.
Gerard H. Pille avatar
drapel in
Aș folosi vechiul program exp pentru a exporta datele curente, dacă nu există o soluție mai bună.
drapel in
@GerardH.Pille Tocmai am încercat, dar exp dă aceeași eroare ca expdp. În seara asta, voi încerca încă o recuperare a blocurilor în baza de date XE principală, după ce am făcut o copie de rezervă a întregului folder așa cum este.
Puncte:1
drapel cn

Spațiul tabel de sistem (system01.dbf) include obiecte dicționar de date care sunt partajate atât de container, cât și de bazele de date conectabile.Nu puteți face backup pentru PDB, nu ar trebui să îl puteți deschide pentru acces fără CDB-ul să ruleze. Cred că va trebui să restaurați spațiul tabel de sistem dintr-o copie de rezervă RMAN anterioară înainte de a putea face o nouă copie de rezervă a PDB-ului sau a-l deconecta.

Vezi aici pentru mai multe direcții: https://oracle-base.com/articles/12c/multitenant-rman-backup-recovery-cdb-and-pdb-12cr1#cdb-recovery

drapel in
Din păcate nu am copii de rezervă RMAN, doar expdp. Voi încerca BBED ca ultimă soluție.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.