powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема с правами при переходе с версии 8.2 на 9.7
23 сообщений из 23, страница 1 из 1
Проблема с правами при переходе с версии 8.2 на 9.7
    #37655691
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Решил перевести свою базу на DB2 с 8.2 на 9.7.

При установке сервера выбрал создание группы DB2ADMINS на локальном хосте, и прописал локальную учетку.
Псоле того как установился сервер DB2, создал новую группу DB2LOCADMINS. Включил туда учетку
локального админа db2, которую прописал при установке и добавил учетную запись из домена.
Прописал значение DB2LOCADMINS для переменных менеджера DB2 SYSADM_GROUP, SYSCTRL_GROUP, SYSMAINT_GROUP, SYSMON_GROUP. Перезапустил менеджер ДБ2. После этого с добавленой учеткой из домена я могу только остановить и запустить менеджер ДБ2, а на такие операции как list applications, restore и т.д. у нее не хватает полномочий. В каких настройках еще надо прописать группу DB2LOCADMINS , чтобы у доменной учетки появились права как и локального админа DB2. Буду признателен за совет.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37655822
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegA67,

Что выдаёт "db2set -all"? В частности, что прописано в DB2_GRP_LOOKUP?
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37656082
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67,

Добрый день.

Сделайте:
Код: sql
1.
2.
3.
db2set DB2_GRP_LOOKUP=LOCAL
db2stop
db2start
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37656906
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

В регистре DB2 такой переменной не было, выполнил ваши команды

Код: sql
1.
2.
3.
db2set DB2_GRP_LOOKUP=local
db2stop
db2start



результат тот же,

Код: sql
1.
2.
3.
G:\Program Files\IBM\SQLLIB\BIN>db2 list applications
SQL1092N  У "0715" нет полномочий на выполнение затребованной команды или
операции.



Может ли влиять, что у нас в конторе доменные учетки цифровые
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37658482
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67...
Может ли влиять, что у нас в конторе доменные учетки цифровые
Теоретически - может.
General naming rules :

Код: plaintext
1.
 Restrictions 
Do not begin names with a number or with the underscore character.
...Что выдают:
Код: sql
1.
2.
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('0715'));
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('0715', 'U'));
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37660886
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Добрый день
По первому запросу ничего не возвращает.

А по второму это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
authority		d_user	d_group	d_public	role_user	role_group	role_public	d_role
SYSADM		*		N		*		*		*		*		*
DBADM		Y		N		N		N		N		N		*
CREATETAB	Y		N		Y		N		N		N		*
BINDADD		Y		N		Y		N		N		N		*
CONNECT		Y		N		N		N		N		N		*
CREATE_NOT_FENCED_ROUTINE	Y		N		N		N		N		N		*
SYSCTRL		*		N		*		*		*		*		*
SYSMAINT	*		N		*		*		*		*		*
IMPLICIT_SCHEMA	Y		N		Y		N		N		N		*
LOAD		Y		N		N		N		N		N		*
CREATE_EXTERNAL_ROUTINE		Y		N		N		N		N		N		*
QUIESCE_CONNECT Y		N		N		N		N		N		*
SECADM		N		N		N		N		N		N		*
SYSMON		*		N		*		*		*		*		*
SQLADM		N		N		N		N		N		N		*
WLMADM		N		N		N		N		N		N		*
EXPLAIN		N		N		N		N		N		N		*
DATAACCESS	Y		N		N		N		N		N		*
ACCESSCTRL	Y		N		N		N		N		N		*
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37660965
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67,

Добрый день.

Это говорит о том, что db2 не видит, что пользователь входит в DB2LOCADMINS.

Я правильно понял, что DB2LOCADMINS - локальная на сервере DB2 группа, вы ключили в неё доменную учётную запись с именем 0715, DB2GRP_LOOKUP имеет значение LOCAL?

Из-под какого пользователя запускается сервис экземпляра DB2?
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37661227
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

DB2LOCADMINS - локальная на сервере DB2 группа
0715 - доменная учётная запись добавлена в локальную группу DB2LOCADMINS
DB2GRP_LOOKUP=LOCAL

Сервис экземпляра DB2 запускается из под локальной учетной записи которую я прописал при установке сервера.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37661266
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Что-то я запутался.
Создал локальную учетную запись us0715, включил ее в группу DB2LOCADMINS.
Запрос
Код: sql
1.
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('us0715'));


