Перенос DATAFILE на STANDBY

err404
Дата: 03.10.2004 11:30:19
Hi!

Тема следующая:
Необходимо перенести датафайл на primary сервере в другое место размещения. Ну там все понятно тейблспейс в офлайн, копируем файл и alter-om объясняем БД где теперь лежит данный датафайл.

НО:
Имеется Standby сервер, который по структуре размещения датафайлов полностью повторяет структуру Primary.

Вопрос: Как отреагирует standby на такую операцию с primary DB (перемещение датафайла в другое мето)? Что необходимо сделать со STANDBY, чтобы также перенести этот же датафайл в то же место размещения?
WA
Дата: 03.10.2004 12:26:22
если девятка то
standby_file_management поставь в авто и будет щастье, иначе копировать руками.
Ааз
Дата: 03.10.2004 16:23:06
Привет
err404

Вопрос: Как отреагирует standby на такую операцию с primary DB (перемещение датафайла в другое мето)? Что необходимо сделать со STANDBY, чтобы также перенести этот же датафайл в то же место размещения?
Ответ: когда при накате логов на standby встретится изменение к этому файлу данных, или попытке выполнить checkpoint (всегда выполняется после завершения наката очередного arch log'а) будет выдано сообщение об ошибке - номер не помню, что-то вроде того, что файл не доступен.

Переносим имеющийся файл в новое место командой ОС (mv на юниксе), далее ALTER DATABASE RENAME FILE '<старое имя, получить его из SELECT NAME FROM V$DATAFILE>' TO '<новое имя>'.

Что касается рекомендации от WA, то она касается добавлений и удалений файлов (но не перемещений). Т.е. в более ранних версиях при добавлении файла на PRIMARY, на STANDBY необходимо было либо скопировать backup'ный новый файл с primary, либо выполнить волшебную команду ALTER DATABASE CREATE DATAFILE 'MISSINGnnnn' AS '<имя файла на STANDBY>';

Всего
err404
Дата: 03.10.2004 20:44:42
База 8i.
Этой командой:

ALTER DATABASE CREATE DATAFILE 'MISSINGnnnn' AS '<имя файла на STANDBY>';

я создаю датафайл на STANDBY после его создания на PRIMARY.
Естественно после того, когда накат соответствующего лога вывалится на STANDBY.

В силу того, что Оракл старый, автоменеджемента нет.

т.е. я правильно понял, что реально я должен сделать
ALTER DATABASE RENAME FILE '<старое имя, получить его из SELECT NAME FROM V$DATAFILE>' TO '<новое имя>'.

или это тлоько в 9-ке?
WA
Дата: 03.10.2004 22:25:25
Ааз
Привет

Что касается рекомендации от WA, то она касается добавлений и удалений файлов (но не перемещений).


Посыпаю голову пеплом, фигню сморозил!

ЗЫ: а все водка с пивом :(
Вячеслав Любомудров
Дата: 04.10.2004 02:39:20
Самое простое - отключить автоманагемент(если есть), переместить файл в OS, выполнить alter database rename file ... to ..., и включить автоманагемент взад
Ааз
Дата: 04.10.2004 16:06:18
WA
[quot Ааз]Посыпаю голову пеплом...
Побереги пепел ;-). Я, например, про это параметр не знал. Так что спасибо за наводовку. А то так и добавлял бы файлы вручную.

Всего.
Ааз
Дата: 04.10.2004 16:10:32
Привет
err404
т.е. я правильно понял, что реально я должен сделать
ALTER DATABASE RENAME FILE '<старое имя, получить его из SELECT NAME FROM V$DATAFILE>' TO '<новое имя>'.

или это тлоько в 9-ке?
Это еще с Oracle7 работает.

Вот тока файл тебе вручную перемещать придется, как правильно отметил Вячеслав Любомудров. Сама команда ALTER DATABASE RENAME только исправляет ссылочку в упр.файле, а файлы никуда не перемещает.

Там еще одна заморочка может быть, если используется db_file_name_convert. Но тебя, это, вроде, не касается, т.к. структура каталогов одинаковая.