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:

Para garantizar una experiencia de migración perfecta, Autonomous AI Database gestiona automáticamente roles y privilegios no soportados:

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:

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.

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:

Roles: