管理移轉至自治式 AI 資料庫時的角色和權限

從其他 Oracle 資料庫移轉至 Autonomous AI Database 時,您可能會注意到支援角色和系統權限的方式有何不同。Autonomous AI Database 中沒有傳統 Oracle 資料庫中通用的部分角色和權限。這主要是因為:

為了確保順暢的移轉體驗,Autonomous AI Database 會透過下列其中一種方式自動管理不支援的角色和權限:

這些轉換是以通透方式執行。移轉之後,您可以在 DBA_CONVERTED_STATEMENTS 檢視中複查自動轉換的敘述句。下表列出來自其他 Oracle 資料庫的角色及其在自治式 AI 資料庫中的對應同等資料庫:

來源資料庫角色 自治式 AI 資料庫中的對應角色
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

請參閱此頁面中的限制小節,瞭解「自治式 AI 資料庫」不支援,因此無法在移轉或匯入作業期間解決的角色和權限。

在移轉至 Autonomous AI 資料庫期間,自動角色和權限處理的主要優點如下:

查詢和管理已轉換敘述句

您可以查詢 DBA_CONVERTED_STATEMENTS 視觀表以複查原始和轉換的 SQL 敘述句,以及移轉期間所採取的動作。

您可以查詢 DBA_CONVERTED_STATEMENTS 視觀表,複查修改或忽略哪些授權和撤銷敘述句。此檢視會顯示原始 SQL 敘述句、轉換的敘述句以及採取的動作 (如果適用),讓您能夠稽核變更並確保與自治式 AI 資料庫中支援的角色和權限一致。

下列範例顯示如何查詢和解譯此資訊。

範例 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 敘述句已取代為僅包含自治式 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

DATAPUMP_EXP_FULL_DATABASE 和 DATAPUMP_IMP_FULL_DATABASE 角色不適用於自治式 AI 資料庫。這些角色會分別自動對應至 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;

範例輸出顯示已忽略原始 SQL 敘述句,因為自治式 AI 資料庫不支援任何指定的角色或權限。

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 敘述句。自治式 AI 資料庫不支援這些角色和權限。因此,對應的轉換 SQL 為空值,所採取的動作會標示為 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 資料庫移轉至自治式 AI 資料庫時,不支援下列角色和權限。

權限:

角色: