powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 Express-C 10 или 11 для Win, но обязательно x86
25 сообщений из 29, страница 1 из 2
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40060850
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такое чудо в природе? Дайте, пожалуйста, ссылка для скачивания... Нужно на Win10 перенести, а там куча функций скомпилировано по x86.....
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40060904
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT,

Но ведь 32-bit библиотеки должны работать для функций и на 64-bit сервере.
32-bit and 64-bit support for external routines
Вы пробовали, и они не работают?
Какая ошибка при вызове?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40060916
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверял лет 5 назад... Когда хотел перейти на x64... Там про хеш-функции...

https://www.sql.ru/forum/1003452/sql0444n-rc-99-pri-obrashhenii-k-polz-funkcii-s

Сейчас проект не в приоритете, поэтому функции пересобирать не хотелось бы... Но вот же ж решили обновить ОС :(
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40060924
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду пробовать...
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40061731
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь развернуть бекап от Exp-C 9.7.2 x86 на Exp-C 9.7.6 x64...
При вызове обычных SQL-хранимок получаю
SQL0471N Ошибка вызова подпрограммы "my.xxx" из-за причины "1". SQLSTATE=55023
Это куда копнуть? Что пересобрать?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062007
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пошел дальше... Откопал Express-C версии 10.1.200... Восстановил базу в ней...
Теперь не работают внешние функции... SQL0444N rc 6
Хотя необходимые dll лежат в SQLLIB/BIN/routine
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062021
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT
Пошел дальше... Откопал Express-C версии 10.1.200... Восстановил базу в ней...
Теперь не работают внешние функции... SQL0444N rc 6
Хотя необходимые dll лежат в SQLLIB/BIN/routine
Библиотеки должны лежать в SQLLIB\FUNCTION, если в CREATE FUNCITON указано неквалифицированное имя для library_id.
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062024
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Библиотеки должны лежать в SQLLIB\FUNCTION, если в CREATE FUNCITON указано неквалифицированное имя для library_id.

Так я про штатные библиотеки, например db2dbroutext
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062033
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
TORT,

Но ведь 32-bit библиотеки должны работать для функций и на 64-bit сервере.
32-bit and 64-bit support for external routines
Вы пробовали, и они не работают?
Какая ошибка при вызове?

Кстати, работают... Нужно только FENCED NOT THREADSAFE использовать...
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062047
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Библиотеки должны лежать в SQLLIB\FUNCTION, если в CREATE FUNCITON указано неквалифицированное имя для library_id.

Я запускаю встроенную функцию USER_GROUPS и получаю в ответ SQL0444N rc 6

select * from table (sysfun.groups_for_user(USER)) AS T
[IBM][CLI Driver][DB2/NT64] SQL0444N Подпрограмма "*S_GROUPS" (с уникальным именем "USERS_GROUPS") реализуется при помощи кода функции "accountsGroups", находящегося в библиотеке или в пути "...IB\bin\routine\db2dbroutext". Этот код функции недоступен. Код причины: "6". SQLSTATE=42724
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062133
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще что... Создал новую базу в 10 версии...
Запрос
select * from table (sysfun.groups_for_user(USER)) AS T
также не проходит....
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062142
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT
Вот еще что... Создал новую базу в 10 версии...
Запрос
select * from table (sysfun.groups_for_user(USER)) AS T
также не проходит....

Это какая-то недокументированная функция, которая, может, и раньше когда-то работала, но, видимо, перестала.
Зачем вы ей пользуетесь?
Её документированный аналог:
Код: sql
1.
2.
SELECT *
FROM TABLE(AUTH_LIST_GROUPS_FOR_AUTHID(USER))
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062145
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что это меня спасет
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062340
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, скачал себе вот отсюда
https://www.ibm.com/ru-ru/analytics/db2/trials
IBM Db2 v11.5.5

db2level выдает

DB21085I Этот экземпляр или установка (имя экземпляра, если есть: "DB2")
используют "64"-битную версию и выпуск кода DB2 "SQL11055" с идентификатором
уровня "0606010F".
Информационные элементы - "DB2 v11.5.5000.1587", "s2011011400",
"DYN2011011400WIN64", а также пакет FixPack "0".
Продукт установлен в "C:\PROGRA~1\IBM\SQLLIB", имя копии DB2 - "DB2COPY1".

db2licm -l выдает
Имя продукта: "DB2 Community Edition"
Тип лицензии: "Сообщество"
Дата истечения срока: "Постоянно"
Идентификатор продукта: "db2dec"
Информация о версии: "11.5"
Максимальный объем памяти (Гбайт): "16"
Максимальное число ядер: "4"

Это теперь вместо Express-C такой продукт? Срок действия у него есть?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062395
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT

db2licm -l выдает
Имя продукта: "DB2 Community Edition"
Тип лицензии: "Сообщество"
Дата истечения срока: "Постоянно"
Идентификатор продукта: "db2dec"
Информация о версии: "11.5"
Максимальный объем памяти (Гбайт): "16"
Максимальное число ядер: "4"

Это теперь вместо Express-C такой продукт? Срок действия у него есть?
Да, считайте, что Community Edition - вместо Express-C.
Срока действия нет. Так же можно использовать в промышленном режиме.
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062675
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein, спасибо большое за помощь... Прошел всю цепочку обновлений
DB2 v9.7.2
DB2 v10.1
DB2 v10.5
DB2 v11.1
DB2 v11.5
База запустилась...

Но дико сильно тупит... Куда можно копнуть?
То есть на DB2 v9.7.2 работала хорошо... Сейчас пользователи лютуют... ОТ железа не зависит, потому как накатил обновление и на старом сервере... Тормоза нереальные на обоих... Идет загрузка процессора...

db2rbind -all сделал.... Runstats тоже...

В плане запросов не такие уж великие цифры....

Может есть какие-нибудь базовые действия при переносе?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062699
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня многое построено на временных таблицах... Мне кажется (на основании SELECT * FROM SYSIBMADM.LONG_RUNNING_SQL), что проблема в них...
С ними могло что-то поменяться в свежих версиях?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062707
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT,

Найти админа Db2, который может проанализировать, например, на основе кэша запросов, что выполнилось в базе за XX минут пиковой / текущей активности.
Отсортировать результат по основным характеристикам - общие потребление cpu, время выполнения, получить планы запросов из кэша (именно из кэша, а то, бывает, создают процедуры со статическим SQL на пустых таблицах, а потом заливают данные и удивляются, почему статистику пересобрали, а планы статических запросов в процедурах не поменялись сами и остались как были - построенными на пустых таблицах). Сравнить показатели и планы с ожидаемыми.
Посмотреть, что в данный момент и с какими характеристиками работает.

На Linux / Unix есть идйщий в поставке скрипт db2mon.sh, который выполняет такой "дельта-анализ".
Collecting and reporting performance monitor data with db2mon

То же самое вы можете сделать сами, пару раз вызвав руками через XX минут что-то типа запроса ниже.
Код: sql
1.
2.
3.
insert into mon.mon_get_pkg_cache_stmt
select current timestamp as ts, t.* 
from table(mon_get_pkg_cache_stmt(null, null, null, -2)) t;


Соединив по каждому запосу (member, execuatable_id) результат в начале и в конце (конец left join начало), вы можете определить, что и с какими показателями за этот промежуток времени выполнилось.
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062713
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT
У меня многое построено на временных таблицах... Мне кажется (на основании SELECT * FROM SYSIBMADM.LONG_RUNNING_SQL), что проблема в них...
С ними могло что-то поменяться в свежих версиях?
В каждой новой версии план того же запроса может поменяться.
Нет никакой общей информации типа "средняя производительность работы с временными таблицами в 11.5 заметно хуже, чем в 9.7".

Получите план из кэша и посмотрите, совпадает ли он с ожидаемым.
EXPLAIN_FROM_SECTION .
Если у вас активное использование временных таблиц, то исторический анализ производится несколько сложнее, чем описанный выше. Эти запросы долго в кэше не живут, и ловить их надо с помощью event monitor for package cache (с COLLECT DETAILED DATA, если потом хотите план запроса получить из таблиц этого монитора). У них каждый раз новый executable_id, и агрегировать надо по идентификаторам запроса (SEMANTIC_ENV_ID, STMTID), чтоб их показатели собрать в кучу.
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062716
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
TORT,

Найти админа Db2, который может проанализировать


Админ ищется... Не подскажете, отчего в папках, выделенных под табличные пространства временных пользовательских таблиц не появляются файлы при создании этих самых таблиц?
Самые тормоза проявляются, когда в ХП идет большой MERGE на временную таблицу... В 9.7.2 такого не было... Отчего спрашиваю, что поменялось в логике работы с ними...
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062718
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT
Не подскажете, отчего в папках, выделенных под табличные пространства временных пользовательских таблиц не появляются файлы при создании этих самых таблиц?
Что вы собираетесь делать с любым из ответов, если даже вы их и получите от, скажем, разработчиков ядра / оптимизатора?
Они там могли поменять что угодно, например, не создавать эти файлы вообще на диске, если данные таблицы помещаются в буфер.
Но что такая информация вам может дать?
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062721
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Но что такая информация вам может дать?

Только то, что алгоритм работы поменялся... Ну или добавились какие-то ограничения при работе с временными таблицами... Может для них нужно таб.пространство пересоздавать и т.п.

На самом деле тормоза происходят при MERGE данных из двух таблиц... Не пойму просто, что с ними не так...

ПыСы: Вы на меня не реагируйте остро, пжлст... Всю ночь с этим развлекаюсь...
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062729
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил индексы на эти таблицы, все стало работать... Впрочем, с DB2 всегда так... За что ее и ценю...
Mark, спасибо....
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062730
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT,

Нет, общая концепция работы с временными таблицами не поменялась ни в одной связанных с ними областей.
При переходе на новую версию такое нередко встречается - "хороший" план запроса поменялся на "плохой", причем это может быть не связано с временными таблицами вообще.
Модификации, сделанный с оптимизатором в новой версии, действительно не всегда приводят только к улучшениям.
Пытайтесь оптимизировать как-то ваш запрос.
...
Рейтинг: 0 / 0
DB2 Express-C 10 или 11 для Win, но обязательно x86
    #40062734
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Пытайтесь оптимизировать как-то ваш запрос.

Уже...
Тут еще наложилось, что GUI 9-й версии мягко говоря отличается от 11-й... :(
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 Express-C 10 или 11 для Win, но обязательно x86
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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