Архив на месяц Ноябрь, 2008

Перенос файлов базы данных

Опубликовано: Ноябрь 24, 2008, категория: администрирование.

Как вы знаете существует несколько типов файлов базы данных:

Контрольные файлы

Файлы базы  данных

Редологи

Перенос будем выполнять на остановленой базе.

Для переноса выполняем:

1. Останавливаем БД.

1.5 Разносим файлы по нужным местам, при этом фиксируя у себя где они были и куда их переместили.

2. Подключаемся как sysdba: sqlplus /as sysdba

3. Коннектимся : connect /as sysdba;

4. Поднимаем базу в режиме монтирования:

5. startup mount;

6. Выполняем переименовывание файлов табличных пространств в БД:

alter databse rename file ‘ПОЛНОЕ_ИМЯ_ФАЙЛА_ДО_ПЕРЕМЕЩНИЯ’ to ‘ПОЛНОЕ_ИМЯ_ФАЙЛА_ПОСЛЕ_ПЕРЕМЕЩЕНИЯ’;

Выполняем команду для всех файлов базы данных, кроме файлов временных табличных пространств, контрольных файлов (control files).

7. Для перемещения файлов временного табличного пространства нужно его сначало удалить

alter database tempfile ‘/opt/app/oracle/oradata/MYDB/temp01.dbf’ drop;

а потом создать в нужном месте:

ALTER TABLESPACE TEMP ADD TEMPFILE ‘/opt/app/oracle/oradata/MYDB/temp/temp01.dbf’;

Перенос файлов временного табличного пространства остуществляется в онлайн, то есть на открытой базе. Для открытия базы (если вы в режиме mount) наберите alter database open;

8. Для переноса контрольных файлов делаем немного по другому.

Расположение контрольных файлов прописывается в файле инициализации.

Если у Вас используется pfile, то останавливаем базу, переносим контрольные файлы, меняем их путь  в файле инициализации и запускаем базу.

Если же у Вас используется spfile, но Вам сначала на рабочей базе нужно выполнить команду create pfile from spfile; Эта команда создает текстовый файл pfile из бинарного вида spfile.

Далее редактируем пути к контрольным файлам.  Я делаю просто, переименовываю старый spfile, на всякий случай. ЗАпускаю БД. Если база работает с spfile-ом , но не находит его, то она ищет pfile (как раз наш новый, который мы только что отредактировали) и запускается с ним. После запуска БД, делаем обратную конвертацию create spfile from pfile;

Ну вот вроде и все.