Il ripristino del database è una parte importante dell'amministrazione del database Oracle. Qui in questo post, cercherò di coprire gli scenari su Come recuperare il database usando RMAN
Caso 1:perdita di un file di dati
Spesso abbiamo lo scenario in cui abbiamo perso il file di dati a causa di un arresto anomalo del disco rigido e possiamo ripristinare il file di dati per correggere le cose.
Qui in questo post, spiegherei di farlo
Facciamo un esempio per spiegarlo
Abbiamo una tabella emp_master nel database
- Conta le righe
SQL> SELECT COUNT(*) FROM emp_master; -- 100 rows
2) Rimuovere il file di dati dal filesystem
3) Prova a riprendere il conteggio
SELECT COUNT(*) FROM emp_master; SELECT COUNT(*) FROM emp_master; SELECT COUNT(*) FROM emp_master * ERROR at line 1: ORA-01116: error in opening database file 50 ORA-01110: data file 50: '/oradata/TEST/test_tools1.dbf' ORA-27041: unable to open file
4) Per effettuare il ripristino, rendi il file di dati offline, quindi ripristinalo e ripristinalo nuovamente e rendilo online
$ run { allocate channel t1 type 'SBT_TAPE' sql 'alter database datafile 50 offline'; restore datafile 50; recover datafile 50; sql 'alter database datafile 50 online'; } SQL> SELECT COUNT(*) FROM emp_master;
Caso 2:perdita di uno spazio tabella
Anche se abbiamo perso l'intero tablespace TOOLS, l'istruzione RMAN sarebbe diversa
run { allocate channel t1 type 'SBT_TAPE' sql 'alter tablespace TOOLS offline'; restore tablespace TOOLS; recover tablespace TOOLS; sql 'alter tablespace TOOLS online'; }
Caso 3:perdita di tutto il file di dati tranne il file di controllo e i log di ripristino
run { startup mount allocate channel t1 type 'SBT_TAPE' restore database; recover database; sql 'alter database open'; }
Articoli correlati
Come creare un catalogo di ripristino RMAN e registrare il database nel catalogo
Comandi di backup RMAN
RMAN Elenca i comandi di backup
Oracle Recovery Manager:cheatsheet RMAN