powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle DataGuard ORA-16191
21 сообщений из 21, страница 1 из 1
Oracle DataGuard ORA-16191
    #39665414
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
БД Primary не отправляет логи на Standby, alert log прилагаются
PrimaryError 1017 received logging on to the standby
------------------------------------------------------------
Check that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and that the SYS password is same in the password files.
returning error ORA-16191
------------------------------------------------------------
PING[ARC2]: Heartbeat failed to connect to standby 'ts'. Error is 16191.

StandbyError 1017 received logging on to the standby
------------------------------------------------------------
Check that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and that the SYS password is same in the password files.
returning error ORA-16191
------------------------------------------------------------
FAL[client, USER]: Error 16191 connecting to tp for fetching gap sequence

Файл паролей одинаковый (скопирован с primary на standby). Пересоздавал на обоих серверах одним скриптом, ошибка сохраняется.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665449
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlnovCheck that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665453
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous, как и говорил ранее обе базы используют один и тот же файл (копировал с primary БД)
Параметры remote_login_passwordfile на обоих БД имеют значение EXCLUSIVE
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665459
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И remote_login_passwordfile установлен в EXCLUSIVE? И SEC_CASE_SENSITIVE_LOGON на primary/standby одинаков? Ну и sanity check: "Файл паролей одинаковый (скопирован с primary на standby)". A ты проверил remote login как sysdba к primary? Ну и версию огласи.

SY.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665481
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY, Всё верно. EXCLUSIVE, и SEC_CASE_SENSITIVE_LOGON одинаковы.
По вопросу remote login:
Основная БД коннектится через sqlplus по alias, так же проверка подключения через net manager проходить успешно.
Версии БД:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665483
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IlnovОсновная БД коннектится через sqlplus по alias, так же проверка подключения через net manager проходить успешно
Основная БД коннектится через sqlplus по alias к резервной, так же проверка подключения через net manager к резервной проходить успешно.
Данное утверждение справедливо и с резервного сервера к продуктивной БД.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665495
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один sanity check: "Файл паролей одинаковый (скопирован с primary на standby)". Скопирован и переименован надеюсь? Ну и после этого, был ли перезапуск recovery на standby (чтобы standby подхватил новый passwordfile)

Код: plsql
1.
2.
alter database recover managed standby database cancel;
alter database recover managed standby database disconnect from session ;



SY.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665496
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY, скопирован и не переименован, т.к. db_name одинаковые, разные db_unique_name.
БД перезапускали после копирования файлов, даже перезапускали оба сервера.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665541
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlnovSY, скопирован и не переименован, т.к. db_name одинаковые, разные db_unique_name.
БД перезапускали после копирования файлов, даже перезапускали оба сервера.

Просто цитатаЧудес не бывает...

Проверка ( на обеих машинах)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
## Вы точно туда соединяетесь?
tnsping tns_primary
tnsping tns_standby

## check parameters and passwordfile config
sqlplus / as sysdba
SQL> show parameters password

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      EXCLUSIVE

SQL> select * from v$PWFILE_USERS;

USERNAME                       SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS                            TRUE  TRUE  FALSE

SQL> host  mv orapw${ORACLE_SID} orapw${ORACLE_SID}.1

SQL>  select * from v$PWFILE_USERS;

no rows selected

SQL> host  mv orapw${ORACLE_SID}.1 orapw${ORACLE_SID}



## check sqlnet.ora
# unix
cat $ORACLE_HOME/network/admin/sqlnet.ora

# windows
type %ORACLE_HOME%\network\admin\sqlnet.ora