возвращает значение DB2LOCADMINS
Запускаю другой запрос
Код: sql
1.
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('dbadmin'));


возвращает значение пусто.
А dbadmin это та учетка которую я прописал при установке серверар DB2 и из под которого стартует сервис DB2.
А самое смешное я не могу даже законектится к базе с учеткой dbadmin. Сообщение об ошибке что неверный логин или пароль
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662205
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67Запускаю другой запрос
Код: sql
1.
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('dbadmin'));


возвращает значение пусто.
А dbadmin это та учетка которую я прописал при установке серверар DB2 и из под которого стартует сервис DB2.
А самое смешное я не могу даже законектится к базе с учеткой dbadmin. Сообщение об ошибке что неверный логин или пароль

Извеняюсь за предыдущий пост, к вечеру видать переработался. Перепутал имя локальной учетки администратора сервера DB2.
Все возвращает как надо.

Вчера создал в домену новую учетку adm0715, включил в локальную группу DB2LOCADMINS.
И с этой учеткой даже законектится к базе не могу.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662352
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67Вчера создал в домену новую учетку adm0715, включил в локальную группу DB2LOCADMINS.
И с этой учеткой даже законектится к базе не могу.Соединитесь с базой под любым пользователем.
Что выдают:
Код: sql
1.
2.
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('adm0715'));
SELECT * FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('adm0715', 'U'));
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662506
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Первый запрос ничего не вернул, как и с 0715, на второй запрос привожу ссылку на картинку
здесь
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662699
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67Первый запрос ничего не вернул, как и с 0715, на второй запрос привожу ссылку на картинку
здесь Это говорит о том, что db2 не видит, что пользователь входит в DB2LOCADMINS.
Я когда-то проводил эксперименты и вроде отметил для себя, что при DB2GRP_LOOKUP=LOCAL, доменного пользователя можно поместить в локальную группу. Да и в доке так написано:
Authentication with groups and domain security (Windows)
Код: plaintext
If the DB2_GRP_LOOKUP profile registry variable is set to local, then the DB2 database manager tries to enumerate the user's groups on the local machine only.

Попробуйте запустить сервис db2 из-под доменного пользователя с такими же правами, как и у того локального, из-под которого вы сейчас запускаете сервис:

Код: plaintext
db2iupdt  InstName  /u:  domain\username,password 

Проверьте после этого, что этот domain\username пользователь действительно установился у сервиса, входит в DB2LOCADMINS, DB2ADMINS, локальные администраторы, имеет в системе дополнительные права:

Act as part of the operating system

Create token object

Lock pages in memory

Log on as a service

Increase quotas

Replace a process level token

Если и после этого моя пара запросов будет для вашего adm0715 возвращать то же самое, тогда я не знаю...
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662711
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegA67Mark Barinstein,

DB2LOCADMINS - локальная на сервере DB2 группа
0715 - доменная учётная запись добавлена в локальную группу DB2LOCADMINS
DB2GRP_LOOKUP =LOCAL

Сервис экземпляра DB2 запускается из под локальной учетной записи которую я прописал при установке сервера.

Это здесь ошибка (DB2GRP_LOOKUP вместо DB2_GRP_LOOKUP) или исходно? И вытекающий вопрос (на всякий случай) - параметр посредством db2set устанавливался? Ну и до кучи вывод "db2set -all".


PS Добавлено ли что-то ещё в эту группу?
Слышал про ситуацию, когда в группе были другие группы с достаточно длинными именами, и сканирование означеной в SYSADM группы останавливалось как только DB2 натыкалась на "неправильную" позицию.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662751
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein...
Если и после этого моя пара запросов будет для вашего adm0715 возвращать то же самое, тогда я не знаю...Вернее так.
Там же по ссылке сказано:
Код: plaintext
The DB2 database manager enumerates the local and global groups of which the user is a member, using the security database where the user was found.

Т.е. можно понять, что раз нашли пользователя:
- доменного, то и принадлежность его к группам будем проверять в домене
- локального, то и принадлежность его к группам будем проверять на локальной машине

Но у меня отмечено, что и доменного вроде искало в локальной группе при db2_grp_lookup=local
Проверить сейчас не могу.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37662761
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPbЭто здесь ошибка (DB2GRP_LOOKUP вместо DB2_GRP_LOOKUP) или исходно?Да, ошибка.
Надо DB2_GRP_LOOKUP.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37663812
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinЕсли и после этого моя пара запросов будет для вашего adm0715 возвращать то же самое, тогда я не знаю...

