powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Долгий логин к db2 10.1
25 сообщений из 25, страница 1 из 1
Долгий логин к db2 10.1
    #38486446
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База db2 10.1 на linux Red hat 6 (64)
Очень долго устанавливается соединение как локально с консоли так и удаленно через IBM Data Studio, засекал по секундомеру, получалось больше 50 секунд.
Куда смотреть, что проверять?

db2 get dbm cfg:
Код: powershell
1.
2.
3.
4.
5.
6.
 Database manager authentication        (AUTHENTICATION) = SERVER
 Alternate authentication           (ALTERNATE_AUTH_ENC) = NOT_SPECIFIED
 Cataloging allowed without authority   (CATALOG_NOAUTH) = NO
 Trust all clients                      (TRUST_ALLCLNTS) = YES
 Trusted client authentication          (TRUST_CLNTAUTH) = CLIENT
 Bypass federated authentication            (FED_NOAUTH) = NO
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486525
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel Beloliptsev,

а что выдаёт
Код: plaintext
db2 get dbm cfg|grep -i plug
?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486589
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPbPavel Beloliptsev,

а что выдаёт
Код: plaintext
db2 get dbm cfg|grep -i plug
?

Вот что выдает:
Код: powershell
1.
2.
3.
4.
5.
6.
7.
 Client Userid-Password Plugin          (CLNT_PW_PLUGIN) =
 Client Kerberos Plugin                (CLNT_KRB_PLUGIN) =
 Group Plugin                             (GROUP_PLUGIN) =
 GSS Plugin for Local Authorization    (LOCAL_GSSPLUGIN) =
 Server Plugin Mode                    (SRV_PLUGIN_MODE) = UNFENCED
 Server List of GSS Plugins      (SRVCON_GSSPLUGIN_LIST) =
 Server Userid-Password Plugin        (SRVCON_PW_PLUGIN) =
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486622
m&m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m&m
Гость
Pavel Beloliptsev,

уточню на всякий случай,
эти медленные коннекты к активированной базе?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486665
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению не знаю, что такое активированная база, как можно это проверить?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486673
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db2 list active databases
db2 list application global
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38486984
Pavel Beloliptsev,

Варианты:
1. Недоступные или долго отвечающие DNS-серверы на сервере или клиенте.
Даже если идет обращение по IP-адресу, в некоторых случаях идет попытка получить DNS-имя для IP-адреса.

2. Какой тип аутентификации указывался при выполнении команды CATALOG DATABASE ?
В одной из ситуаций помогало явное указание параметра AUTHENTICATION SERVER.

3. (Как уже говорили) Может долго выполняться первый коннект к базе, т.к. фактическая активация базы происходит при первом подключении к ней. И деактивация базы происходит (по умолчанию) при отключении последнего клиента.
Поэтому, если база тестовая с единственным пользователем, то активация/деактивация может происходить при каждом соединении.
Можно выполнить принудительную активацию базы (ACTIVATE DATABASE), а потом проверять, стал ли коннект происходить быстрее.

Доп. диагностику можно получить включив трассу. Проще всего это сделать из Data Studio, там достаточно проставить галочки на вкладке со свойствами соединения (Tracing. включить все, кроме DRDA Flows).

Судя по тому, что "тормозят" и локальные и сетевые соединения причина скорее всего п.3.
Да, еще нужно внимательно смотреть что пишется в лог db2diag.log в момент установки соединения, возможно есть какие-то проблемы с базой.
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38487285
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hunterikdb2 list active databases
db2 list application global

db2 list active databases выполнялась долго, около 50 сек:
Код: powershell
1.
2.
3.
4.
                        Active Databases

Database name                              = REPORTER
Applications connected currently           = 3



db2 list application global:
Код: powershell
1.
2.
3.
4.
5.
6.
Auth Id  Application    Appl.      Application Id                                                 DB       # of
         Name           Handle                                                                    Name    Agents
-------- -------------- ---------- -------------------------------------------------------------- -------- -----
DB2INST1 db2jcc_applica 3677       10.X.192.18.41952.131121162918                                REPORTER 1
DB2INST1 db2jcc_applica 3675       10.X.192.18.41951.131121162757                                REPORTER 1
DB2INST1 db2jcc_applica 3673       10.X.192.18.41950.131121162702                                REPORTER 1
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38487312
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. nslookup отрабатывает быстро, без задержек
2. Этот параметр задается в процессе первичной настройки БД? Я не занимался установкой БД и т.д., досталось as is. Как посмотреть текущее значение?
3. Из предыдущего сообщения видно, что активные соединения есть, попытка сделать БД активной в принудительном порядке отвечает, что то типа already active

