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

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

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

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

  • 新しいロールの交換と拡張: 特定の古いロールは、同等の機能を提供する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文の手動レビューおよび編集が不要になり、高速でエラーのない移行が可能になります。

  • 運用継続性: 自律型AIデータベースは、エラーを抑制し、役割をマッピングすることで、権限関連の問題によって業務が中断されないことを保証します。

  • 透明性の向上: すべての自動調整は、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$;

出力例は、元の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
    sys.converted_stmts$;

サンプル出力は、指定されたロールまたは権限が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 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