Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded / 25 сообщений из 36, страница 1 из 2
05.07.2016, 10:43:50
    #39267794
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
Добрый день.
Выполняю импорт, получаю ошибку:
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
05.07.2016, 11:22:30
    #39267823
Casper_ora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
reaque,
Грантов на импорт нет, понятно же!
Код: plaintext
GRANT failed to create with error
есть гранты только на
Код: plaintext
GRANT SELECT ON "MYSCHEMA"."MY_SEQUENCE" TO "USER123";
...
Рейтинг: 0 / 0
05.07.2016, 11:28:07
    #39267825
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
reaque,

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

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

Какое значение у параметра max_enabled_roles и сколько их у тебя реально в dba_roles?
...
Рейтинг: 0 / 0
05.07.2016, 12:00:30
    #39267852
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
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
05.07.2016, 12:02:48
    #39267855
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
UDW,

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

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

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

параметр consistent=y не спасает?
в любом случае экспорт выполняется ночью при отсутствующей активности.
...
Рейтинг: 0 / 0
05.07.2016, 12:24:56
    #39267879
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
В этом случае consistent=y не спасает.
И нет обсолютно никакого смысла делать это под SYS , тем более, что дока этого не рекомендует (разве что делать это по просьбе саппорта.)
...
Рейтинг: 0 / 0
05.07.2016, 12:44:37
    #39267893
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
Создайте отдельный аккаунт. Дайте ему CREATE SESSION и IMP_FULL_DATABASE .
Этого достаточно для ипорта.
Глядишь и ошибки избежите...
...
Рейтинг: 0 / 0
05.07.2016, 14:07:34
    #39267964
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
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
05.07.2016, 14:29:35
    #39267986
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
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
05.07.2016, 14:49:06
    #39268003
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
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
05.07.2016, 15:06:42
    #39268029
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
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
06.07.2016, 02:59:26
    #39268421
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
У ролей нет владельца
Поэтому при импорте (полном) роли создаются тем юзером, из-под которого выполняется импорт, а затем назначаются в соответствии с данными экспорта. Если юзеру, выполняющему импорт, не назначена данная роль, то он сам у себя отбирает права на нее. А вот в какой момент он это делает -- большой вопросПо крайней мере, так было со стандартными imp/exp
При создании роли (из файла экспорта) она сразу же назначается создателю -- вот он и вылазит за ограничение.

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

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

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

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

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

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
06.07.2016, 08:31:29
    #39268464
nata44845
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-28031: maximum of 148 enabled roles exceeded
Пардон, не посмотрела, что вы Топикстартер.

Вообще как тогда они на первой базе создались при таком ограничении в количестве 260 штук?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28031: maximum of 148 enabled roles exceeded / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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