Еще возможная причина - учетная запись, от имени которой запущен сервис ДБ2, должна иметь достаточно прав на поиск в AD. Часто ДБ2 работает как Local Service, у которого недостаточно прав; можно попробовать Network Service.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37665793
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

К сожалению перезапустить сервис под доменной учеткой получиться только на выходные, потому что с базой
на этом сервере постоянно работают.
Просто хотелось после входа на сервак по RDP протоколу с доменной учеткой иметь срузу же и админские права на DB2
Но уже смирился с тем что приложения DB2 приходиться запускать под локальной учеткой администратора DB2.

Вынужден был в срочном порядке перетащить свою базу с 8.2 (32-бит) на 9.7 (64-бит).
Перед этим сделал жалкую пародию на тестовое испытание (один пользователь поработал с базой в течение полудня и вроде бы проблем не заметил). Но когда перевел эту базу в промышленную эксплуатацию всех пользователей, полезли проблеммы, которых не было на 8.2. Что бы не плодить тем на форуме спрошу здесь.
Для начала как переносил базу. На 8.2 BACKUP, на 9.7 RESTORE. Процесс RESTORE шел почти 10 часов. В конце вышло сообщение что базу успешно востановлена и обновлена до текущей версии. Проверил коннект к базе, запустил пару хронимых процедур, все работает и успокоился. Но в реальной работе повылазили проблемы. Постоянных конектов к базе более 300, на базе стоит ограничение в 370 конектов. Проблемы выявились в виде подвисания программы. Если раньше на базе 8.2 отчет формировался не более 30 секунд, на 9.7 может формироваться более 20 минут. В ближайщие выходные запушу релрганизацию таблиц, индексов и сбор статистики. Поэтому и хотел спросить как правильно надо было переводить базу 8.2 (32-бит) на 9.7 (64-бит). Буду очень признателен, если кто-нибудь ткнет носом на пошаговую инструкцию, или напишет здесь последовательные шаги.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37666083
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegA67,

По ауторизации.
На виндах не то после развлечений с группами, не то после каких-то изменений environment'а (env variables, regional settings аккаунта, из-под которого DB2 бежит - влияло на поведение некоторых наших UDF) оказалось полезным машину перегрузить.

Но вообще, выглядит так, как буд-то учётка, под которой DB2 бежит, действительно просто к домену обратиться не может.


По переносу. Писал уже, мы в такой ситуации посчитали правильным пересоздать базу .
Готовились с пол-года, сначала обкатав это дело на сильно редуцированных региональных базах, оттестировав тем самым чать приложений. Потом перевели на 9.7 девелоперские и тестовые среды, приложений охватили уже больше. Были какие-то проблемы, но по мелочам (поменялась интеграция с MQ, что-то из UDF пересобрать на 64bit понадобилось).
Когда перенос основной базы планировали, смотрели, когда меньше всего загрузка по изменениям, дабы обеспечить минимальный downtime (меньше донакатывать).
Изменённые с заданного момента таблицы переносили полностью export/load. Load пускали как NONRECOVERABLE с CHECK PENDING CASCADE IMMEDIATE, потом по SELECT tabschema, tabname from SYSCAT.TABLES WHERE status = 'C' пускали в несколько проходов "set integrity for ... immediate checked", пока не останется таблиц в check pending (теоретически есть ситуации, когда это работать не будет (в случае циклических зависимостей)).

В принципе, на заданный набор таблиц (список получили на этапах подготовки), обновляемых в определённое время (утро воскресенья), можно было настроить репликации (таблиц таких получалось не более 40), но посчитали, что их перенос в разумное время вписывается.
Полностью процедура выглядела так:
1. Фриз на изменение структуры объектов (контролировали по идентичности ежедневных снимков db2look).
2. Подготовка структуры новой базы.
3. Запуск следилки изменения данных (пара процедур - смотрим rows_written со снапшотов по таблицам и сравниваем с сохранённым в момент старта).
4. Старт очередного online backup-а.
5. Восстановление полученного бэкапа на отдельном сервере, експорт всех таблиц базы.
6. Импорт всех таблиц базы в подготовленную 9.7. (на самом деле импорт также включён в процедуру подготовки структуры перед созданием индексов, сбором статистики и созданием процедур, т.е. все планы готовятся сразу по актуальной статистике).
7. В несколько итераций перетаскиваем изменяемые таблицы уже из рабочей базы вновую (каждый раз уменьшая размер дельты) вплоть до часа X.
8. В час X закрываем доступ к "старой" базе (для страховки переименовываем), переносим "остатки".
9. Запускаем ту же следилку за изменениями на новой базе ( !!! ), обеспечивая возможность обратного переезда.
10. Открываем доступ к новой базе на 9.7.

