Мультиплексирование управляющих файлов
Следует сохранять копии управляющих файлов на разных дисках для минимизации риска утраты этих важных физических дисковых ресурсов. Oracle рекомендует перенести эти управляющие файлы на разные дисковые ресурсы и задать параметр CONTROL_FILES, чтобы Oracle знала, что существует несколько копий управляющего файла, которые требуется сопровождать. Это называется мультиплексированием (multiplexing) или зеркальным отображением (mirroring) управляющего файла. Мультиплексирование управляющего файла снижает зависимость Oracle от доступности какого-либо из дисков на хост-машине. В случае сбоя базу данных легче восстановить, так как поддерживалось несколько копий управляющего файла. Ни в коем случае не следует использовать для базы данных Oracle только один управляющий файл, поскольку в случае его утраты трудно восстановить базу данных.
Мультиплексирование управляющих файлов
Код:
alter system
set control_files = '/u01/oracle/wnse2/ctriwhsel.ctl',
'/u01/oracle/wnse2/ctrlwhse2.ctl',
'/u03/oracle/whse2/ctrlwhse3.ctl',
scope = spfile;
-- команда вносит изменения в spfile, для применения обновлений, требуется перезапуск БД
- Остановите базу данных.
- Скопируйти управляющие файлы.
- Перезапустите базу данных
================================================== ===========
Windows
*.bat
Код:
spool on;
shutdown immediate;
startup nomount;
alter system set control_files = 'C:\ORACLEXE\ORADATA\XE\CONTROL.dbf', 'd:\backup\cf\control.dbf' scope=spfile;
host "xcopy C:\ORACLEXE\ORADATA\XE\CONTROL.dbf d:\backup\cf\";
startup;
select name from v$controlfile;
exit
Вместо C:\ORACLEXE\ORADATA\XE\CONTROL.dbf необходимо указать текущий control file
Вместо d:\backup\cf\control.dbf указать где будет храниться резервный control file.
----------------------------------
Linux/Unix
Код:
SQL> ALTER SYSTEM SET contol_files = $HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl SCOPE=SPFILE;
SQL> shutdown
$ cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctl
SQL> startup