|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
с этим разобрался, ошибка появляется из-за того, что я пытаюсь выдать прапа пользователю тем же пользователем. зашел под другим, и смог провести GRANT. выдал на connect, load on db, но при попытке войти под логином и паролем через Toad, выдает ошибку: ERROR [42524] [IBM][DB2/AIX64] SQL0969N There is no message text corresponding to SQL error "-5193" in the message file on this workstation. The error was returned from module "SQLRW00C" with original tokens "". SQLSTATE=42524 открывает обозреватель, но выбрать и открыть ничего не могу. МОжет, нужно какие-то другие привилегии прописывать для пользователя ? [img=] ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 09:06 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko...но при попытке войти под логином и паролем через Toad, выдает ошибку: ERROR [42524] [IBM][DB2/AIX64] SQL0969N There is no message text corresponding to SQL error "-5193" in the message file on this workstation. The error was returned from module "SQLRW00C" with original tokens "". SQLSTATE=42524 открывает обозреватель, но выбрать и открыть ничего не могу. МОжет, нужно какие-то другие привилегии прописывать для пользователя ? [img=] Вы можете либо получать описание ошибок из командной строки, как я написал ранее, либо смотреть в документации. SQL5193N По этой ошибке смотрите Granting the USAGE privilege on a workload . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 10:49 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, посмотрел описание, там есть момент с workload, для которой должно быть предоставлено право использования. и синтаксис: Код: plsql 1.
так же написано, что SYSDEFAULTUSERWORKLOAD является рабочей нагрузкой по умолчанию. Просто я побаиваюсь вводить такие команды, где нужно что-то включать или выключать. Подскажите, это безопасно, или нужно каким-то образом workload узнать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 11:15 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko... так же написано, что SYSDEFAULTUSERWORKLOAD является рабочей нагрузкой по умолчанию. Просто я побаиваюсь вводить такие команды, где нужно что-то включать или выключать. Подскажите, это безопасно, или нужно каким-то образом workload узнать? Вот все ваши workload'ы с информацией о том, включены они или нет: Код: sql 1.
Вот информация о том, какие привилегии имеет пользователь <USER> на workload'ы либо лично, либо через группы или роли: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Насчет безопасно или нет что-то включать/выключать - спросите своего админа. У него могут быть свои соображения на этот счет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 12:05 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, по первому запросу вывело: SYSDEFAULTUSERWORKLOAD и SYSDEFAULTADMWORKLOAD а по второму пусто.... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 12:17 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
попробовал отдельно получить результаты по таблицам: AUTH_LIST_GROUPS_FOR_AUTHID AUTH_LIST_ROLES_FOR_AUTHID по первой получил: DASADM1, DWGRP, STAFF для уже имеющегося пользователя, STAFF для нового пользователя. по второй таблице пусто ка обоих пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 12:33 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenkoпо первому запросу вывело: SYSDEFAULTUSERWORKLOAD и SYSDEFAULTADMWORKLOAD а по второму пусто....Смысл запросов: - 1-й показывает не только список workload'ов, но и доступны они для использования или нет (поле ENABLED) - Если для какого-то пользователя 2-й запрос возвращает пусто или только workload'ы из первого запроса, у которых ENABLED='N', то пользовательская сессия (справедливо для пользователя, не имеющего WLMADM или DBADM в базе) не может быть ассоциирована ни с одним workload'ом (как для вашего нового пользователя) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 12:59 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, по первому запросу поле Enable = Y правильно ли я понимаю, что мне теперь нужно сделать: Код: plsql 1.
а потом: Код: plsql 1.
и для второго WORKLOAD аналогично, чтобы наконец я смог авторизоваться и работать с базой через Toad? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 13:33 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko... правильно ли я понимаю, что мне теперь нужно сделать ... чтобы наконец я смог авторизоваться и работать с базой через ToadДля возможности ассоциации с workload'ом необязательно давать пользователю DBADM - это слишком широкие права. Достаточно одно из: - дать права пользователю на SYSDEFAULTUSERWORKLOAD - найти / создать новый workload так, чтобы все его connection-attributes соответствовали атрибутам сессии, и дать пользователю права не него Toad'у для нормальной работы могут понадобиться еще и права на чтения из представлений системного каталога, чтоб показывать вам всякие метаданные (списки и свойства объектов базы, например). Поэтому, могут понадобиться еще и права на представления схемы SYSCAT. Может еще что-то. Я не работаю с Toad и не знаю, что там ему еще надо... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 14:20 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, вышло!) выполнил вторую команду для workload только вот что-то странное. новому пользователю права на таблицы и схемы я не давал, только одну группу staff. и в таблице SYSCAT.TABAUTH тоже нет ни одной строки с новым пользователем. но у него сейчас есть полный доступ ко всем таблицам и схемам. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 14:46 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
из всех привилегий у пользователя только одна, на базу - GRANT CONNECT. у меня предположение, что это или из-за группы staff, или из-за workload... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 15:06 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenkoиз всех привилегий у пользователя только одна, на базу - GRANT CONNECT. у меня предположение, что это или из-за группы staff, или из-за workload...В db2 пользователь может иметь права на объект, если они выданы на группу или роль пользователя, а не только ему лично. Немного модифицированный запрос, позволяющий понять, как именно данный пользователь (не имеющий DATAACCESS в базе, иначе он и без этого имеет rw права) получил права на представление в данном случае. Права пользователя '<USER>' на view SYSCAT.TABLES Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 16:11 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, почему-то ничего не вывело. пробовал и начальный запрос, и с добавление пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 16:15 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
выполнил запрос такой: Код: plsql 1.
получил выборку ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 16:23 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko, Я ведь написал, что этот запрос есть смысл использовать, если у пользователя нет DATAACCESS на базу. Согласно вашему запросу, у этого пользователя есть такие права, выданные ему лично. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 16:37 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, подскажите, что мне нужно сделать? я отозвал полномочия на dataaccess, и у меня выдает ошибку на это при подключении, логично. но мне нужен доступ для этого пользователь только к одной таблице. я не понимаю, какие действия нужно выполнить ( grant на таблицу и схему не дали результатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 16:50 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko, Просьба не писать о проблеме типа "и у меня выдает ошибку на это при подключении". По каждой проблеме желательно приводить саму команду и полное сообщение об ошибке. Если это SQL5193N, то проверяйте права пользователя на workload'ы. Если это SQL0551N, то проверяйте права пользователя на таблицу. Оба запроса я уже привел. Если выдаются пустые результаты, надо разбираться, почему вроде бы при выданных правах их нет на самом деле. Если что-то другое - укажите, как я здесь попросил... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 17:15 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, извини за малую информативность. да, вторая ошибка была - SQL0551N "MYTUSR" does not have the required authorization or privilege to perform operation "EXECUTE" on object "NULLID.SYSSH200". но ничего нигде на находит. все скрипты перепробовал... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 17:33 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko...вторая ошибка была - SQL0551N "MYTUSR" does not have the required authorization or privilege to perform operation "EXECUTE" on object "NULLID.SYSSH200". но ничего нигде на находит. все скрипты перепробовал...Это отсутствие прав на т.н. DB2 CLI пакеты. В non-restrictive базе права их выполнять даются всем пользователям. У вас, видимо, нет. Вы можете сгенерировать запросом команды выдачи прав вашему пользователю, а потом эти сгенерированные команды выполнить. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2019, 18:19 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, доброе утро!! сделал, как Вы сказали, предварительно удалив DATAACCESS у нового пользователя. появляются новые ошибки, сначала ругалось на SYSCAT.SCHEMATA, теперь так: SQL0551N "MYTUSR" does not have the required authorization or privilege to perform operation "SELECT" on object "SYSIBM.SYSDUMMY1". следовательно, нужно делать GRANT SELECT на все объекты, правильно? а можно получать их список, аналогично packages из вашего прошлого запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 09:31 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
выполняю запрос: Код: sql 1.
но мне выводит полный список, их там 646, но наверняка, их нужно меньше. или я вообще не туда рою?) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 09:38 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko, Объектов разных в базе много, навряд ли вам надо прямо на все права давать. Для инструментов типа Toad обычно достаточно дать права на представления в схеме SYSCAT + некоторые таблицы/представления в схеме SYSIBM (к ним обычно не рекомендуется обращаться за редким исключением типа SYSIBM.SYSDUMMY1) по необходимости. Список таблиц и представлений в DB2 можно получить из SYSCAT.TABLES . Генерация команд выдачи прав на чтение на представления схемы SYSCAT Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 10:18 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, как же сложно впервые это делать без знания и понимания....Вы очень сильно меня выручили снова, спасибо огромное. Я получил список объектов SYSCAT, но решил пока не давать пользователю все права, пошагово получал список ошибок и давал привилегии по ним, по итогу, чтобы открыть таблицу, нужно было дать 6 привилегий, но понимаю, что есть еще индексы, модули, алиасы, функции и тд, которые хранятся в схеме, и чтобы был доступ к ним, все же нужно применять скрипт, который Вы давали последним. но на текущее состояния, мне кажется, что все выполнено успешно - у меня есть пользователь, который имеет доступ только к одной схеме и права только на таблицу в этой схеме. буду пробовать создать нового пользователя на чистовую, и обязательно составлю методичку по этому) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 10:50 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko... буду пробовать создать нового пользователя на чистовую, и обязательно составлю методичку по этому)Если для новых пользователей нужен будет тот же набор прав или бОльшая его часть, то удобно сделать одно из: - создать роль, грантовать ей эти права, новому пользователю грантовать эту роль - создать группу в ОС, грантовать ей эти права, нового пользователя включать в эту группу ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 10:57 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, правильно я понимаю, что роль и группа имеют одинаковые свойства, только роль создается на уровне базы, а группа на уровне ОС? с ролью разобрался, с группами как-то не совсем понимаю, как можно давать права на группу, чтобы пользователь состоя в этой группе получал доступ к базе. и еще, для моего понимания, объясните, пожалуйста, доступ к группе открывает возможность работать с базой именно через консоль? можно ли что-то сделать с тем, когда у нового пользователя нет изначально доступа к командам db2? (при создании пользователя указать каталог useradd /home/db2inst1/sqllib/db2profile/<user> -m <user>, или я несу чушь? :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 11:28 |
|
|
start [/forum/topic.php?fid=43&msg=39757933&tid=1600283]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 149ms |
0 / 0 |