powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded
36 сообщений из 36, показаны все 2 страниц
ORA-28031: maximum of 148 enabled roles exceeded
    #39267794
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Выполняю импорт, получаю ошибку:
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-31625: Schema MYSCHEMA is needed to import this object, but is unaccessible
ORA-28031: maximum of 148 enabled roles exceeded
Failing sql is:
GRANT SELECT ON "MYSCHEMA"."MY_SEQUENCE" TO "USER123";

Что означает ошибка ORA-28031: maximum of 148 enabled roles exceeded мне вроде бы понятно,
что пользователю нельзя дать больше 148 включенных ролей.
Но причем здесь выдача роли, когда идет выдача объектной привилегии?
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267823
Casper_ora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reaque,
Грантов на импорт нет, понятно же!
Код: plaintext
GRANT failed to create with error
есть гранты только на
Код: plaintext
GRANT SELECT ON "MYSCHEMA"."MY_SEQUENCE" TO "USER123";
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267825
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaque,

ну, отключите ролей несколько и импортируйте себе
а потом расскажете, что за роль там притаилась (в кустах ;)

вообще, не правильно (имхо) ходить по краю стакана жить на грани лимита
(там чудеса .. )
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267844
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casper_ora, выполяем импорт под SYSTEM.
В процессе импорта он не выдает GRANT SELECT ON "MYSCHEMA"."MY_SEQUENCE" TO "USER123";
но если сразу после импорта выполнить выдачу под SYSTEM - выполнится.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267846
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orawish, на грани лимита работает сданное разработчиком когда-то приложение.
Если заранее отключить n-ное количество ролей, может и пройдет.
Мне не понятно почему он конкретно не ругается на строку выдачи роли, а ругается на выдачу объектной привилегии.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267848
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishну, отключите ролей несколько и импортируйте себе
2 reaque
Вы не описали, как вы делаете импорт...
Предполагаю, что некий юзер уже существует там, куда импорт идёт, и имеет уже порядочный набор ролей.
Плюс импорт попытался повесить на него дополнительно ....
Обычно, если за этим не следить, сим страдают аккаунты с админскими правами, под которыми создавались роли.
И сие роли, по умолчанию, вешаются на их создателя, хотя они ему и напрочь не нужны...
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267851
UDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaque,

Какое значение у параметра max_enabled_roles и сколько их у тебя реально в dba_roles?
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267852
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

экспорт делаем под SYS-ом все-таки, а не под SYSTEM.
Может быть тогда пройдет импорт под SYS.

expdp \'/ as sysdba\' directory=dump dumpfile=mybase_2016_07_01.dmp logfile=mybase_2016_07_01.log exclude=statistics consistent=y full=y

impdp system/XXXXXX@mybase directory=dmp dumpfile=mybase_2016_07_01.dmp logfile=mybase_2016_07_01.log EXCLUDE=SCHEMA:"in('APEX_030200','APPQOSSYS','CTXSYS','DBSNMP','EXFSYS','FLOWS_FILES','MDSYS','OLAPSYS','ORACLE_OCM','ORDDATA','ORDPLUGINS','ORDSYS','OUTLN','OWBSYS','OWBSYS_AUDIT','SYS','SYSMAN','WMSYS','XDB','SYSTEM')"

Импорт делаем в пустую только что созданную БД.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267855
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UDW,

Всего ролей до переноса (dba_roles): 260
Всего ролей после переноса (dba_roles): 260
В обеих БД max_enabled_roles = 150
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267867
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaque,

верси и сервер ов
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267872
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orawish,

Источник: 11.2.0.1.0
Целевая: 11.2.0.3.0
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267874
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaqueэкспорт делаем под SYS -ом
... в этом случае, если в базе есть активности, вы рискуете получите неконсистентый экспорт.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267876
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

параметр consistent=y не спасает?
в любом случае экспорт выполняется ночью при отсутствующей активности.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267879
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом случае consistent=y не спасает.
И нет обсолютно никакого смысла делать это под SYS , тем более, что дока этого не рекомендует (разве что делать это по просьбе саппорта.)
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267893
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте отдельный аккаунт. Дайте ему CREATE SESSION и IMP_FULL_DATABASE .
Этого достаточно для ипорта.
Глядишь и ошибки избежите...
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267964
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

в данном случае получаем ошибку:
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39006: internal error
ORA-39068: invalid master table data in row with PROCESS_ORDER=-4
ORA-01950: no privileges on tablespace 'USERS'
ORA-39097: Data Pump job encountered unexpected error -1950

Под SYS импорт не проходит с аналогичными ошибками, как и под SYSTEM.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39267986
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViewerСоздайте отдельный аккаунт. Дайте ему CREATE SESSION и IMP_FULL_DATABASE .
Этого достаточно для импорта ..
Извините, этого достаточно для классического импорта, для datapump нужны некоторые дополнительные вещи.
http://qdosmsq.dunbar-it.co.uk/blog/2013/08/introduction-to-oracle-datapump-part-1/ If you only ever intend to run datapump jobs as the SYSDBA enabled users, then this is all we need.
However, if you intend to set up another user for this purpose, the following needs to be carried out or the user in question won’t be able to run the datapump utilities.

SQL> create user datapump_admin identified by secret
2 default tablespace users
3 quota unlimited on users;
User created.

SQL> grant create table to datapump_admin;
Grant succeeded.

