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

Explique comment les rôles et les privilèges sont gérés lors de la migration vers une base de données d'IA autonome, notamment des détails sur les rôles non pris en charge, la conversion des privilèges et la gestion automatisée pendant la migration.

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 Autonomous AI Database. Ceci est principalement dû au fait que :

  • Autonomous AI Database est entièrement géré : de nombreuses opérations de gestion de base de données effectuées à l'aide de ces privilèges et rôles sont gérées automatiquement, et leur octroi pourrait compromettre la sécurité d'Autonomous AI Database.

  • Remplacement et amélioration avec de nouveaux rôles : certains rôles plus anciens sont remplacés ou étendus par des rôles spécifiques à la base de données d'IA autonome qui fournissent des fonctionnalités équivalentes.

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

  • Instructions non prises en charge ignorées : les instructions faisant référence à des rôles ou des privilèges non pris en charge dans la base de données Autonomous AI sont ignorées.

  • Mise en correspondance avec les équivalents pris en charge : dans de nombreux cas, les rôles non pris en charge sont remplacés par leurs équivalents de base de données Autonomous AI correspondants, tels que le remplacement du rôle DBA par le rôle PDB_DBA.

Ces conversions sont effectuées de manière transparente et vous pouvez vérifier toutes les instructions converties automatiquement dans la vue DBA_CONVERTED_STATEMENTS après la migration. Le tableau présente la liste des rôles provenant d'autres bases de données Oracle et de leurs équivalents mappés 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 à Limites pour obtenir la liste des rôles et privilèges qui ne sont pas pris en charge sur 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 :

  • Migration transparente : l'ajustement automatique des rôles et privilèges non pris en charge réduit la complexité de la migration et permet d'éviter les échecs dus à des opérations d'octroi ou de révocation non prises en charge.

  • Réduction des efforts manuels : élimine la nécessité de réviser et de modifier manuellement les instructions SQL, ce qui permet des migrations plus rapides et sans erreur.

  • Continuité opérationnelle : en supprimant les erreurs et en mettant en correspondance les rôles, Autonomous AI Database garantit que les opérations commerciales ne sont pas interrompues par des problèmes liés aux privilèges.

  • Transparence améliorée : tous les ajustements automatiques peuvent faire l'objet d'un audit via la vue DBA_CONVERTED_STATEMENTS, ce qui fournit des informations claires sur les modifications apportées lors de la migration.

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 lors de la migration 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 par 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.

  • original_sql_text est l'instruction SQL d'origine (jusqu'aux 1000 premiers caractères).

  • converted_sql_text est l'instruction SQL convertie (jusqu'aux 1000 premiers caractères).

  • action_taken indique si l'instruction était IGNORED ou REPLACED.

Pour plus d'informations, voir Vue PURGE_CONVERTED_STMTS.

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 selon vos besoins. Par 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 à PURGE_CONVERTED_STMTS.

Limites

Répertorie les rôles et privilèges non pris en charge lors de la migration d'autres bases de données Oracle vers la base de données Autonomous AI.

Privilèges :

  • 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

Rôles :

  • 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