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

Autonomous AI Databaseへの移行時にロールおよび権限を管理する方法について説明します。これには、サポートされていないロール、権限変換および移行中の自動処理の詳細が含まれます。

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

  • Autonomous AI Databaseは完全に管理されています: これらの権限およびロールを使用して実行される多くのデータベース管理操作は自動的に処理され、それらを付与すると、Autonomous AI Databaseのセキュリティが損なわれる可能性があります。

  • 新しいロールによる置換および拡張: 特定の古いロールは、同等の機能を提供するAutonomous AI Database固有のロールで置換または拡張されます。

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

  • サポートされていない文の無視: Autonomous AI Databaseでサポートされていないロールまたは権限を参照している文は無視されます。

  • サポートされる同等物へのマッピング: 多くの場合、サポートされていないロールは、対応するAutonomous AI Databaseの同等物(DBAロールをPDB_DBAロールに置き換えるなど)に置き換えられます。

これらの変換は透過的に実行され、移行後に自動的に変換されたすべての文を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への移行中にロールと権限を自動的に処理する主なメリットは次のとおりです。

  • シームレスな移行: サポートされていないロールおよび権限を自動調整すると、移行の複雑さが軽減され、サポートされていない付与または取消し操作による障害の防止に役立ちます。

  • 手動作業の削減:SQL文の手動レビューおよび編集の必要性を排除し、より高速でエラーのない移行を実現します。

  • 運用継続性: Autonomous AI Databaseは、エラーや役割のマッピングを抑制することで、権限関連の問題によって業務が中断されないようにします。

  • 透明性の向上: すべての自動調整は、DBA_CONVERTED_STATEMENTSビューを介して監査可能であり、移行中に行われた変更を明確に把握できます。

トピック

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

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

sys.converted_stmts$ビューを問い合せることで、移行中に変更または無視された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 
    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
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 
    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
出力には、CREATE LIBRARYEM_EXPRESS_ALLXDB_WEBSERVICESなどの権限をリクエストする元のSQL文が無視されたことが示されています。これらのロールおよび権限は、Autonomous AI Databaseではサポートされていません。その結果、対応する変換済SQLはnullになり、実行されるアクションはIGNOREDとしてマークされます。
  • original_sql_textは、元のSQL文です(最初の1000文字まで)。

  • converted_sql_textは、変換されたSQL文です(最初の1000文字まで)。

  • action_takenは、文がIGNOREDREPLACEDかを示します。

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

sys.converted_stmts$ビューで変換された文を確認した後、必要に応じてpurge_converted_stmtsプロシージャを実行して、すべての文を削除するか、指定した保存期間より古い文のみを削除できます。次に例を示します。

BEGIN
  DBMS_CLOUD_ADMIN.PURGE_CONVERTED_STMTS(
    retention_date => SYSTIMESTAMP - INTERVAL '1' DAY
  );
END;
/
これにより、現在のタイムスタンプに基づいて、1日より古いエントリがsys.converted_stmts$ビューから削除されます。

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

制限事項

他のOracleデータベースからAutonomous AI Databaseへの移行時にサポートされていないロールおよび権限をリストします。

権限

  • 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

ロール

  • 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