Autonomous AI Databaseへの移行時のロールおよび権限の管理

他のOracleデータベースからAutonomous AI Databaseに移行する場合、ロールおよびシステム権限のサポート方法に違いがある場合があります。従来のOracleデータベースに共通する一部のロールおよび権限は、Autonomous AI Databaseでは使用できません。これは主に次の理由によるものです。

シームレスな移行エクスペリエンスを実現するために、Autonomous AI Databaseでは、サポートされていないロールと権限が次のいずれかによって自動的に管理されます:

これらの変換は透過的に実行されます。移行後、自動的に変換された文をDBA_CONVERTED_STATEMENTSビューで確認できます。次の表に、他のOracleデータベースのロールと、Autonomous AI Databaseでの対応するマップを示します:

ソース・データベースのロール 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

Autonomous AI Databaseでサポートされていないため、移行またはインポート操作中に解決できないロールおよび権限については、このページの制限事項の項を参照してください。

Autonomous AI Databaseへの移行中にロールと権限を自動的に処理する主なメリットは次のとおりです。

変換されたステートメントのクエリーと管理

DBA_CONVERTED_STATEMENTSビューを問い合せて、移行中に実行されたアクションとともに、元のSQL文および変換されたSQL文を確認できます。

DBA_CONVERTED_STATEMENTSビューを問い合せて、変更または無視されたGrant文およびRevoke文を確認できます。このビューには、元のSQL文、変換された文(該当する場合)および実行されたアクションが表示され、変更を監査し、Autonomous AI Databaseでサポートされているロールおよび権限との整合性を確保できます。

次の例は、この情報を問い合せて解釈する方法を示しています。

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

出力例は、元のSQL文が、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

DATAPUMP_EXP_FULL_DATABASEおよびDATAPUMP_IMP_FULL_DATABASEロールは、Autonomous AI Databaseでは適用されません。これらのロールは、それぞれDATAPUMP_CLOUD_EXPロールおよびDATAPUMP_CLOUD_IMPロールに自動的にマップされます。

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

このサンプル出力は、指定されたロールまたは権限がAutonomous AI Databaseでサポートされていないため、元のSQL文が無視されたことを示しています。

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

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

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

出力には、CREATE LIBRARY、EM_EXPRESS_ALL、XDB_WEBSERVICESなどの権限をリクエストする元のSQL文が無視されたことが示されています。これらのロールおよび権限は、Autonomous AI Databaseではサポートされていません。その結果、対応する変換済SQLはNULLになり、実行されるアクションはIGNOREDとしてマークされます。

詳細は、PURGE_CONVERTED_STMTSビューを参照してください。

DBA_CONVERTED_STATEMENTSビューで変換された文を確認した後、purge_converted_stmtsプロシージャを実行して、すべての文を削除するか、指定した保存期間より古い文のみを削除できます。たとえば:

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

これにより、現在のタイムスタンプに基づいて、1日より古いエントリがDBA_CONVERTED_STATEMENTSビューから削除されます。

詳細は、PURGE_CONVERTED_STMTSプロシージャを参照してください。

制限事項

他のOracleデータベースからAutonomous AI Databaseに移行する場合、次のロールおよび権限はサポートされていません。

権限:

ロール: