sql >> Database teknologi >  >> RDS >> Oracle

Sådan gendannes database ved hjælp af RMAN

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

  1. 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


  1. Ret "Applikationen "SQLDeveloper.app" kan ikke åbnes.'

  2. Hvordan bruger jeg alias i where-klausulen?

  3. En simpel introduktion til brug af MySQL på Linux-terminalen

  4. Nogle ENHVER Aggregerede Transformationer er ødelagte