Възстановяването на база данни е важна част от администрирането на базата данни на Oracle. Тук в тази публикация ще се опитам да покрия сценариите за Как да възстановим база данни с помощта на RMAN
Случай 1:Загуба на файл с данни
Често получаваме сценарий, при който загубихме файла с данни поради срив на твърдия диск и успяваме да възстановим файла с данни, за да коригираме нещата.
Тук, в тази публикация, бих обяснил да изпълня това
Нека вземем пример, за да го обясним
Имаме таблица emp_master в базата данни
- Пребройте редовете
SQL> SELECT COUNT(*) FROM emp_master; -- 100 rows
2) Премахнете файла с данни от файловата система
3) Опитайте отново да преброите
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) За да извършите възстановяването, направете файла с данни офлайн и след това го възстановете и възстановите и отново го направете онлайн
$ 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;
Случай 2:Загуба на пространство за таблица
Отново, ако сме загубили цялото пространство за таблица TOOLS, тогава изразът RMAN ще бъде различен
run { allocate channel t1 type 'SBT_TAPE' sql 'alter tablespace TOOLS offline'; restore tablespace TOOLS; recover tablespace TOOLS; sql 'alter tablespace TOOLS online'; }
Случай 3:Загуба на целия файл с данни, с изключение на контролния файл и регистрационните файлове за повторно изпълнение
run { startup mount allocate channel t1 type 'SBT_TAPE' restore database; recover database; sql 'alter database open'; }
Сродни статии
Как да създадете каталог за възстановяване на RMAN и да регистрирате база данни в каталог
Команди за архивиране на RMAN
RMAN Избройте команди за архивиране
Oracle Recovery Manager:RMAN cheatsheet