Восстановить standby при наличии одинаковых instance на primary и reserve

rdzviper
Дата: 23.03.2011 17:20:55
Добрый день!

Ситуация следующая. Был основной сервер с базой Oracle10 и резервный с базой Oracle10sb. Так же на резервном была база ORCL.

В один момент стендбай упал, основная база упала, ее из бекапа по некоторым причинам восстановили в базу ORCL на основном. После этого настроить стендбай не получилось.

Я сейчас восстанавливаю стендбай, и, как понимаю, дело в одинаковых инстансах основного и резервного сервера. Сделал следующее:

На горячую после alter tablespace begin backup перенес датафайлы, сделал для резервного сервера контролфайл alter database create standby controlfile. В pfile на обоих серверах казалось бы все правильно.

При старте резервного в алертлоге
ORA-1103 signalled during: alter database mount exclusive...
Пытаюсь стартовать базу с пфайла - пишет
ORA-01103: database name 'ORCL' in controlfile is not 'ORCALE10'


Какие должны быть мои последующие действия? Я думаю переименовать базу на основном в Oracle10 или попросить убрать базу ORCL с резервного.

Спасибо
XCB
Дата: 23.03.2011 17:33:54
почитать про параметры db_name и db_unique_name?
rdzviper
Дата: 23.03.2011 17:49:03
праймари
*.db_name='ORCL'
*.DB_UNIQUE_NAME='ORCL'

стендбай
*.DB_NAME='oracle10' (тут согласен, проглядел)
*.DB_UNIQUE_NAME='oracle10sb'

что же получается? oracle10 в ORCL я переименовать не могу, потому что совпадает с уже существующей базой?
XCB
Дата: 23.03.2011 18:08:50
ну если просто, то примерно так:
db_name должен быть одинаков, это имя базы прописанное в заголовках всех файлов
db_unique_name это имя службы (ORACLE_SID) оно уникально для каждого инстанса в ORACLE_HOME
еще на service_names обратите внимание чтоб примари находила стенбай
rdzviper
Дата: 04.05.2011 16:23:11
Переименовал праймари (заодно экспы получил :) ), настроил из него стендбай, сначала ругался что основной Оракл не пускает в резервный, выверил pfile`ы, пересоздал pwd, заработало. На резервный логи передаются, накатываются.
Но в логе на основном
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[103]: Assigned to RFS process 3972
RFS[103]: Database mount ID mismatch [0x93f32c8b:0x93f2444d]
RFS[103]: Client instance is standby database instead of primary
RFS[103]: Not using real application clusters
Wed May 04 16:17:54 2011
Errors in file e:\oracle\product\10.2.0\admin\orcl\udump\oracle10_rfs_3972.trc:
ORA-16009: местом назначения удаленного архивного журнала должна быть база данных STANDBY

В логе на резервном
Wed May 04 16:16:54 2011
PING[ARC1]: Heartbeat failed to connect to standby 'oracle10'. Error is 16009.
Wed May 04 16:17:54 2011
Errors in file e:\oracle\product\10.2.0\admin\oracle10sb\bdump\oracle10sb_arc1_8120.trc:
ORA-16009: remote archive log destination must be a STANDBY database


Что неправильно сделал? Я так понимаю неправильные настройки, но везде работает именно так.
log_archive_dest_1 LOCATION=E:\oracle\product\10.2.0\oradata\ORCL\arch\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=Oracle10

На резервном это соответственно log_archive_dest_2


Спасибо
rdzviper
Дата: 05.05.2011 12:35:52
Отвечу сам
On Standby check log_archive_dest_state_2 parameter.Is it set to enable or defer. If set to enable, change it to defer.
Ституации, когда резерв будет передавать на праймари, не планируется.