скопировать файлы данных (со стэндбая, например)
чтобы остановить применение архивлогов: ALTER DATABASE
RECOVER MANAGED STANDBY DATABASE CANCEL
чтобы заново запустить применение архивлогов: ALTER DATABASE
RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
1. Определить новое окружение - ORACLE_SID (если нужно, еще ORACLE_BASE, ORACLE_HOME, PATH)
2. Сделать запрос на создание нового control file (на рабочем окружении): alter database backup controlfile to trace as '/dir/ctl.sql';
в sql-запросе на создание control file поменять первую строку запроса на:
CREATE CONTROLFILE SET DATABASE "NEW_SID" RESETLOGS FORCE LOGGING ARCHIVELOG
и поменять пути к файлам в запросе.
3. Создать текстовый файл параметров: create pfile='/opt/oracle10/product/rdb_07092011.ini' from memory;
в файле параметров поменять пути для нового инстанса, в первую очередь, к control files
4. запустить инстанс: startup nomount pfile='my_new_pfile';
создать новые control files: @create_controlfile.sql
восстановить базу recover database using backup controlfile;
открыть базу: alter database open resetlogs;
если вдруг база не открывается и выдается ошибка о необходимости восстановления файла базы, то можно поставить скрытый параметр:
_allow_resetlogs_corruption=TRUE После открытия базы с этим параметром рекомендуется сделать полный экспорт данных и заново создать базу. См: http://www.dbspecialists.com/files/presentations/missing_logs.html
|