Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Долгий логин к db2 10.1 / 25 сообщений из 25, страница 1 из 1
02.12.2013, 18:39
    #38486446
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
База 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
02.12.2013, 19:40
    #38486525
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
Pavel Beloliptsev,

а что выдаёт
Код: plaintext
db2 get dbm cfg|grep -i plug
?
...
Рейтинг: 0 / 0
02.12.2013, 20:20
    #38486589
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
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
02.12.2013, 20:50
    #38486622
m&m
m&m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
Pavel Beloliptsev,

уточню на всякий случай,
эти медленные коннекты к активированной базе?
...
Рейтинг: 0 / 0
02.12.2013, 21:43
    #38486665
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
К сожалению не знаю, что такое активированная база, как можно это проверить?
...
Рейтинг: 0 / 0
02.12.2013, 21:53
    #38486673
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
db2 list active databases
db2 list application global
...
Рейтинг: 0 / 0
03.12.2013, 10:27
    #38486984
Долгий логин к db2 10.1
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
03.12.2013, 13:19
    #38487285
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
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
03.12.2013, 13:44
    #38487312
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
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
03.12.2013, 14:53
    #38487454
Долгий логин к db2 10.1
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
04.12.2013, 13:10
    #38488741
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
Делал тест соединения через 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
04.12.2013, 14:19
    #38488891
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
Еще момент, тип авторизации Database manager authentication (AUTHENTICATION) = SERVER
это значит, что авторизация будет проходить через ОС?
...
Рейтинг: 0 / 0
04.12.2013, 14:24
    #38488902
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
Pavel BeloliptsevЕще момент, тип авторизации Database manager authentication (AUTHENTICATION) = SERVER
это значит, что авторизация будет проходить через ОС?

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

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

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

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

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

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

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

или м.б. как "work around" - в DataStudio использовать драйвер с поддержкой ldap?
...
Рейтинг: 0 / 0
04.12.2013, 17:54
    #38489336
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
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
05.12.2013, 02:18
    #38489716
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
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
05.12.2013, 12:45
    #38490115
Pavel Beloliptsev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий логин к db2 10.1
CawaSPb,

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

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

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


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