Есть бэкап базы оракла (контрол-файлы, дата файлы и т.д.). Есть сервер с установленным ораклом, SID должен совпадать с SID'ом базы, с которой сделан бэкап.
0. Останавливаем базу данных (все действия через rman connect target /)
shutdown immediate;
Удаляем все файлы данных и логи новой базы, что бы не мешались.
startup nomount;
1. Восстанавливаем spfile.
restore spfile to '/home/oracle/spfile.last' from '/u01/db1_rman/CF_DB1_c-1328626743-20110727-00.bus';
где CF_DB1_c-1328626743-20110726-00.bus бэкап контрол-файлов (есди настроена retention policy, то это самый последний-свежий файл).
Теперь копируем восстановленный файл параметров заместо старого.
cp /home/oracle/spfile.last /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfiledb1.ora
2. Поднимаем базу в nomount режиме
shutdown immediate;
startup nomount;
(Может ругнутся на недоступность некоторых директорий - их нужно создать и выдать соответствующие права)
3. Восстанавливаем контрол-файлы.
restore controlfile from '/nfsbackup/db1_rman/CF_DB1_c-1328626743-20110726-00.bus'
4. Монтируем базу данных.
alter database mount;
5. Указываем файлы бэкапа данных базы.
Что бы бэкапы "подошли" к новой базе dbid в заголовке базы должен совпадать с текущим. Обычно после восстановления spfile, контрол-файлов и перезагрузки базы в mount, dbid должен соответствовать dbid базы с которой снят бэкап. Если это не так делаем
set dbid 1328626743
1328626743 - dbid вашей базы с которой снят бэкап (если не в курсе где его брать, то он указан в ошибках)
Далее добавляем в каталог файлы бэкапов
catalog backuppiece '/nfsbackup/db1_rman/DB1_1275980815_20110719_939_1.bus';
catalog backuppiece '/nfsbackup/db1_rman/DB1_1275980815_20110719_939_1.bus';
catalog backuppiece '/nfsbackup/db1_rman/DB1_1275980815_20110719_940_1.bus';
...
Если исользуется retention policy - то нужно указать все файлы бэкапов данных.
Либо
catalog start with '/nfsbackup/db1_rman/';
Будут каталогизированы все файлы в этой директории.
6. Восстанавливаем базу.
restore database;
7. Накатываем изменения (архивлоги).
recover database;
8. Открываем базу.
Что бы джобы не запустились сразу, можно использовать в sqlplus следующий параметр:
alter system set JOB_QUEUE_PROCESSES = 0; (Потом обязательно не забыть его поменять!)
alter database open resetlogs;
Комментариев нет:
Отправить комментарий