Gerenciar Atribuições e Privilégios ao Migrar para o Autonomous AI Database

Descreve como as atribuições e os privilégios são gerenciados ao migrar para o Autonomous AI Database, incluindo detalhes sobre atribuições não suportadas, conversão de privilégios e tratamento automatizado durante a migração.

Ao migrar de outros bancos de dados Oracle para o Autonomous AI Database, você pode notar diferenças na forma como as atribuições e os privilégios do sistema são suportados. Algumas atribuições e privilégios comuns em bancos de dados Oracle tradicionais não estão disponíveis no Autonomous AI Database. Isso ocorre principalmente porque:

  • O Autonomous AI Database é totalmente gerenciado: Muitas operações de gerenciamento de banco de dados executadas usando esses privilégios e atribuições são tratadas automaticamente, e concedê-las pode comprometer a segurança do Autonomous AI Database.

  • Substituição e aprimoramento por novas atribuições: Determinadas atribuições mais antigas são substituídas ou estendidas por atribuições específicas do Autonomous AI Database que fornecem recursos equivalentes.

Para garantir uma experiência de migração perfeita, o Autonomous AI Database gerencia automaticamente atribuições e privilégios não suportados por:

  • Ignorando instruções não suportadas: As instruções que se referem a atribuições ou privilégios não suportados no Autonomous AI Database são ignoradas.

  • Mapeamento para equivalentes suportados: Em muitos casos, as atribuições não suportadas são substituídas por seus equivalentes correspondentes do Autonomous AI Database, como substituir a atribuição DBA pela atribuição PDB_DBA.

Essas conversões são executadas de forma transparente e você pode revisar todas as instruções convertidas automaticamente na view DBA_CONVERTED_STATEMENTS após a migração. A tabela mostra uma lista de atribuições de outros bancos de dados Oracle e seus equivalentes mapeados no Autonomous AI Database:

Atribuição do Banco de Dados de Origem Atribuição Mapeada no 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

Consulte Limitações para obter uma lista de atribuições e privilégios que não são suportados no Autonomous AI Database e, portanto, não podem ser resolvidos durante as operações de migração ou importação.

Estes são os principais benefícios do tratamento automático de atribuições e privilégios durante a migração para o Autonomous AI Database:

  • Migração perfeita: O ajuste automático de atribuições e privilégios não suportados reduz a complexidade da migração e ajuda a evitar falhas devido a operações de Concessão ou Revogação não suportadas.

  • Redução do esforço manual:Elimina a necessidade de revisão e edição manuais de instruções SQL, permitindo migrações mais rápidas e sem erros.

  • Continuidade operacional: Ao suprimir erros e mapear atribuições, o Autonomous AI Database garante que as operações de negócios não sejam interrompidas por problemas relacionados a privilégios.

  • Transparência aprimorada: Todos os ajustes automáticos podem ser auditados por meio da exibição DBA_CONVERTED_STATEMENTS, fornecendo informações claras sobre as alterações feitas durante a migração.

Tópicos

Consultar e Gerenciar Instruções Convertidas

Você pode consultar a view sys.converted_stmts$ para revisar instruções SQL originais e convertidas, juntamente com a ação tomada durante a migração.

Você pode verificar quais instruções Grant e Revoke foram modificadas ou ignoradas durante a migração consultando a view sys.converted_stmts$. Essa view exibe a instrução SQL original, a instrução convertida, se aplicável, e a ação executada, permitindo auditar alterações e garantir o alinhamento com as atribuições e os privilégios suportados pelo Autonomous AI Database.

Os exemplos a seguir mostram como consultar e interpretar essas informações:

Exemplo 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
As atribuições DATAPUMP_EXP_FULL_DATABASE e DATAPUMP_IMP_FULL_DATABASE não são aplicáveis no Autonomous AI Database. Essas atribuições são mapeadas automaticamente para as atribuições DATAPUMP_CLOUD_EXP e DATAPUMP_CLOUD_IMP, respectivamente.

Exemplo 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
A saída mostra que a instrução SQL original que solicita privilégios como CREATE LIBRARY, EM_EXPRESS_ALL e XDB_WEBSERVICES foi ignorada. Essas atribuições e privilégios não são suportados no Autonomous AI Database. Como resultado, o SQL convertido correspondente é nulo e a ação executada é marcada como IGNORED.
  • original_sql_text é a instrução SQL original (até os primeiros 1000 caracteres).

  • converted_sql_text é a instrução SQL convertida (até os primeiros 1000 caracteres).

  • action_taken indica se a instrução era IGNORED ou REPLACED.

Consulte View PURGE_CONVERTED_STMTS para obter mais informações.

Após revisar as instruções convertidas na view sys.converted_stmts$, você pode remover todas as instruções ou apenas as mais antigas que um período de retenção especificado executando o procedimento purge_converted_stmts conforme necessário. Por exemplo:

BEGIN
  DBMS_CLOUD_ADMIN.PURGE_CONVERTED_STMTS(
    retention_date => SYSTIMESTAMP - INTERVAL '1' DAY
  );
END;
/
Isso remove as entradas da view sys.converted_stmts$ com mais de um dia, com base no timestamp atual.

Consulte PURGE_CONVERTED_STMTS para obter mais informações.

Limitações

Lista as atribuições e os privilégios que não são suportados ao migrar de outros bancos de dados Oracle para o Autonomous AI Database.

Privilégios

  • 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

Funções

  • 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