28.05.2020 13:02
OlegON
 
Чтобы скопировать базовые права пользователя, можно запомнить вывод этих команд и применить их уже с другим пользователем
SQL код:
SELECT DBMS_METADATA.GET_DDL('USER''...'FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','...'FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','...'FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','...'FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA''...'FROM DUAL
Подчеркиваю, что это речь о копировании самых основных прав и необходимо иметь ввиду, что целевые объекты тоже должны быть перенесены, если речь идет о переносе из базы в базу. Кроме того, еще существуют профили, ACL и прочие нюансы, поэтому, в целом, перенос прав пользователей лучше начинать только в случае крайней необходимости и учитывать, что гарантий на полноценный результат никто не даст. Есть еще вариант с экспортом всей базы без учета строк данных, но это может принести неприятный сюрприз, если таблицы все же различаются.

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