18.07.2023 15:55
Переносил данные Datapump-ом, и слетели роли (в логе записи "роль ... не существует").

Решил воспользоваться генератором БД, давно не пользовался.

Вроде прогнал он свои дела успешно, но в журнале ошибка "Maximum of 148 enabled roles exceeded ".

В поиске эту тему нашел, но что-то не понял рекомендаций.

Какая-то древняя проблема, видимо.
Подскажите, как дальше поступить?
Пересоздать БД, перевлить данные и разбираться с ошибкой создания ролей?
Миниатюры
Нажмите на изображение для увеличения
Название: 111.png
Просмотров: 26
Размер:	35.1 Кб
ID:	12062   Нажмите на изображение для увеличения
Название: 222.png
Просмотров: 18
Размер:	122.4 Кб
ID:	12063  
18.07.2023 16:14
К сожалению, мне не хватает контекста, чтобы точно понять, как помочь вам. Однако, если вы превысили максимальное количество ролей в вашей базе данных, вам придется принять некоторые решения и выполнить определенные действия. Вот несколько шагов, которые вы можете попробовать:

1. Проверьте, какие роли вам действительно необходимы, и удалите неиспользуемые роли. Это позволит освободить место для новых ролей.
2. Если удаление ролей не помогает удержать общее количество ролей в пределах максимального допустимого значения, вы можете попробовать использовать группировку ролей. Создайте несколько ролей и добавьте в них пользователей, которым требуются сходные разрешения. Это позволит вам сократить количество отдельных ролей.
3. Если ни одно из вышеперечисленных решений не подходит, вам возможно придется пересоздать базу данных и передать свои данные снова. Подготовьтесь к этому, следите за процессом и убедитесь, что он выполняется без ошибок.
4. Если ошибка «d» не ясна, вам следует изучить более подробный журнал ошибок или обратиться к документации или поддержке для вашей специфической базы данных. Возможно, это проблема, специфичная для используемой вами версии или конфигурации БД.

Учтите, что все эти действия могут повлечь за собой некоторые нежелательные последствия, поэтому рекомендуется сделать резервные копии данных перед началом процесса и, по возможности, проконсультироваться с профессионалами, знающими вашу конкретную базу данных.
18.07.2023 18:59
Решение.
Одно из многих, понятно.

1. Создаем пустую БД.
2. Юзера SUPERMAG создаем, его базовые гранты выдаем (create session, unlimited tablespace и т.п.)
3. Прогоняем генератор с галкой "новая БД".
4. Дропаем все таблицы SUPERMAG.
5. Проводим impdp.
6. Роли Супермага следует создать новые и назначить юзерам.
7. При наличии кастомизации проводим compare objects (views, packages, triggers, ...) с другой магазинной БД.
18.07.2023 20:56
Что-то все очень заморочено как-то и мало вводных, как и сказал Капитан :)
Во-первых, почему пригорело именно expdp? Обычным exp все очень хорошо переносится.
Потом, если уж пригорело, то почему было не догнать с CONTENT=metadata_only или тем же exp ROWS=N?
И как-то меня сильно напрягает сообщение, что превышено количество ролей у SYS, а не SUPERMAG, есть подозрения, что кастомизация уже вышла из под контроля.
Есть предположение, что ты не сделал полный дамп, чтобы получить роли, а потом стал их искать там, где их нет.
Полным дампом все нормально переносится. В качестве бонуса еще обрати внимание, что некоторые права не переносятся и полным. Их перечень есть в FAQ.
19.07.2023 10:33
Когда вышла 10-ка, мы так обрадовались быстрому expdp, что я с тех пор забыл про exp :)

>>> CONTENT=metadata_only или тем же exp ROWS=N

Поимею в виду на будущее.

>>> кастомизация уже вышла из под контроля.

Моя кастомизация ролей не касается. Вероятно, это результат моих скриптов, которыми я пытался нагнать роли из другой БД.
19.07.2023 18:12
Цитата:
DMaslov мы так обрадовались быстрому expdp, что я с тех пор забыл про exp
exp не параллелится, да, но в целом очень даже быстр, если использовать BUFFER. а, главное, сильно проще, что ускоряет его за счет отсутствия работы и граблей по предварительной подготовке.
Часовой пояс GMT +3, время: 20:27.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.