powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сбой при подключение удаленных пользователей к серверу DB2.
18 сообщений из 18, страница 1 из 1
Сбой при подключение удаленных пользователей к серверу DB2.
    #34706693
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Возникла следующая ситуация. На сервер W2K3 SP2 установили WSE DB2 версии v8.1.14.292. Лицензия установлена. Создана тестовая база данных. При подключении локально к базе все нормально, но нельзя подключится к базе с другого компа по локальной сети. При вводе команды db2 connect to base user ... из командного окна DB2, команда висит не выдавая никаких сообщений об ошибке, и похоже в таком состояние может находится бесконечно долго(терпения хватало на несколько часов в ожидания кода ошибка). Связь между рабочими станциями и сервером есть, также доступен порт 50000 на сервере, проверял командой telnet. Переменная на сервере DB2COMM = TCPIP. Firewall на серваке не установлен. Полностью сносил DB2 и устанавливал заново, результат тот же. Переставить операционку не предоставляется возможным. Пользлователь под чьим именем запускается служба , прописан во всех политиках необходимых для DB2 и входит в группу локальных администраторов. Не понятно где копать. Может кто сталкивался с подобной проблеммой.
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34706799
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Что выдает на сервере команда
Код: plaintext
type %windir%\system32\drivers\etc\services| find /I "DB2"
?
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34706801
1. Поглядеть в db2diag.log на сервере. Может найдется причина.
2. Включить трассировку соединения на клиенте. Поглядеть на каком этапе затык.
3. Запустить трассировку пакетов (tcpdump, WireShark) на сервере и клиенте.
Сравнить список переданных и принятых пакетов, может пакеты теряются.
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34706812
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким пользователем (локальным или доменным) подключаетесь?
Что выдает на сервере
Код: plaintext
db2set DB2_GRP_LOOKUP
?
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707063
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinДобрый день.
Что выдает на сервере команда
Код: plaintext
type %windir%\system32\drivers\etc\services| find /I "DB2"
?
db2c_DB2 50000/tcp

Mark Barinstein
Каким пользователем (локальным или доменным) подключаетесь?
Что выдает на сервере
Код: plaintext
db2set DB2_GRP_LOOKUP?

Пытаюсь законектится локальным пользователем db2admin,
переменная DB2_GRP_LOOKUP не определена,
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707117
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на клиенте
Код: plaintext
db2 list node directory
что выдает?
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707137
DB2Adventurer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версию клиента обновите. И заново каталогизируйте базу на нем.
Проверьте еще лицензии на самом w2k3. Может их у вас только пять :)
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707159
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinА на клиенте
Код: plaintext
db2 list node directory
что выдает?

выдает список узлов, конкретно на моем компе их 13, а вот то что касается того сервера

Запись узла 9:

Имя узла = NDE930F6
Комментарии =
Тип записи каталога = LOCAL
Протокол = TCPIP
Имя хоста = 10.56.0.5
Имя службы = db2c_fs5

Я думаю версия клиента здесь не причем, потому что точно такая же связка операционки и DB2 стоит на другом серваке и все прекрасно работает. Каталогизировал этот сервак под разными именами, и базу перепрописывал, но результат тот же , команда connect висит
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707197
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на клиенте что
Код: plaintext
type %windir%\system32\drivers\etc\services| find /I "DB2"
выдает?
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707289
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2c_DB2 50001/tcp # Connection port for DB2 instance DB2
db2c_fs5 50000/tcp # Connection port for DB2 instance DB2

у некоторых серваков порт 50000 а других 50001, и коннект происходит и ктем и другим сервакам
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34707366
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, если у вас на сервере
db2 get dbm cfg |find /i "svc"
выдает DB2c_DB2,
адрес сервера - действительно 10.56.0.5,
и больше никто порт 50000 не слушает,
то надо сетевые настройки ОС поковырять...
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34715552
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некоторые наблюдения. После полной перезагрузки сервера DB2, менеджер баз можно остановить и запустить снова без проблем. Как только пытаюсь, законектится к базе по локальной сети, менеджер баз уже не останавливается , говорит что базы активны, хотя команда list applications выдает что Монитор Database System Monitor не возвратил никаких данных , конект на клиенте висит. После команды force applications all , конект на клиенте сразу же отваливается с сообщением [IBM][CLI Driver] SQL30081N Ошибка связи. Использовался протокол связи: "TCP/IP". API связи: "SOCKETS". Ошибка обнаружена в положении: "10.56.0.5". Ошибку обнаружила функция связи: "recv". Коды ошибок протокола: "*", "*", "0".; SQLSTATE=08001 . Причем если на сервере остановить менеджер баз, то потом он уже не запускается, ругается на внутреннюю ошибку и предлагает обратится к провайдеру ...
Я не знаю если в DB2 средства для трасировки подключений, поэтому использовал трасировку которая есть в ODBC. При конекте к серверу 10.56.0.5, запись в лог файле останавливается на следующем сообщении
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
vfp9            7c4-f54	ENTER SQLDriverConnectW 
		HDBC                020B15E8
		HWND                 00480486 
		WCHAR *             0x73FB9A38 [      - 3 ] "******\ 0"
		SWORD                       - 3  
		WCHAR *             0x73FB9A38 
		SWORD                         2  
		SWORD *             0x00000000
		UWORD                         1  <SQL_DRIVER_COMPLETE>

