понедельник, 29 июля 2013 г.

Восстановление из определенного бэкапа, rman и netbackup

Задача: восстановиться из прошлой копии на другом хосте.



определяем бэкапсеты

Смотрим на рабочей системе
1. rman> list backup of controlfile; - определяем бэкапы контролфайлов
2. rman> list backup;  определяем полный бэкап с которого будем восстанавливаться
Смотрим у них параметры

автобэкап контролфайла

        Tag: TAG20130729T040445
        Handle: c-502968728-20130728-00
полный бэкап

        Tag: BACKUP_FULL_072913020004
        Handle: a3ofrado_1_1


Либо смотрим через netbackup

/usr/openv/netbackup/bin/bplist  -S <server> -C <client_host> -t 4 -l -R /
-rw-rw---- oracle    oinstall    25222656K Jul 28 02:00 /a3ofrado_1_1
-rw-rw---- oracle    oinstall     21233664 Jul 27 04:06 /c-502968728-20130728-00

выставляем разрешения в нетбэкапе (подробное описание)

1. Создаем на сервере нетбэкапа <Install path>\NetBackup\db\altnames.
2. Для разрешения просмотра и восстановления файлов всех клиентов на любых клиентских хостах - создаем файл "No.Restrictions".
3. Для предоставления права  одному клиенту восстанавливать файлы другого клиента - создаем файл с именем того клиента. где хотим восстановить файлы, а внутри этого файла прописываем имя клиента, чьи файлы мы хотим восстановить.  Пример. 
echo srcclient > altclient
Если этого не сделать, скорее всего получим ошибку 
Error - client is not validated to perform the requested operation

Проверка разрешений: на новом хосте запустить /usr/openv/netbackup/bin/bplist  -S <server> -C <client_host> -t 4 -l -R /
где client_host - имя хоста, с которой делался бэкап

восстановление базы

1) делаем копию с спфайла текущей базы 
CREATE PFILE='/tmp/init.ora' FROM SPFILE;

либо восстанавливаем spfile с автобэкапа (тот же. где и контролфайл)
rman> RUN {
ALLOCATE CHANNEL T1 DEVICE TYPE 'SBT_TAPE' PARMS  'ENV=(NB_ORA_CLIEN=srcclient,NB_ORA_POLICY=SRCPOLICY,NB_ORA_SERV=nbserv)';
restore spfile to '/tmp/spfile.ora' from 'c-502968728-20130728-00';
}

размещаем initfile
задаем ORACLE_SID
sqlplus> startup nomount

2) Восстанавливаем контролфайлы
rman> RUN {
ALLOCATE CHANNEL T1 DEVICE TYPE 'SBT_TAPE' PARMS  'ENV=(NB_ORA_CLIEN=srcclient,NB_ORA_POLICY=SRCPOLICY,NB_ORA_SERV=nbserv)';
restore controlfile from 'c-502968728-20130728-00';
}

3) Монтируем базу данных
alter database mount;

4)  Восстанавливаем базу
rman> restore database from tag 'BACKUP_FULL_072913020004';

5) Открываем со сбросом логов
open database resetlogs;


Комментариев нет:

Отправить комментарий