Проблема при коннекте к Primary Database

AlexTi
Дата: 05.12.2007 09:10:56
Добрый день, Уважаемые!
Есть Physical Standby DB и соответственно Primary DB версии:

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
PL/SQL Release 9.2.0.7.0 - Production
CORE    9.2.0.7.0       Production
TNS for Linux: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production

Обе находятся на одном хосте Red Hat EL AS 4.0
Передача логов на стендбай, накатка логов, переключение Switchover туда-сюда - все это проходит на УРА. Но вот проблема в следующем. Стоит мне только смонтировать
Standby (Alter database mount standby database) как появляется трабла с подключением к Primary DB:

SQL> conn user/user@tstdb
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress

Причем эта ошибка ORA-01033 может вылезти, а может и нет. Т.е. я 10 раз могу законнектиться нормально, а на 11-ый вылезет вот эта ошибка. Причем это начинается, как я уже говорил,
только после того как я смонтирую Standby.
Уважаемые, подскажите пожалуйста, в чем может быть проблема?

P.S. Для полноты картины прикладываю содержимое spfile'ов обеих БД
Primary DB
*.background_dump_dest='/app/oracle/admin/tstdb/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/u01/oracle/tstdb/control01.ctl','/u02/oracle/tstdb/control02.ctl','/u03/oracle/tstdb/control03.ctl'
*.core_dump_dest='/app/oracle/admin/tstdb/cdump'
*.db_block_size=4096
*.db_cache_size=33554432
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_file_name_convert='/u01/oracle/tstdb/standby/','/u01/oracle/tstdb/','/u02/oracle/tstdb/standby/','/u02/oracle/tstdb/','/u03/oracle/tstdb/standby/','/u03/oracle/tstdb/','/u04/oracle/tstdb/standby/','/u04/oracle/tstdb/'
*.db_name='tstdb'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tstdbXDB)'
*.fal_client='tstdbstb'
*.fal_server='tstdb'
*.fast_start_mttr_target=300
*.hash_join_enabled=FALSE
*.instance_name='tstdb'
*.java_pool_size=83886080
*.job_queue_processes=10
*.large_pool_size=16777216
*.lock_name_space='tstdb'
*.log_archive_dest_1='LOCATION=/app/oracle/oradata/tstdb/archive'
*.log_archive_dest_2='SERVICE=tstdbstb LGWR'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s.dbf'
*.log_archive_start=true
*.log_file_name_convert='/app/oracle/oradata/tstdb/standby/archive/','/app/oracle/oradata/tstdb/archive/'
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_archive_enable='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=524288
*.standby_archive_dest='/app/oracle/oradata/tstdb/archive'
*.standby_file_management='AUTO'
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=900
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/app/oracle/admin/tstdb/udump'

Standby DB
*.background_dump_dest='/app/oracle/admin/tstdb/standby/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/u01/oracle/tstdb/standby/tstdbstb1.ctl','/u02/oracle/tstdb/standby/tstdbstb2.ctl'
*.core_dump_dest='/app/oracle/admin/tstdb/standby/cdump'
*.db_block_size=4096
*.db_cache_size=33554432
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_file_name_convert='/u01/oracle/tstdb/','/u01/oracle/tstdb/standby/','/u02/oracle/tstdb/','/u02/oracle/tstdb/standby/','/u03/oracle/tstdb/','/u03/oracle/tstdb/standby/','/u04/oracle/tstdb/','/u04/oracle/tstdb/standby/'
*.db_name='tstdb'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tstdbXDB)'
*.fal_client='tstdbstb'
*.fal_server='tstdb'
*.fast_start_mttr_target=300
*.hash_join_enabled=FALSE
*.instance_name='tstdbstb'
*.java_pool_size=83886080
*.job_queue_processes=10
*.large_pool_size=16777216
*.log_archive_dest_1='LOCATION=/app/oracle/oradata/tstdb/standby/archive/'
*.log_archive_dest_2='SERVICE=tstdb LGWR'
*.log_archive_format='%t_%s.dbf'
*.log_archive_start=true
*.log_file_name_convert='/app/oracle/oradata/tstdb/archive/','/app/oracle/oradata/tstdb/standby/archive/'
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_archive_enable='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=524288
*.standby_archive_dest='/app/oracle/oradata/tstdb/standby/archive'
*.standby_file_management='AUTO'
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=900
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/app/oracle/admin/tstdb/standby/udump'
AlexTi
Дата: 06.12.2007 07:27:20
Всем кому интересно. Проблема была решена следующим образом.
Как было сказано ранее Standby был развернут на одном хосте с Primary DB, соответственно было настроено так, чтобы две эти БД обслуживал
один листенер. Но т.к. Standby создается на основе Primary DB, то конечно же иницилизационный параметр SERVICE_NAMES у обеих БД
был одинаковым и получалось, что обе эти БД регистрировали свои инстансы у одного и того же сервиса листенера. Вот поэтому и
получалось, то коннект проходил - когда листенер коннектил к инстансу Primary DB, то не проходил и выходила ошибка
ORA-01033: ORACLE initialization or shutdown in progress - когда листенер коннектил к инстансу Standby DB.
Поменяв значения параметра на Standby DB
ALTER SYSTEM SET SERVICE_NAMES='tstdbstb'
инстанс Standby DB стал регистрироваться у своего сервиса листенера и все стало хорошо.

Всем удачи!