Привилегии пользователя исходной базы данных Oracle
Конвертум Мастер использует операторы SELECT к таблицам и представлениям all_*, dba_* и sys.*, чтобы извлечь информацию об исходном DDL для всех объектов, которые необходимо преобразовать. Таким образом, для экспорта объектов Oracle необходимы следующие привилегии:
- CREATE SESSION
- SELECT ANY TABLE
- GRANT SELECT ON sys.procedure$
- GRANT SELECT ON dba_users
- GRANT SELECT ON dba_part_key_columns
- GRANT SELECT ON dba_synonyms
- GRANT ALL [PRIVILEGES] ON OWNER.OBJECT_NAME for each object that needs to be migrated
Вы можете поместить оператор SELECT в LOOP с помощью EXECUTE IMMEDIATE, который будет генерировать полномочия для объектов.
BEGIN
FOR cur IN (SELECT object_type, 'grant all on '||owner||'.'||object_name||' to <YOUR_USER_NAME>' as exec_stmt FROM all_objects
WHERE object_type NOT IN ('INDEX','LOB','TABLE PARTITION','CLUSTER','CONSUMER GROUP','CONTEXT','DESTINATION','DIRECTORY',
'EDITION','EVALUATION CONTEXT','JAVA CLASS','INDEX PARTITION','JOB','JOB CLASS','JAVA DATA',
'JAVA RESOURCE','XML SCHEMA','LIBRARY','LOB PARTITION','OPERATOR','WINDOW')
AND owner IN ('<YOUR_LIST_OF_SCHEMA_NAMES>')
) LOOP
EXECUTE IMMEDIATE cur.exec_stmt;
END LOOP;
END;
Или можно инициировать GRANT DBA TO user_name.
Минимальные привилегии, необходимые для сбора информации о DDL-объектах:
- GRANT CREATE SESSION TO YOUR_ORACLE_USER;
- GRANT SELECT ANY DICTIONARY TO YOUR_ORACLE_USER;
В этом случае необходимо выбрать опцию "DBA" на странице "Исходные параметры". Чтобы выбрать опцию "DBA", нажмите кнопку "Ещё…":
Если у вас есть другие вопросы, пожалуйста, свяжитесь с нами: support@convertum.ru
