Gestión de roles y privilegios al migrar a Autonomous AI Database
Al migrar de otras bases de datos Oracle a Autonomous AI Database, puede observar diferencias en la forma en que se soportan los roles y los privilegios del sistema. Algunos roles y privilegios comunes en las bases de datos Oracle tradicionales no están disponibles en Autonomous AI Database. Esto se debe principalmente a:
- Autonomous AI Database está totalmente gestionada: muchas operaciones de gestión de bases de datos realizadas mediante estos privilegios y roles se gestionan automáticamente, y otorgarlas podría comprometer la seguridad de Autonomous AI Database.
- Sustitución y mejora con nuevos roles: ciertos roles anteriores se sustituyen o amplían con roles específicos de Autonomous AI Database que proporcionan capacidades equivalentes.
Para garantizar una experiencia de migración perfecta, Autonomous AI Database gestiona automáticamente roles y privilegios no soportados:
- Ignorar sentencias no soportadas: se ignoran las sentencias que hacen referencia a roles o privilegios no soportados en Autonomous AI Database.
- Asignación a equivalentes soportados: en muchos casos, los roles no soportados se sustituyen por sus equivalentes de Autonomous AI Database correspondientes, como la sustitución del rol
DBApor el rolPDB_DBA.
Estas conversiones se realizan de forma transparente. Después de la migración, puede revisar las sentencias convertidas automáticamente en la vista DBA_CONVERTED_STATEMENTS. En la siguiente tabla, se muestran los roles de otras bases de datos Oracle y sus equivalentes asignados en Autonomous AI Database:
| Rol de base de datos de origen | Rol asignado en Autonomous AI Database |
|---|---|
DBA |
PDB_DBA |
DATAPUMP_EXP_FULL_DATABASE |
DATAPUMP_CLOUD_EXP |
DATAPUMP_IMP_FULL_DATABASE |
DATAPUMP_CLOUD_IMP |
EXP_FULL_DATABASE |
DATAPUMP_CLOUD_EXP |
IMP_FULL_DATABASE |
DATAPUMP_CLOUD_IMP |
Consulte la sección Limitaciones de esta página para conocer los roles y privilegios que no están soportados en Autonomous AI Database y que, por lo tanto, no se pueden resolver durante las operaciones de migración o importación.
Las siguientes son las ventajas clave del manejo automático de roles y privilegios durante la migración a Autonomous AI Database:
- Migración perfecta: el ajuste automático de roles y privilegios no soportados reduce la complejidad de la migración y ayuda a evitar fallos debido a operaciones de otorgamiento o revocación no soportadas.
- Reducción del esfuerzo manual: elimina la necesidad de revisar y editar manualmente las sentencias SQL, lo que permite migraciones más rápidas y sin errores.
- Continuidad operativa: al suprimir errores y asignar roles, Autonomous AI Database garantiza que las operaciones de negocio no se vean interrumpidas por problemas relacionados con privilegios.
- Mayor transparencia: todos los ajustes automáticos se pueden auditar mediante la vista
DBA_CONVERTED_STATEMENTS, lo que proporciona una visión clara de los cambios realizados durante la migración.
Consulta y gestión de sentencias convertidas
Puede consultar la vista DBA_CONVERTED_STATEMENTS para revisar las sentencias SQL originales y convertidas, junto con la acción realizada durante la migración.
Puede revisar qué sentencias Grant y Revoke se han modificado o ignorado consultando la vista DBA_CONVERTED_STATEMENTS. Esta vista muestra la sentencia SQL original, la sentencia convertida, si corresponde, y la acción realizada, lo que le permite auditar los cambios y garantizar la alineación con los roles y privilegios soportados en Autonomous AI Database.
Los siguientes ejemplos muestran cómo consultar e interpretar esta información.
Ejemplo 1:
SELECT
DBMS_LOB.SUBSTR(original_sql_text, 1000, 1) AS original_sql_text,
DBMS_LOB.SUBSTR(converted_sql_text, 1000, 1) AS converted_sql_text,
action_taken
FROM
DBA_CONVERTED_STATEMENTS;
La salida de ejemplo muestra que la sentencia SQL original se ha sustituido por una nueva sentencia que solo contiene roles y privilegios soportados en Autonomous AI Database.
ORIGINAL_SQL_TEXT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
grant DBA, DATAPUMP_EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE, CDB_DBA, EM_EXPRESS_ALL, CREATE ANY LIBRARY, SYSDBA, ALTER SESSION, ALTER SYSTEM to usr1
CONVERTED_SQL_TEXT
-----------------------------------------------------------------------------------------------------------------------------------------------------------
GRANT ALTER SYSTEM, ALTER SESSION, UNLIMITED TABLESPACE, DATAPUMP_CLOUD_EXP, DATAPUMP_CLOUD_IMP, PDB_DBA TO USR1
ACTION_TAKEN
-----------------------------------------------------------------------------------------------------------------------------------------------------------
REPLACED
Los roles DATAPUMP_EXP_FULL_DATABASE y DATAPUMP_IMP_FULL_DATABASE no son aplicables en Autonomous AI Database. Estos roles se asignan automáticamente a los roles DATAPUMP_CLOUD_EXP y DATAPUMP_CLOUD_IMP, respectivamente.
Ejemplo 2:
SELECT
DBMS_LOB.SUBSTR(original_sql_text, 1000, 1) AS original_sql_text,
DBMS_LOB.SUBSTR(converted_sql_text, 1000, 1) AS converted_sql_text,
action_taken
FROM
DBA_CONVERTED_STATEMENTS;
La salida de ejemplo muestra que la sentencia SQL original se ha ignorado porque ninguno de los roles o privilegios especificados está soportado en Autonomous AI Database.
ORIGINAL_SQL_TEXT
--------------------------------------------------------------------------------
grant CREATE LIBRARY, CDB_DBA, EM_EXPRESS_ALL, XDB_WEBSERVICES from usr1
CONVERTED_SQL_TEXT
--------------------------------------------------------------------------------
(null)
ACTION_TAKEN
--------------------------------------------------------------------------------
IGNORED
La salida muestra que se ha ignorado la sentencia SQL original que solicita privilegios como CREATE LIBRARY, EM_EXPRESS_ALL y XDB_WEBSERVICES. Estos roles y privilegios no están soportados en Autonomous AI Database. Como resultado, el SQL convertido correspondiente es nulo y la acción realizada se marca como IGNORED.
original_sql_textes la sentencia SQL original, hasta los primeros 1000 caracteres.converted_sql_textes la sentencia SQL convertida, hasta los primeros 1000 caracteres.action_takenindica si la sentencia eraIGNOREDoREPLACED.
Consulte PURGE_CONVERTED_STMTS View para obtener más información.
Después de revisar las sentencias convertidas en la vista DBA_CONVERTED_STATEMENTS, puede eliminar todas las sentencias o solo las anteriores a un período de retención especificado ejecutando el procedimiento purge_converted_stmts. Por ejemplo:
BEGIN
DBMS_CLOUD_ADMIN.PURGE_CONVERTED_STMTS(
retention_date => SYSTIMESTAMP - INTERVAL '1' DAY
);
END;
/
Esto elimina las entradas de la vista DBA_CONVERTED_STATEMENTS que tienen más de un día, según el registro de hora actual.
Consulte PURGE_CONVERTED_STMTS Procedure para obtener más información.
Limitaciones
Los siguientes roles y privilegios no están soportados al migrar de otras bases de datos Oracle a Autonomous AI Database.
Privilegios:
SYSDBASYSOPERGRANT ANY PRIVILEGECREATE LIBRARYCREATE ANY LIBRARYEXPORT FULL DATABASEIMPORT FULL DATABASECREATE EXTERNAL JOBSYSBACKUPSYSDGSYSKMADMINISTER KEY MANAGEMENTFLASHBACK ARCHIVE ADMINISTERINHERIT ANY REMOTE PRIVILEGESCREATE CREDENTIALCREATE ANY CREDENTIALSYSRACTEXT DATASTORE ACCESSENABLE DIAGNOSTICSCREATE TRUE CACHE
Roles:
CDB_DBAEM_EXPRESS_ALLEM_EXPRESS_BASICXDB_SET_INVOKERXDB_WEBSERVICESXDB_WEBSERVICES_WITH_PUBLICXDB_WEBSERVICES_OVER_HTTPEXECUTE_CATALOG_ROLESCHEDULER_ADMINOEM_MONITORGDS_CATALOG_SELECTHS_ADMIN_EXECUTE_ROLEDBMS_MDX_INTERNALEJBCLIENTJMXSERVERGGSYS_ROLEXDBADMIN