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文を手動でレビューおよび編集する必要がなくなり、より高速でエラーのない移行が可能になります。
- 運用継続性:自律型AIデータベースは、エラーを抑制し、ロールをマッピングすることで、権限関連の問題によって業務が中断されないことを保証します。
- 透明性の向上:すべての自動調整は、
DBA_CONVERTED_STATEMENTSビューを介して監査可能であり、移行中に行われた変更を明確に把握できます。
変換されたステートメントのクエリーと管理
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としてマークされます。
original_sql_textは、最初の1000文字までの元のSQL文です。converted_sql_textは、変換されたSQL文で、最初の1000文字までです。action_takenは、文がIGNOREDかREPLACEDかを示します。
詳細は、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に移行する場合、次のロールおよび権限はサポートされていません。
権限:
SYSDBASYSOPERGRANT ANY PRIVILEGECREATE LIBRARYCREATE ANY LIBRARYEXPORT FULL DATABASEIMPORT FULL DATABASECREATE EXTERNAL JOBSYSBACKUPSYSDGSYSKMADMINISTER KEY MANAGEMENTFLASHBACK ARCHIVE ADMINISTERINHERIT ANY REMOTE PRIVILEGESCREATE CREDENTIALCREATE ANY CREDENTIALSYSRACTEXT DATASTORE ACCESSENABLE DIAGNOSTICSCREATE TRUE CACHE
ロール:
CDB_DBAEM_EXPRESS_ALLEM_EXPRESS_BASICXDB_SET_INVOKERXDB_WEBSERVICESXDB_WEBSERVICES_WITH_PUBLICXDB_WEBSERVICES_OVER_HTTPEXECUTE_CATALOG_ROLESCHEDULER_ADMINOEM_MONITORGDS_CATALOG_SELECTHS_ADMIN_EXECUTE_ROLEDBMS_MDX_INTERNALEJBCLIENTJMXSERVERGGSYS_ROLEXDBADMIN