Перенос и переименование контрольных файлов и файлов логов в Oracle

Подключаемся к базе через Sqlplus командной строки или через SQL*plus Worksheet  консоли Oracle Enterprise Manager Console.

1. Контрольные файлы *.ctl

Просмотрим информацию о контрольных файлах

SHOW PARAMETER control_files

 

Посмотрим, какой файл используется для запуска базы (pfile или spfile), ведь именно в нем надо будет менять пути к контрольным файлам. Используем следующую команду:

SELECT DECODE(value, NULL, ‘PFILE’, ‘SPFILE’) «Init File Type» FROM sys.v_$parameter WHERE name = ‘spfile’

 

В случае использования pfile все делается ручками , т.к. это текстовый файл. Spfile -же бинарный, поэтому его нельзя редактировать в блокноте. В случае использования Spfile для запуска базы поступаем следующим образом:

 

  • изменим параметр control_files в sqlplus через команду ALTER SYSTEM SET control_files=’Путь\control01.ctl’,’Путь\control02.ctl’,’Путь\control03.ctl’ SCOPE=SPFILE;
  •  останавливаем базу;
  • копируем/переименовываем ctl файл средствами windows в соответствии со значениями в параметре control_files;
  • стартуем базу.

Проверяем, что  изменения применились:

SHOW PARAMETER control_files

2. Файлы логов

Для чего нужны файлы логов и какие они бывают хорошо написано вот здесь http://www.sql.ru/forum/183603-2/zachem-nuzhen-redo-log

Информацию по расположению файлов логов смотрим командой

SELECT * FROM V$LOGFILE;

Для переименования/переноса файлов логов делаем следующее:

  • останавливаем базу;
  • копируем/переименовываем лог файлы средствами windows;
  • запускаем базу в режиме mount;
  • выполняем команду ALTER DATABASE rename file ‘СтарыйПуть\redo1.log’ to ‘НовыйПуть\redo1.log’
  • открываем базу ALTER DATABASE OPEN.

Проверим, что все выполнили корректно

SELECT * FROM V$LOGFILE;