SQL> grant datapump_exp_full_database to datapump_admin;
Grant succeeded.

SQL> grant datapump_imp_full_database to datapump_admin;
Grant succeeded.

SQL> grant read, write on directory my_datapump_dir to datapump_admin;
Grant succeeded.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268003
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

Выполнили импорт под специально созданным пользователем - результат тот же.
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-31625: Schema MYSCHEMA is needed to import this object, but is unaccessible
ORA-28031: maximum of 148 enabled roles exceeded
Failing sql is:
GRANT SELECT ON "MYSCHEMA"."MY_SEQUENCE" TO "USER123";
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268029
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaqueИмпорт делаем в пустую только что созданную БД.
Вы при повторных попытках импорта не забываете удалить то что позаливалось (достаточно удалить юзеров и владельцев схем) ?
Ну и проверьте, кто из-них, на данный момент, черезчур подзатарился ролями
Код: plsql
1.
2.
3.
4.
5.
6.
SELECT   username, (SELECT COUNT (DISTINCT granted_role)
                          FROM dba_role_privs
                    START WITH grantee = username
                    CONNECT BY grantee = PRIOR granted_role) count_roles
    FROM dba_users
ORDER BY count_roles DESC;
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268421
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У ролей нет владельца
Поэтому при импорте (полном) роли создаются тем юзером, из-под которого выполняется импорт, а затем назначаются в соответствии с данными экспорта. Если юзеру, выполняющему импорт, не назначена данная роль, то он сам у себя отбирает права на нее. А вот в какой момент он это делает -- большой вопросПо крайней мере, так было со стандартными imp/exp
При создании роли (из файла экспорта) она сразу же назначается создателю -- вот он и вылазит за ограничение.

Варианты -- не экспортировать/импортировать роли, а пересоздать их скриптом.
Или создать для импорта отдельного юзера, дать ему DATAPUMP_IMP_FULL_DATABASE и назначить дефолтовой только ее (alter user ... default role DATAPUMP_IMP_FULL_DATABASE), тогда вновь создаваемые роли не будут автоматом подключаться и влиять на ограничение

По идее, должно пролезть
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268442
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

результат запроса:
MYSCHEMA1 259
MYSCHEMA2 98
MYSCHEMA3 93
MYSCHEMA4 86
MYSCHEMA5 82
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268458
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще max_enabled_roles увеличить до 500, и не париться по этому поводу?
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268461
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nata44845,

с 9 или 10 версии вроде как этот параметр уже ни на что не влияет и Оракл жестко ограничивает максимальное количество ролей 148, даже если ты напишешь миллион.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268462
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, зачем ему тогда полный экспорт, если он все равно исключает системных пользователей

Не проще ли тогда делать по схемам?

expdp user/pwd@host DIRECTORY=DTPUMP DUMPFILE=user_SCH.DMP LOGFILE=user_SCH.LOG SCHEMAS=user REUSE_DUMPFILES=Y FLASHBACK_TIME=SYSTIMESTAMP (ну или тут CONSISTENT=Y)
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268464
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, не посмотрела, что вы Топикстартер.

Вообще как тогда они на первой базе создались при таком ограничении в количестве 260 штук?
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268465
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и раньше (в 7-ке точно) было ограничение в 148
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268466
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно понимать, что это ограничение на включенные роли
Если они по дефолту не включаются -- то хоть тыщу
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268473
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Ааа, то есть у него тут при импорте они сразу включенными добавляются, в этом закавыка, тогда понятно...
Ну тогда EXCLUDE надо сформулировать для ролей, а если по хитрому, то для отключенных ролей, ну или списком хотя бы...
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268477
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут как раз и изюминка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
tst> create user u3 identified by u3;

User created.

tst> grant create session, create role, alter user  to u3;

Grant succeeded.

tst> connect u3/u3@tst
Connected.
tst> create role u3_role;

Role created.

tst> alter user u3 default role u3_role;

User altered.

tst> create role u3_role_1;

Role created.

tst> select * from user_role_privs;

USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
PUBLIC                         PLUSTRACE                      NO  YES NO
U3                             U3_ROLE                        YES YES NO
U3                             U3_ROLE_1                      YES NO  NO

tst> 
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268501
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nata44845,

оракл разрешает выдавать более 148 ролей пользователю, но "включенными" (enable или по умолчанию default role) могут быть не больше 148, хотя у меня и показывает включенных 152 роли на боевой БД.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268551
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reaque,

А он не захватывает системные роли с системными схемами?
Может при импорте сделать EXCLUDE системных схем?

Если не поможет, тогда колхозь EXCLUDE при импорте ролей.
Чего еще делать-то...
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268552
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, при экспорте EXCLUDE системных схем.
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268617
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845А он не захватывает системные роли с системными схемами?
Может при импорте сделать EXCLUDE системных схем?
Натали, вы плохо себе представляете, что попадает в дамп, в частности при export full database.

Не капайте кетчуп на свелый мундир, это портит имидж...
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39268631
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nata44845,

в начале дискуссии есть скрипт импорта с указанием параметра EXCLUDE и перечислением схем, о которых бы говорите
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39269136
UDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ORA-28031: maximum of 148 enabled roles exceeded
    #39269382
reaque
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем, вопрос снимается, отключил у MYSCHEMA1 почти все роли (оставил 3 default). Экспорт-Импорт прошли успешно без этих ошибок.
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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