Standby на одной машине

AnDrU83
Дата: 07.12.2007 13:48:50
Доброго времени суток всем!
Сталкнулся с проблемками при осуществлении этого механизма.Порядок действия таков (если что то делаю нетак поправте):
Ос Windows, Oracle 9i
Оснавная база работает в режиме archive log mode;
Основная база называется Temp а SB - резервная
Подготавлваю структуру катологов для Standby базы, останавливаю основную, копирую файлы из основной в резервную.
Исправляю init.ora основной базы таким образом:
*******начало**************************
оставляю без изменения все и дописываю такие строки
log_archive_start = true
log_archive_dest_1 = "location=Путь где лежат архивлоги основной базы"
log_archive_format = temp%s.arc
log_archive_dest_state_1 = enable
log_archive_dest_2 ="service=sb"
log_archive_dest_state_2 = enable
log_archive_min_succeed_dest = 1
fal_client = "sb"
*******конец*******************************
Правлю init.ora резервной базы

*******начало**************************
оставляю без изменения
db_name=Temp
изменяю и дописываю
background_dump_dest=x:\oracle\admin\SB\bdump
core_dump_dest=x:\oracle\admin\SB\cdump
timed_statistics=TRUE
user_dump_dest=x:\oracle\admin\SB\udump
control_files=("x:\oracle\oradata\SB\CONTROL01.CTL", "x:\oracle\oradata\SB\CONTROL02.CTL", "x:\oracle\oradata\SB\CONTROL03.CTL")
instance_name=SB
dispatchers="(PROTOCOL=TCP) (SERVICE=SBXDB)"

#Изменения косаемо резерва

log_archive_format = teachers%s.arc
db_file_name_convert = "x:\oracle\ORADATA\Temp", "x:\oracle\oradata\SB"
log_file_name_convert = "x:\oracle\ORADATA\Temp", "x:\oracle\ORADATA\SB"
standby_archive_dest = "x:\oracle\ora92\rdbms\archive_Temp"
log_archive_dest = "x:\oracle\ora92\rdbms\archive_SB"
log_archive_dest_state_1=enable
lock_name_space = sb
fal_server = "Temp"
log_archive_start=true

*******конец*******************************
Поднимаю основную базу и создаю контрольный файл для резервной
ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'x:\oracle\oradata\sb\control01.ctl';
ALTER SYSTEM ARCHIVE LOG CURRENT;
SHUTDOWN

в listener.ora и tnsnames.ora подправил. Пинганул все успешно.
Оживляю резервную БД и Пытаюсь запустить ее
Создаю файл пароля для sb:
orapwd file=PWDsb.ora password=***
службу ОС для sb:
oradim -new -sid SB -pfile x:\oracle\admin\SB\pfile\init.ora -intpwd sys\internal -startmode auto
sqlplus /nolog
CONNECT sys@sb /*** AS SYSDBA
STARTUP MOUNT PFILE=x:\oracle\admin\SB\pfile\init.ora
после чего мне выдает ORA-01666: controlfile is for a standby database
Вопрос! Что я сделал не так и что нужно сделать чтобы заработало? Возможно подскажете поподробнее как работает технология Standby
Мною было просмотрено информация
http://www.interface.ru/home.asp?artId=300
http://oracloid.ru/index.php?t=692
http://www.compdoc.ru/bd/oracle/restore_table_data/
и т.п.
fortnet
Дата: 07.12.2007 14:11:30
SQL> STARTUP NOMOUNT PFILE=x:\oracle\admin\SB\pfile\init.ora
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
AnDrU83
Дата: 07.12.2007 14:18:08
fortnet
SQL> STARTUP NOMOUNT PFILE=x:\oracle\admin\SB\pfile\init.ora
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

запустилась в режиме nomount и потом выдала
ORA-01665: controlfile is not a standby controlfile - что в принципе и впрошлый раз, ненравится ей контрл файл
временный
Дата: 07.12.2007 14:36:25
На primary серевере дать команду
alter database create standby controlfile as '/home/oracle/control.stb'

Потом взять созданный control файл и перенести на standby в соответствующие каталоги.
nord_tramper
Дата: 07.12.2007 14:40:18
Когда делал себе стендбай то вначале делал контролы для стендбая, потом стопил основную базу и делал ее холодную копию в стендбай. подкладывал туда созданные контролы(их у вас три - так что то один, созданный вами командой ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'x:\oracle\oradata\sb\control01.ctl'; надо скопировать в 02 и 03) и все поднималось без проблем
AnDrU83
Дата: 12.12.2007 09:44:50
Всячески пробую поднять копию базы на одной машине и выдает мне ошибку
ORA-00205: error in identifying controlfile, check alert log for more info
Поясните как сдделать STANDBY на одной машине?
ы!
Дата: 12.12.2007 10:04:04
AnDrU83
Всячески пробую поднять копию базы на одной машине и выдает мне ошибку
ORA-00205: error in identifying controlfile, check alert log for more info

Ну и чего в alert.log?-)
Тебе уже все написали, осталось аккуратно это все проделать.
На основной делаешь standby control file
Кладешь его во все пути, которые есть в init файле для резервной.
startup nomount pfile=
alter database mount standby database
AnDrU83
Дата: 12.12.2007 12:29:02
Никак непойму в чем дело(
Вот все логи.
fortnet
Дата: 12.12.2007 12:47:00
Похоже вы пытаетесь обе БД открыть как standby.
Для того что-бы создать controlfile для standby БД не надо пытаться открывать primary БД в режиме standby.
Достаточно на основной БД в режиме ее обычной работы дать команду :
alter database create standby controlfile as ...
(см. посты выше),

забрать файл для standby - размножить его и открывать standby БД.

Полный компот ...
Alex Roudnev
Дата: 12.12.2007 23:27:18
fortnet
Похоже вы пытаетесь обе БД открыть как standby.
Для того что-бы создать controlfile для standby БД не надо пытаться открывать primary БД в режиме standby.
Достаточно на основной БД в режиме ее обычной работы дать команду :
alter database create standby controlfile as ...
(см. посты выше),

забрать файл для standby - размножить его и открывать standby БД.

Полный компот ...


Или уж пользуйтесь Data Guard-ом или OEM-ом а не ручными командами...