Трассировку соединения включил, но что то мне эти записи ни о чем не сказали, на что там смотреть?
[jcc][Time:2013-12-03-12:37:40.162][Thread:Worker-0][Connection@22a822a8] setDB2ClientWorkstation (null) called
[jcc][Time:2013-12-03-12:37:40.162][Thread:Worker-0][Connection@22a822a8] getMetaData () returned DatabaseMetaData@4a614a61
[jcc][Time:2013-12-03-12:37:40.181][Thread:Worker-0][Connection@22a822a8] isClosed () returned false
[jcc][Time:2013-12-03-12:37:40.181][Thread:Worker-0][Connection@22a822a8] createStatement () called
[jcc][Time:2013-12-03-12:37:40.181][Thread:Worker-0][Connection@22a822a8] createStatement () returned Statement@13711371
[jcc][Connection@22a822a8] DB2 LUWID: 10.163.250.80.49772.131203083633.0001
и т.д.
Не понятно в какой момент произошло соединение, если предположить, что это строка типа [jcc][Connection@22a822a8] DB2 LUWID: 10.163.250.80.49772.131203083633.0017, то их больше десятка в трейсе.

В db2diag.log есть только сообщения о Package Cache Overflow, искал по слову connect или open ничего не нашел. По каким ключевым словам искать информацию о соединении?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38487454
Pavel Beloliptsev,

По JDBC-трассе.
Снимать трассу можно так (db2jcc.jar и db2jcc_license_cu.jar должны быть в СLASSPATH):
Код: powershell
1.
java -Duser.language=en com.ibm.db2.jcc.DB2Jcc -url "jdbc:db2://db2n01.local.net:50000/TESTDB:traceDirectory=C:\jcc_trace;traceFileAppend=true;traceLevel=-1;" -user xxx -password yyy -sql 'SELECT 1 FROM SYSIBM.SYSDUMMY1'


Смотреть нужно на разницу в метках времени между событиями.
Ниже выдержки из трассы, момент от открытия сокета до факта установки соединения.
Код: plaintext
1.
2.
3.
[jcc][am] [time:2013-12-03-14:19:14.982][Thread:main][tracepoint:100]Connection com.ibm.db2.jcc.t4.b@794f47c start time: 1386065954982
[jcc][t4] [time:2013-12-03-14:19:15.060][Thread:main][tracepoint:316]creating a socket to 192.168.56.10
[jcc][Time:2013-12-03-14:19:15.635][Thread:main][Connection@794f47c]getDB2Correlator () returned 192.168.56.1.54128.131203101915

К сожалению, сейчас по трассе не видно сколько времени уходит на DNS Lookup.
Раньше (в более ранних версиях драйвера) выводились еще и записи следующего вида:

Код: plaintext
1.
[ibm][db2][jcc][Time:2008-12-25-10:28:17.761][Thread:main][Connection@dfc362] getHostAddressFromIpaddr (6, { 0xa, 0x18, 0x1, 0x1, 0x11, 0x5e }) called

PS: Для контроля можно выполнить эту же команду на сервере с локальным соединением (Type 2).
В этом случае устраняется влияние сетевых задержек.
И, если существенные задержки сохраняются, значит есть проблемы на стороне сервера.
Код: powershell
1.
java -Duser.language=en com.ibm.db2.jcc.DB2Jcc -url "jdbc:db2:TESTDB:traceDirectory=C:\jcc_trace;traceFileAppend=true;traceLevel=-1;" -user xxx -password yyy -sql 'SELECT 1 FROM SYSIBM.SYSDUMMY1'
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38488741
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делал тест соединения через JDBC сразу на сервере, из ошибок в файле трейса есть такое сообщение:
Код: java
1.
2.
3.
4.
5.
6.
7.
[jcc] BEGIN TRACE_DIAGNOSTICS
[jcc][Thread:main][SQLWarning@14e84905] java.sql.SQLWarning
[jcc][Thread:main][SQLWarning@14e84905] SQL state  = null
[jcc][Thread:main][SQLWarning@14e84905] Error code = 4223
[jcc][Thread:main][SQLWarning@14e84905] Message    = Origination unknown: [10228][11541][3.63.123] Security exceptions occurred while loading driver. ERRORCODE=4223, SQLSTATE=null
[jcc][Thread:main][SQLWarning@14e84905] Stack trace follows
com.ibm.db2.jcc.am.SqlWarning: Origination unknown: [10228][11541][3.63.123] Security exceptions occurred while loading driver. ERRORCODE=4223, SQLSTATE=null



