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 que se realizan 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 sustituyen 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 DBA por el rol PDB_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 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, la base de datos de IA autónoma garantiza que las operaciones comerciales 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.

Temas

Consulta y gestión de sentencias convertidas

Puede consultar la vista sys.converted_stmts$ 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 sys.converted_stmts$. 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 
    sys.converted_stmts$;

--Sample output shows that the original SQL statement was replaced with a new statement containing only the supported roles and privileges in 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 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 
    sys.converted_stmts$;

--Sample output shows that the original SQL statement was ignored because none of the specified roles or privileges are supported in 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 null y la acción realizada se marca como IGNORED.
  • original_sql_text es la sentencia SQL original (hasta los primeros 1000 caracteres).

  • converted_sql_text es la sentencia SQL convertida (hasta los primeros 1000 caracteres).

  • action_taken indica si la sentencia era IGNORED o REPLACED.

Consulte Vista PURGE_CONVERTED_STMTS para obtener más información.

Después de revisar las sentencias convertidas en la vista sys.converted_stmts$, 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 sys.converted_stmts$ 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

  • SYSDBA

  • SYSOPER

  • GRANT ANY PRIVILEGE

  • CREATE LIBRARY

  • CREATE ANY LIBRARY

  • EXPORT FULL DATABASE

  • IMPORT FULL DATABASE

  • CREATE EXTERNAL JOB

  • SYSBACKUP

  • SYSDG

  • SYSKM

  • ADMINISTER KEY MANAGEMENT

  • FLASHBACK ARCHIVE ADMINISTER

  • INHERIT ANY REMOTE PRIVILEGE

  • CREATE CREDENTIAL

  • CREATE ANY CREDENTIAL

  • SYSRAC

  • TEXT DATASTORE ACCESS

  • ENABLE DIAGNOSTICS

  • CREATE TRUE CACHE

Roles

  • CDB_DBA

  • EM_EXPRESS_ALL

  • EM_EXPRESS_BASIC

  • XDB_SET_INVOKER

  • XDB_WEBSERVICES

  • XDB_WEBSERVICES_WITH_PUBLIC

  • XDB_WEBSERVICES_OVER_HTTP

  • EXECUTE_CATALOG_ROLE

  • SCHEDULER_ADMIN

  • OEM_MONITOR

  • GDS_CATALOG_SELECT

  • HS_ADMIN_EXECUTE_ROLE

  • DBMS_MDX_INTERNAL

  • EJBCLIENT

  • JMXSERVER

  • GGSYS_ROLE

  • XDBADMIN