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