Говорит ли это о корневой проблеме или это просто нюансы работы конкретного JDBC драйвера
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38488891
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще момент, тип авторизации Database manager authentication (AUTHENTICATION) = SERVER
это значит, что авторизация будет проходить через ОС?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38488902
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pavel BeloliptsevЕще момент, тип авторизации Database manager authentication (AUTHENTICATION) = SERVER
это значит, что авторизация будет проходить через ОС?

Вопрос снят, да это так.
На данном сервере разрешена авторизация через доменный аккаунт, возможно тормоза при соединении происходят из за поиска пользователя в AD, а AD каталог довольно большой.
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489029
m&m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m&m
Гость
Pavel Beloliptsev,

покажите переменные среды
db2set -all
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489052
m&m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m&m
Гость
DB2AUTH какое значение ?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489059
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m&mPavel Beloliptsev,

покажите переменные среды
db2set -all

[i] DB2COMM=TCPIP
[i] DB2AUTOSTART=YES
[g] DB2_GRP_LOOKUP=local
[g] DB2INSTDEF=db2inst1
[g] DB2COMM=TCPIP
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489175
db2set
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pavel Beloliptsev,

db2set DB2AUTH=OSAUTHDB
и рестарт инстанса пробовали?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489229
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2setdb2set DB2AUTH=OSAUTHDB
и рестарт инстанса пробовали?

DB2AUTH=OSAUTHDB выставил, рестарт надо согласовывать, жду.
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489269
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перезапустил, локальное соединение происходит бодро, но теперь не могут соединиться удаленные клиенты.
Локальный JDBC тест так же возвращает ошибку:
Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489324
db2set
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pavel Beloliptsev,

тогда извиняюсь, вертайте все "взад".
лечения для проблем с jdbc не знаю.

или м.б. как "work around" - в DataStudio использовать драйвер с поддержкой ldap?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489336
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2set, дело в том, что локально соединение с БД проходило только в формате
db2 connect to REPORTER

а если попробовать вариант:
db2 connect to REPORTER user xxx using xxx
то:
SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001

так что дело не в JDBC
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38489716
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel Beloliptsev,

Там большие замороки с прозрачной аутентификацией к LDAP/Керберосу (AD).
Именно что не хочет ОС под тем апи, который использует DB2, нормально проводить аутентификацию.

Забейте на настройки системы, используйте механизмы (библиотеки), идущие вместе с DB2.
1. копируете sqllib/cfg/IBMLDAPSecurity.ini.sample в sqllib/cfg/IBMLDAPSecurity.ini
2. Правите сообразно своему разумению
3.
Код: plaintext
1.
2.
db2 update dbm cfg using CLNT_PW_PLUGIN    IBMLDAPauthclient  \
                         GROUP_PLUGIN      IBMLDAPgroups      \
                         SRVCON_PW_PLUGIN  IBMLDAPauthserver

Последнее - опционально.
Группы, объявленые как SYSADM_GROUP/SYSCTRL_GROUP/SYSMAINT_GROUP/SYSMON_GROUP, должны быть заведены и в домене. Пользователи из этих групп (которым мы хотим предоставить соответствующие привилегии) - тоже. Можно просто как дубли соответствующих локальных пользователей.

Гайдик какой-то быстро нагуглился: http://db2tutorial.net/ldap-and-db2-the-complete-guide/
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38490115
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb,

Дело в том, что пользователь под которым устанавливается соединение локальный, в AD его нет, стоит ли заморачиваться с настройкой LDAP в таком случае? Я так понял, что в db2 нет вариантов создать пользователя БД без привязки к ОС?
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38490364
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel Beloliptsev,

Стоит.
Просто добавить в AD пользователя с таким же именем. Будет правильней потом перевести и существующего локального пользователя на доменную аутентификацию (как минимум, чтобы не вспоминать разные пароли к ним).

Нету.
Т.е. на самом деле, конечно, есть - в sqllib/samples/security/plugins/ приведнены исходники плагинов. Они крайне просты, можно использовать как шаблон для имплементации своего и хранить пользователей хоть в базе, хоть в plain text где-либо рядом с БД.
Но! вам нужен геморрой с перекладыванием на себя менеджмента пользователей и т.п.? (внимание безопасников, требования по дополнительному аудиту ваших действий, да и вообще, просто лишняя работа)
...
Рейтинг: 0 / 0
Долгий логин к db2 10.1
    #38502061
Pavel Beloliptsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогло выставление
DB2_ALTERNATE_GROUP_LOOKUP=GETGROUPLIST
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Долгий логин к db2 10.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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