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