Gestionar roles y privilegios al migrar a una base de datos de IA autónoma
Describe cómo se gestionan los roles y privilegios al migrar a la base de datos de IA autónoma, incluidos los detalles sobre roles no soportados, la conversión de privilegios y el manejo automatizado durante la migración.
Al migrar de otras bases de datos Oracle a una base de datos de IA autónoma, puede notar diferencias en la forma en que se admiten roles y privilegios del sistema. Algunos roles y privilegios comunes en las bases de datos Oracle tradicionales no están disponibles en la base de datos de IA autónoma. Esto se debe principalmente a:
-
La base de datos de IA autónoma está totalmente gestionada: muchas operaciones de gestión de bases de datos realizadas con estos privilegios y roles se gestionan automáticamente, y otorgarlas podría comprometer la seguridad de la base de datos de IA autónoma.
-
Sustitución y mejora con nuevos roles: Ciertos roles anteriores se reemplazan o amplían con roles específicos de la base de datos de IA autónoma que proporcionan capacidades equivalentes.
Para garantizar una experiencia de migración perfecta, Autonomous AI Database gestiona automáticamente roles y privilegios no soportados:
-
Ignorando sentencias no soportadas: se ignoran las sentencias que hacen referencia a roles o privilegios no soportados en la base de datos de IA autónoma.
-
Asignación a equivalentes soportados: en muchos casos, los roles no soportados se sustituyen por sus equivalentes de base de datos de IA autónoma correspondientes, como la sustitución del rol
DBApor el rolPDB_DBA.
Estas conversiones se realizan de forma transparente y puede revisar todas las sentencias convertidas automáticamente en la vista DBA_CONVERTED_STATEMENTS después de la migración. En la tabla se muestra una lista de roles de otras bases de datos Oracle y sus equivalentes asignados en la base de datos de IA autónoma:
| Rol de base de datos de origen | Rol asignado en la base de datos de IA autónoma |
|---|---|
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 Limitaciones para obtener una lista de roles y privilegios que no están soportados en Autonomous AI Database y, por lo tanto, no se pueden resolver durante las operaciones de migración o importación.
A continuación, se muestran las ventajas clave del manejo automático de roles y privilegios durante la migración a la base de datos de IA autónoma:
-
Migración sin interrupciones: el ajuste automático de roles y privilegios no admitidos reduce la complejidad de la migración y ayuda a evitar fallos debido a operaciones de otorgamiento o revocación no admitidas.
-
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, la base de datos de IA autónoma garantiza que las operaciones comerciales no se vean interrumpidas por problemas relacionados con privilegios.
-
Transparencia mejorada: 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 modificaron o ignoraron durante la migración 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 de la base de datos de IA autónoma.
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 contiene solo los roles y privilegios soportados en la base de datos de IA autónoma.
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
-----------------------------------------------------------------------------------------------------------------------------------------------------------
REPLACEDLos roles DATAPUMP_EXP_FULL_DATABASE y DATAPUMP_IMP_FULL_DATABASE no son aplicables en la base de datos de IA autónoma. 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án soportados en la base de datos de IA autónoma.
ORIGINAL_SQL_TEXT
--------------------------------------------------------------------------------
grant CREATE LIBRARY, CDB_DBA, EM_EXPRESS_ALL, XDB_WEBSERVICES from usr1
CONVERTED_SQL_TEXT
--------------------------------------------------------------------------------
(null)
ACTION_TAKEN
--------------------------------------------------------------------------------
IGNOREDLa 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 Vista PURGE_CONVERTED_STMTS 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 según sea necesario. 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 para obtener más información.
Limitaciones
Muestra los roles y privilegios que no están soportados al migrar de otras bases de datos Oracle a una base de datos de IA autónoma.
Privilegios:
SYSDBASYSOPERGRANT ANY PRIVILEGECREATE LIBRARYCREATE ANY LIBRARYEXPORT FULL DATABASEIMPORT FULL DATABASECREATE EXTERNAL JOBSYSBACKUPSYSDGSYSKMADMINISTER KEY MANAGEMENTFLASHBACK ARCHIVE ADMINISTERINHERIT ANY REMOTE PRIVILEGECREATE 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