Gendan database er en vigtig del af Oracle-databaseadministration. Her i dette indlæg vil jeg forsøge at dække scenarier om, hvordan man gendanner database ved hjælp af RMAN
Case 1:Tab af en datafil
Vi får ofte det scenarie, hvor vi mistede datafilen på grund af harddisknedbrud, og vi kommer til at gendanne datafilen for at rette tingene.
Her i dette indlæg vil jeg forklare at udføre det
Lad os tage et eksempel for at forklare det
Vi har en tabel emp_master i databasen
- Tæl rækkerne
SQL> SELECT COUNT(*) FROM emp_master; -- 100 rows
2) Fjern datafilen fra filsystemet
3) Prøv at tage optællingen igen
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) For at foretage gendannelsen skal du gøre datafilen offline og derefter gendanne den og gendan og igen gøre den 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;
Case 2:Tab af et tablespace
Igen hvis vi har mistet hele TOOLS tablespace, så ville RMAN-sætningen være anderledes
run {
allocate channel t1 type 'SBT_TAPE'
sql 'alter tablespace TOOLS offline';
restore tablespace TOOLS;
recover tablespace TOOLS;
sql 'alter tablespace TOOLS online';
}
Tilfælde 3:Tab af al datafil undtagen kontrolfil og logfiler igen
run {
startup mount
allocate channel t1 type 'SBT_TAPE'
restore database;
recover database;
sql 'alter database open';
}
Relaterede artikler
Sådan opretter du et RMAN-gendannelseskatalog og registrerer databasen i kataloget
RMAN Backup kommandoer
RMAN Liste backup-kommandoer
Oracle Recovery Manager :RMAN snydeark