Gérer les rôles et les privilèges lors de la migration vers une base de données Autonomous AI

Lors de la migration d'autres bases de données Oracle vers une base de données Autonomous AI, vous pouvez remarquer des différences dans la prise en charge des rôles et des privilèges système. Certains rôles et privilèges communs aux bases de données Oracle traditionnelles ne sont pas disponibles dans la base de données Autonomous AI. C'est principalement parce que :

Pour garantir une expérience de migration transparente, Autonomous AI Database gère automatiquement les rôles et privilèges non pris en charge :

Ces conversions sont effectuées de manière transparente. Après la migration, vous pouvez vérifier les instructions converties automatiquement dans la vue DBA_CONVERTED_STATEMENTS. Le tableau suivant répertorie les rôles d'autres bases de données Oracle et leurs équivalents mis en correspondance dans la base de données Autonomous AI :

Rôle de base de données source Rôle mappé dans la base de données d'IA autonome
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

Reportez-vous à la section Limites de cette page pour connaître les rôles et privilèges qui ne sont pas pris en charge dans la base de données Autonomous AI et qui ne peuvent donc pas être résolus lors des opérations de migration ou d'import.

Les principaux avantages de la gestion automatique des rôles et des privilèges lors de la migration vers Autonomous AI Database sont les suivants :

Interroger et gérer les instructions converties

Vous pouvez interroger la vue DBA_CONVERTED_STATEMENTS pour vérifier les instructions SQL d'origine et converties, ainsi que l'action effectuée lors de la migration.

Vous pouvez vérifier quelles instructions Grant et Revoke ont été modifiées ou ignorées en interrogeant la vue DBA_CONVERTED_STATEMENTS. Cette vue affiche l'instruction SQL d'origine, l'instruction convertie, le cas échéant, et l'action entreprise, ce qui vous permet d'auditer les modifications et d'assurer l'alignement avec les rôles et privilèges pris en charge dans la base de données Autonomous AI.

Les exemples suivants montrent comment interroger et interpréter ces informations.

Exemple 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;

L'exemple de sortie indique que l'instruction SQL d'origine a été remplacée par une nouvelle instruction contenant uniquement les rôles et privilèges pris en charge dans la base de données Autonomous AI.

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

Les rôles DATAPUMP_EXP_FULL_DATABASE et DATAPUMP_IMP_FULL_DATABASE ne sont pas applicables dans la base de données Autonomous AI. Ces rôles sont automatiquement mis en correspondance avec les rôles DATAPUMP_CLOUD_EXP et DATAPUMP_CLOUD_IMP, respectivement.

Exemple 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;

L'exemple de sortie indique que l'instruction SQL d'origine a été ignorée car aucun des rôles ou privilèges spécifiés n'est pris en charge dans la base de données Autonomous AI.

ORIGINAL_SQL_TEXT
--------------------------------------------------------------------------------
grant CREATE LIBRARY, CDB_DBA, EM_EXPRESS_ALL, XDB_WEBSERVICES from usr1

CONVERTED_SQL_TEXT
--------------------------------------------------------------------------------
(null)

ACTION_TAKEN
--------------------------------------------------------------------------------
IGNORED

La sortie indique que l'instruction SQL d'origine demandant des privilèges tels que CREATE LIBRARY, EM_EXPRESS_ALL et XDB_WEBSERVICES a été ignorée. Ces rôles et privilèges ne sont pas pris en charge dans la base de données Autonomous AI. Par conséquent, l'instruction SQL convertie correspondante est NULL et l'action entreprise est marquée comme IGNORED.

Pour plus d'informations, reportez-vous à PURGE_CONVERTED_STMTS View.

Après avoir examiné les instructions converties dans la vue DBA_CONVERTED_STATEMENTS, vous pouvez enlever toutes les instructions ou uniquement celles qui sont antérieures à une période de conservation spécifiée en exécutant la procédure purge_converted_stmts. Exemple :

BEGIN
  DBMS_CLOUD_ADMIN.PURGE_CONVERTED_STMTS(
    retention_date => SYSTIMESTAMP - INTERVAL '1' DAY
  );
END;
/

Les entrées de la vue DBA_CONVERTED_STATEMENTS qui datent de plus d'un jour, en fonction de l'horodatage en cours, sont supprimées.

Pour plus d'informations, reportez-vous à Procédure PURGE_CONVERTED_STMTS.

Limites

Les rôles et privilèges suivants ne sont pas pris en charge lors de la migration d'autres bases de données Oracle vers la base de données Autonomous AI.

Privilèges :

Rôles: