powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded
25 сообщений из 36, страница 1 из 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
25 сообщений из 36, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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