Възстановяването на база данни е важна част от администрирането на базата данни на 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