Страница 5 из 6 Восстановление данных - | Для восстановления данных целевая БД должна находиться в состоянии NOMOUNT/ MOUNT/ OPEN в зависимости от характера восстановления, например | - | NOMOUNT: для восстановления контрольных файлов БД (фактически - СУБД) | - | MOUNT: для восстановления БД целиком или табличного пространства SYSTEM | - | OPEN: для восстановление табличных пространств, помимо SYSTEM (в этом случае перед процедурой восстановления само табличное пространство потребуется перевести в состояние OFFLINE). | - | Восстановление файлов (с данными и служебных) выполняется в RMAN командой RESTORE. | - | Восстановление данных выполняется либо в RMAN, либо в SQL*Plus командами RECOVER при условии наличия восстановленных файлов. | Восстановление до момента сбоя (<последнего момента>)
Некоторые примеры восстановления: RMAN> RECOVER DATABASE; RMAN> RECOVER TABLESPACE users; RMAN> RECOVER DATAFILE 'd:\oracle\oradata\teacher\users01.dbf'; RMAN> RESTORE CONTROLFILE; RMAN> RUN { 2> SET ARCHIVELOG DESTINATION TO 'd:\oracle\oradata\archive'; 3> RESTORE ARCHIVELOG ALL; } Восстановление пространств, закрытых на запись: RMAN> SQL "ALTER TABLESPACE lookup_data OFFLINE"; RMAN> RECOVER TABLESPACE lookup_data; RMAN> SQL "ALTER TABLESPACE lookup_data ONLINE"; Восстановление до указанного момента в прошлом
БД, работающую в режиме архивирования журнала, можно восстанавливать до определенного указанного момента с помощью фраз UNTIL {TIME : | SCN : | SEQUENCE : THREAD:}. Пример: RMAN> RESTORE DATABASE; # восстановили файлы RMAN> RECOVER DATABASE UNTIL SCN 375831; # восстановили БД RMAN> ALTER DATABASE OPEN RESETLOGS; # сбросили журнал Восстановление БД (вторая и третья строчки выше) можно выполнить и в SQL*Plus: SQL > RECOVER DATABASE UNTIL CANCEL; SQL> ALTER DATABASE OPEN RESETLOGS; При таком восстановлении необходимо сбросить онлайновый журнал. После этого, как и при традиционном восстановлении со сбросом журналов (RESETLOGS), необходимо снять полную копию БД, так как с этого момента восстановление с более ранних резервных копий станет невозможным из-за того, что история журнальных записей прерывается. |