При подключению к другому серверу(где версия операционки и DB2 такие же) где коннект проходит нормально, запись в логе выглядит так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
vfp9             214 -2bc	ENTER SQLDriverConnectW 
		HDBC                021315E8
		HWND                0002086E
		WCHAR *             0x73FB9A38 [      - 3 ] "******\ 0"
		SWORD                       - 3  
		WCHAR *             0x73FB9A38 
		SWORD                         2  
		SWORD *             0x00000000
		UWORD                         1  <SQL_DRIVER_COMPLETE>

vfp9             214 -2bc	EXIT  SQLDriverConnectW  with return code  1  (SQL_SUCCESS_WITH_INFO)
		HDBC                021315E8
		HWND                0002086E
		WCHAR *             0x73FB9A38 [      - 3 ] "******\ 0"
		SWORD                       - 3  
		WCHAR *             0x73FB9A38 
		SWORD                         2  
		SWORD *             0x00000000
		UWORD                         1  <SQL_DRIVER_COMPLETE>

При выдаче на сервере 10.56.0.5 force applications all , в лог файл дописывается
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
vfp9            7c4-f54	EXIT  SQLDriverConnectW  with return code - 1  (SQL_ERROR)
		HDBC                020B15E8
		HWND                 00480486 
		WCHAR *             0x73FB9A38 [      - 3 ] "******\ 0"
		SWORD                       - 3  
		WCHAR *             0x73FB9A38 
		SWORD                         2  
		SWORD *             0x00000000
		UWORD                         1  <SQL_DRIVER_COMPLETE>

		DIAG [ 08001 ] [IBM][CLI Driver] SQL30081N Ошибка связи.  Использовался протокол связи: "TCP/IP".  API связи: "SOCKETS".  Ошибка обнаружена в положении: "10.56.0.5".  Ошибку обнаружила функция связи: "recv".  Коды ошибок протокола: "*", "*", "0".;  SQLSTATE= 08001 
 (- 30081 ) 
Как я уже писал выше, переустановка DB2 с вычишением регистра не помогает, В сетевых настройках на серваке вроде бы и смотреть нечего , IP 10.56.0.5, маска 255.255.255.0 стандартный шлюз для нашей локалки 10.56.0.6, файрвола нета. Думаю что переустановка ОС наверное помогла бы )). Не знаю, что еще придумать.
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34715799
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Включите на клиенте трассировку.
Из db2cmd:
Код: plaintext
1.
2.
3.
4.
db2 UPDATE CLI CFG FOR SECTION COMMON USING Trace  1 
db2 UPDATE CLI CFG FOR SECTION COMMON USING TracePathName some_path
db2 UPDATE CLI CFG FOR SECTION COMMON USING TraceComm  1 
db2 UPDATE CLI CFG FOR SECTION COMMON USING TraceFlush  1 
В ...\SQLLIB\db2cli.ini на клиентской машине должны появиться записи:
Код: plaintext
1.
2.
3.
4.
[COMMON]
Trace= 1 
TracePathName=some_path
TraceComm= 1 
TraceFlush= 1 
Запустите приложение и покажите, что в файлах этого каталога появилось при попытке соединения.
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34715825
Придется повториться:
Пункты выполнять последовательно, если предыдущий пункт не дал подсказки или решения.

1. Поглядеть в db2diag.log на сервере DB2. Может найдется причина.
Для Windows файл обычно находится в C:\Program Files\IBM\SQLLIB\DB2\db2diag.log

2. Включить трассировку соединения на клиенте db2. Поглядеть на каком этапе затык.

Трассировка включается либо правкой C:\Program Files\IBM\SQLLIB\db2cli.ini, либо через db2 update cli configuration (это более правильно), но запись все равно будет в db2cli.ini

Смотри в документации по DB2 конфигурационные переменные для трассировки:
Trace=1
TracePathName=<path>
TraceComm=1
TraceFlushOnError=1

3. Запустить трассировку пакетов (tcpdump, WireShark) на сервере и клиенте.
Сравнить список переданных и принятых пакетов, может пакеты теряются.

Можно конечно воспользоваться и встроенным в W2K3 мониторингом пакетов.