По факту переезд прошёл очень гладко. Хотя весь зоопарк приложений всё-таки не оттестировали, и был ряд проблем, чуть не заставивших возвращаться обратно (коннективити из СOM+ или DCOM объектов, связанное, скорее, со сменой виндов, и магическим образом решившееся перерегистрацией объектов через какие-то из контейнеров в component services).
Вся процедура после предварительных репетиций заняла неделю (для базы с выходом из-под db2look в 12Mb). Наибольшие сложности определялись глюками db2look (типа микширования параметров процедур с одинаковыми именами из разных схем при генерации GRANT'ов).

Не думаю, что всегда правильно городить такой огород, но в нашем случае было, пожалуй, оправдано.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37669042
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb,

Сейчас вышли проблемы с пересозданием хранимых процедур.
Сама процедура пересоздается без проблем.
Но при вызове ее выходит сообщение об ошибке SQL0727N.
Код: sql
1.
An error occurred during implicit system action type "5".  Information returned for the error includes SQLCODE "-551", SQLSTATE "42501" and message tokens "US0810|SELECT|PU.GRAPHIS".  SQLSTATE=56098



В хелпе про action type "5", написано
Код: sql
1.
incremental  bind  of  a  static  SQL  statement,  not bound  during  package  bind  time 


Насколько я понял, не сделано связывание объектов. Но не могу разобраться как это сделать.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37669051
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67An error occurred during implicit system action type "5". Information returned for the error includes SQLCODE "-551", SQLSTATE "42501" and message tokens "US0810|SELECT|PU.GRAPHIS". SQLSTATE=56098
Код: plaintext
1.
2.
3.
4.
>db2 "? sql551"

SQL0551N  "<authorization-ID>" does not have the required authorization
      or privilege to perform operation "<operation>" on object
      "<object-name>".
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37669785
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Действительно проблема была в авторизации.
Хранимую процедуру пересобирал из под новой локальной учетки администратора DB2 для 9.7.
После того как эту же процедуру пересобрал под доменную учеткой 0715, которая числилась в
администраторах на 8.2, то все заработало.
Вышел на проблему авторизации когда пытался создать новую тестовую процедуру на 9,7
и при попытке создания процедуры вышло сообщение что локальная учетка администратора DB2
не имеет право на select к таблицы.
В общем после перехода на 9.7 путаница с правами продолжается.
...
Рейтинг: 0 / 0
Проблема с правами при переходе с версии 8.2 на 9.7
    #37701674
Anka_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegA67.....В общем, после перехода на 9.7 путаница с правами продолжается.
Аналогично, первый раз напоролась, когда созданная при установке TOOLSDB послала далеко и надолго db2admin'a при попытке посмотреть её таблицы, тогда помог совет использовать команду at hh:mm /interactive. При чём тогда, когда ставила db2 указала как обычно LocalSystem... и учётка db2admin там всё было по правилам.

Сегодня, опять прилетели грабли в лоб, но уже с garnt'ом на учётку типа 9048, которая является доменной и из под которой ставилась db2, сначало были сообщения типа сама себе привилегии не можешь дать. Я запускаю через at hh:mm /interactive db2cmd и пишу db2 grant DBADM, SECADM on DATABASE to user "9048", а мне в ответ типа ошибка после to user. Я перегружаюсь с db2admin, которая входит в db2admns и Администраторы и прописана на этой машине, а с платформы говорят это город Ленинград… Таблицы то мне после этого удалось отапдейтить и даже create где то проскочил, но вот с TOOLSDB теперь облом и чую что ни только с ней, хоть бери да переставляй db2

Я помню об исключениях типа цифровых учёток, однако на 8.2 экранирование кавычками срабатывало.
Может ошибка ни в привилегиях, а в ошибке с применением второй пары кавычек, которая была на 9.7 без фиксов, а?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема с правами при переходе с версии 8.2 на 9.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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