Архив на месяц Ноябрь, 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;
Ну вот вроде и все.