PS: Надеюсь тут все понятно?
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34716299
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, из db2cmd на команду
db2 UPDATE CLI CFG FOR SECTION COMMON USING Trace 1
выдает сообщение
DB21082E У вас недостаточно полномочий для запуска команды UPDATE CLI
CONFIGURATION.
хотя являюсь локальным администратором на своем ПК, разбираться не стал добавил в ручную в файл db2cli.ini, но почему то файлы не создаются, наверное неправильно прописал путь, пробовал следующие варианты
TracePathName="D:\TRACES"
TracePathName="D:\TRACES\"
TracePathName=D:\TRACES
TracePathName=D:\TRACES
каталог D:\TRACES существует
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34716437
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помечу то файлы стали появлятся только, когда стал конектится к базе из VFP, а из DB2cli каталог был пустой. Так вот при конекте к проблемному серверу, запись в логе останавливается на строчке
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQLDriverConnectW( hDbc= 0 : 1 , hwnd= 52 : 846 , szConnStrIn="DSN=b4400;UID=db2admin;PWD=*******;", cbConnStrIn= 35 , szConnStrOut=&020d1528, cbConnStrOutMax= 255 , pcbConnStrOut=&0012f3a6, fDriverCompletion=SQL_DRIVER_COMPLETE )
    ---> Time elapsed - +3,170000E-004 seconds
    sqlccsend( ulBytes -  251  )
    sqlccsend( Handle -  37607616  )
    sqlccsend( ) - rc -  0 , time elapsed - + 9 ,190000E- 004 
    sqlccrecv( )
    sqlccrecv( ulBytes -  111  ) - rc -  0 , time elapsed - + 3 ,160000E- 004 
    sqlccsend( ulBytes -  272  )
    sqlccsend( Handle -  37607616  )
    sqlccsend( ) - rc -  0 , time elapsed - + 7 ,020000E- 004 
    sqlccrecv( )
а при конекте к нормальному серверу, эта строчка выглядит так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQLDriverConnectW( hDbc= 0 : 1 , hwnd= 243 : 984 , szConnStrIn="DSN=region;UID=0810;PWD=****;", cbConnStrIn= 29 , szConnStrOut=&020b1518, cbConnStrOutMax= 255 , pcbConnStrOut=&0012f48a, fDriverCompletion=SQL_DRIVER_COMPLETE )
    ---> Time elapsed - +3,450000E-004 seconds
    sqlccsend( ulBytes -  251  )
    sqlccsend( Handle -  37411008  )
    sqlccsend( ) - rc -  0 , time elapsed - + 9 ,190000E- 004 
    sqlccrecv( )
    sqlccrecv( ulBytes -  111  ) - rc -  0 , time elapsed - + 3 ,230000E- 004 
    sqlccsend( ulBytes -  265  )
    sqlccsend( Handle -  37411008  )
    sqlccsend( ) - rc -  0 , time elapsed - + 6 ,840000E- 004 
    sqlccrecv( )
    sqlccrecv( ulBytes -  272  ) - rc -  0 , time elapsed - + 2 ,352700E- 002 
( DBMS NAME="DB2/NT", Version="08.02.0007", Fixpack="0x22080106" )
( Application Codepage= 1251 , Database  Codepage= 1251 , Char Send/Recv Codepage= 1208 , Graphic Send/Recv Codepage= 1200  )
    sqlccsend( ulBytes -  303  )
    sqlccsend( Handle -  37411008  )
    sqlccsend( ) - rc -  0 , time elapsed - + 7 ,990000E- 004 
    sqlccrecv( )
    sqlccrecv( ulBytes -  40  ) - rc -  0 , time elapsed - + 4 ,270000E- 004 
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34716478
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений ХабаровПридется повториться:
Пункты выполнять последовательно, если предыдущий пункт не дал подсказки или решения.

1. Поглядеть в db2diag.log на сервере DB2. Может найдется причина.
Для Windows файл обычно находится в C:\Program Files\IBM\SQLLIB\DB2\db2diag.log
Смотрел я этот файл, но ничего интересного для себя не увидел ))
Евгений Хабаров
2. Включить трассировку соединения на клиенте db2. Поглядеть на каком этапе затык.

Трассировка включается либо правкой C:\Program Files\IBM\SQLLIB\db2cli.ini, либо через db2 update cli configuration (это более правильно), но запись все равно будет в db2cli.ini

Смотри в документации по DB2 конфигурационные переменные для трассировки:
Trace=1
TracePathName=<path>
TraceComm=1
TraceFlushOnError=1

выложил выше
Евгений Хабаров
3. Запустить трассировку пакетов (tcpdump, WireShark) на сервере и клиенте.
Сравнить список переданных и принятых пакетов, может пакеты теряются.

tcpdump, WireShark это утилиты DB2, или сторонних производителей? И если не трудно про этот пункт поподробнее.
...
Рейтинг: 0 / 0
Сбой при подключение удаленных пользователей к серверу DB2.
    #34720302
tcpdump и WireShark это отдельные продукты.
И та и другая должны быть хорошо знакомы сетевым администраторам.

Предназначены для записи дампа пакетов TCP/IP и их дальнейшего анализа.
Можно при захвате настраивать фильтры.

tcpdump - консольная программа, которая пишет пакеты на экран или в файл.
WireShark (бывший Etherial) - это уже и GUI-приложение.

tcpdump
Windump (аналог tcpdump)
WireShark

Чтобы было проще, на время теста желательно остановить все лишние процессы обмена по TCP/IP между клиентом и сервером. Потом стартовать tcpdump или WireShark на захват всех пакетов между двумя адресами. Потом выполнить попытку подключения с клиента. После этого нужно будет сравнить два протокола. Бывает что пакеты уходят с одной машины, но не доходят до другой. Ну а дальше уже искать причины такого поведения.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сбой при подключение удаленных пользователей к серверу DB2.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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