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 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 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
-----------------------------------------------------------------------------------------------------------------------------------------------------------
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
    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
--------------------------------------------------------------------------------
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_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 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:

  • 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