## check as sysdba connect
sqlplus sys/*****@tns_primary as sysdba
sqlplus sys/*****@tns_standby as sysdba



Если ничего не помогает, включите трасировку
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665865
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin, по пунктам

tnsping tns_primary с primary проходит
tnsping tns_standby с primary проходит

tnsping tns_primary с standby проходит
tnsping tns_standby с standby проходит

show parameters password с primary : remote_login_passwordfile string EXCLUSIVE
show parameters password с standby : remote_login_passwordfile string EXCLUSIVE

select * from v$PWFILE_USERS; с primary: SYS TRUE TRUE FALSE
select * from v$PWFILE_USERS; с standby : SYS TRUE TRUE FALSE

host mv orapw${ORACLE_SID} orapw${ORACLE_SID}.1 с primary: no rows selected
host mv orapw${ORACLE_SID} orapw${ORACLE_SID}.1 с standby : no rows selected

sqlnet.ora с primary# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)


sqlnet.ora с standby# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39665911
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlnovVadim Lejnin, по пунктам

Код: plsql
1.
2.
3.
4.
5.
tnsping tns_primary с primary проходит
tnsping tns_standby с primary проходит

tnsping tns_primary с standby проходит
tnsping tns_standby с standby проходит

...



1) tns alias все правильно? Не ошибся случаем в IP/HOSTNAME?
2) Этот тест проходит?
Код: plsql
1.
2.
3.
## check as sysdba connect
sqlplus sys/*****@tns_primary as sysdba
sqlplus sys/*****@tns_standby as sysdba
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666032
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,
Да. Tnsping идёт по алиасу
Не ошибся. Host указан корректно, иначе пинг бы не проходил.
sqlplus ... as sysdba проходит с обеих машин к обеим БД.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666069
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlnovVadim Lejnin,
Да. Tnsping идёт по алиасу
Не ошибся. Host указан корректно, иначе пинг бы не проходил.
sqlplus ... as sysdba проходит с обеих машин к обеим БД.
Именно через tns_alias?
то есть при сетевом соединении?
Код: plsql
1.
sqlplus sys/password@tns as sysdba



Если да, то проверяйте Ваши настройки в DG, log_archive_dest_XX, fal_server, LOG_ARCHIVE_CONFIG
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666081
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin, c Primary (ts-БД standby)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
C:\Users\...>tnsping ts

TNS Ping Utility for 64-bit Windows: Version 11.2.0.4.0 - Production on 26-JUN-2
018 15:19:50

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:
T:\app\product\11.2.0\dbhome_1\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = test)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ts)))
OK (60 msec)


Prime
Код: primary
1.
2.
3.
4.
5.
log_archive_dest_1                   string      SERVICE=ts LGWR ASYNC VALID_FO
                                                 R=(ONLINE_LOGFILES,PRIMARY_ROL
                                                 E) db_unique_name=ts
log_archive_dest_2                   string      LOCATION=T:\app\oradata\arch V
                                                 ALID_FOR=(ALL_LOGFILES,ALL_ROL
                                                 ES) db_unique_name=tp

Standby
Код: plsql
1.
2.
3.
4.
5.
6.
log_archive_dest_1                   string      SERVICE=tp LGWR ASYNC VALID_FO
                                                 R=(ONLINE_LOGFILES,PRIMARY_ROL
                                                 E) db_unique_name=tp
log_archive_dest_2                   string      LOCATION=T:\app\oradata\arch V
                                                 ALID_FOR=(ALL_LOGFILES,ALL_ROL
                                                 ES) db_unique_name=ts


Standby
Код: plsql
1.
fal_server                           string      tp


Primary
Код: plsql
1.
fal_server                           string      ts


Primary
Код: plsql
1.
log_archive_config                   string      dg_config=(tp,ts)


Standby
Код: plsql
1.
log_archive_config                   string      dg_config=(tp,ts)
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666088
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж так не хочется показывать полный список недефолтовых параметров (например, из alert.log) и полный план, как создавалась standby БД, то чего ты хочешь?

Что в V$ARCHIVE_GAP ?
Пробовал ручками перенести несколько логов и зарегистрировать их командой alter database register logfile ?
Совсем уж малоподобный сценарий -- show parameter redo_transport_user ?
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666110
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
Извиняюсь за недопонимание.
Мне ничего не жалко, для разбора ситуации.
Пара primary / standby создавалась с помощью следующих параметров:
Основной:
t.__db_cache_size=14025752576
t.__java_pool_size=268435456
t.__large_pool_size=67108864
t.__oracle_base='T:\app'#ORACLE_BASE set from environment
t.__pga_aggregate_target=11140071424
t.__sga_target=16575889408
t.__shared_io_pool_size=0
t.__shared_pool_size=2080374784
t.__streams_pool_size=0
*.audit_file_dest='T:\app\admin\t\adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='T:\APP\ORADATA\T\CONTROL01.CTL'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='t'
*.db_unique_name='tp'
*.diagnostic_dest='T:\app'
*.fal_client='tp'
*.fal_server='ts'
*.log_archive_config='dg_config=(tp,ts)'
*.log_archive_dest_1='SERVICE=ts LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=ts'
*.log_archive_dest_2='LOCATION=T:\app\oradata\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=tp'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.memory_target=27659337728
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'

Резервный:
t.__db_cache_size=14025752576
t.__java_pool_size=268435456
t.__large_pool_size=67108864
t.__oracle_base='T:\app'#ORACLE_BASE set from environment
t.__pga_aggregate_target=11140071424
t.__sga_target=16575889408
t.__shared_io_pool_size=0
t.__shared_pool_size=2080374784
t.__streams_pool_size=0
*.audit_file_dest='T:\app\admin\t\adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='T:\APP\ORADATA\T\CONTROL01.CTL'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='t'
*.db_unique_name='ts'
*.diagnostic_dest='T:\app'
*.fal_client='ts'
*.fal_server='tp'
*.log_archive_config='dg_config=(tp,ts)'
*.log_archive_dest_1='SERVICE=tp LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=tp'
*.log_archive_dest_2='LOCATION=T:\app\oradata\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=ts'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.memory_target=27659337728
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'

Создавались standby redo log
Данные мигрировали через rman бэкап:
Код: plsql
1.
2.
3.
4.
5.
6.
backup current controlfile for standby format '/data/backup/standbycontrol.ctl'; - создание control файлв
run
2> {
3> allocate channel c1 device type disk format '/data/backup/%u';
4> backup database plus archivelog;
5> }


Настраиваем tns на обоих серверах к обоим БД.
Добавляем в listener standby статичную прослушку резервной БД
После этого переносим бэкап на standby бэкап в такое же место.
Подключаемся в rman к auxiliary БД и накатываем бэкап:
Код: plsql
1.
duplicate target database for standby nofilenamecheck dorecover;


После чего актуализируем резервную БД:
Код: plsql
1.
recover standby database;


Переносим туда недостающие архивные логи и актуализируемся.
После этого запускаем standby БД на автоматическую актуализацию:
Код: plsql
1.
2.
alter database open read only;
alter database recover managed standby database using current logfile disconnect;


Какую ещё нужно предоставить информацию?
Если что забыл, спрашивайте, говорите. Мог что-то пропустить, но вроде бы основное всё написал.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666129
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilnov,

Вы не ответили на вопрос, соединения с обеих машин проходят?:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
rem для чистоты эксперимента
cmd.exe
set ORACLE_HOME=<ORACLE_HOME  службы OracleServiceXXX>
set PATH=%ORACLE_HOME%\bin;%PATH%

sqlplus sys@ts as sysdba
password: ****
sqlplus sys@tp as sysdba
password: ****




И tns alias ts и tp одинаковы на обеих серверах, и в них указаны корретные hosts
Ну и если на серверах несколько ORACLE_HOME, то проверьте что во всех одинаковые tnsnames

Это для проверки ситуации, когда в командной строке используется одна ORACLE_HOME, а %ORACLE_HOME%\network\admin\tnsnames.ora Службы OracleServiceXXXX показывает например на левую базу разработчиков.
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666146
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,
C боевойC:\Users\Rykunov>sqlplus sys@t as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 26 16:39:13 2018

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64
bit Production

C:\Users\Rykunov>sqlplus sys@ts as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 26 16:39:27 2018

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SQL>

С резервнойC:\Users\rykunov>sqlplus sys@t as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 26 16:42:50 2018

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64
bit Production

C:\Users\rykunov>sqlplus sys@tp as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 26 16:43:03 2018

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SQL>


Path на основной
Код: plsql
1.
T:\app\product\11.2.0\dbhome_1\bin;


Path на резервном
Код: plsql
1.
T:\app\product\11.2.0\dbhome_1\bin;


TNS основной# tnsnames.ora Network Configuration File: T:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

TS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test-edw)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ts)
)
)

T =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rykunov-new)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = tp)
)
)

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

TNS резервный# tnsnames.ora Network Configuration File: T:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

TP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rykunov-new)(PORT = 1521))
)
(CONNECT_DATA =
(SID = t)
)
)

T =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test-edw)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ts)
)
)

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

На обоих серверах 1 ORACLE_HOME
Можно попробовать жёстко указать ORACLE_HOME на обоих БД в PATH
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666150
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilnov,

Пароль одинаков на обеих базах?
Код: plsql
1.
alter user sys identified by XXXX; 


на основной и скопировать passwordfile на standby
передергивать не нужно, должно подхватиться на лету
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666152
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilnov,

И да, logon trigger на primary есть?
...
Рейтинг: 0 / 0
Oracle DataGuard ORA-16191
    #39666162
Ilnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,
посыпаю голову пеплом.
Заработало.
Сменил пароль, как Вы и советовали, на тот же.
Так же как и раньше скопировал файл паролей на резерв и всё разработало.
Я несколько раз файл копировал на резервной БД, но ни разу не менял пароль под sys на боевой перед этим.
Спасибо.
Завтра буду разворачивать систему заново, проверим на контрольном разворачивании.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle DataGuard ORA-16191
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]