Ir para o conteúdo

Quais são as permissões exigidas para o AWS DMS quando eu uso o Oracle como endpoint de origem?

6 minuto de leitura
0

Eu tenho uma tarefa do AWS Database Migration Service (AWS DMS) que usa o Oracle como endpoint de origem. Quero saber quais são as permissões mínimas exigidas para o AWS DMS.

Resolução

As permissões exigidas variam de acordo com diferentes tipos de configurações de tarefas do DMS e diferentes tipos de migração.

Bancos de dados de origem Oracle que a AWS gerencia

Para obter mais informações sobre permissões para bancos de dados Oracle gerenciados pela AWS, consulte User account privileges required on a self-managed Oracle source for AWS DMS (Privilégios de conta de usuário exigidos em uma origem Oracle autogerenciada para o AWS DMS).

Bancos de dados de origem Oracle autogerenciados

Para bancos de dados Oracle autogerenciados, você deve conceder as seguintes permissões ao usuário do DMS:

GRANT CREATE SESSION TO dms_user;
GRANT SELECT ANY TRANSACTION TO dms_user;
GRANT SELECT ON V_$ARCHIVED_LOG TO dms_user;
GRANT SELECT ON V_$LOG TO dms_user;
GRANT SELECT ON V_$LOGFILE TO dms_user;
GRANT SELECT ON V_$LOGMNR_LOGS TO dms_user;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO dms_user;
GRANT SELECT ON V_$DATABASE TO dms_user;
GRANT SELECT ON V_$THREAD TO dms_user;
GRANT SELECT ON V_$PARAMETER TO dms_user;
GRANT SELECT ON V_$NLS_PARAMETERS TO dms_user;
GRANT SELECT ON V_$TIMEZONE_NAMES TO dms_user;
GRANT SELECT ON V_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$CONTAINERS TO dms_user;                   
GRANT SELECT ON ALL_INDEXES TO dms_user;
GRANT SELECT ON ALL_OBJECTS TO dms_user;
GRANT SELECT ON ALL_TABLES TO dms_user;
GRANT SELECT ON ALL_USERS TO dms_user;
GRANT SELECT ON ALL_CATALOG TO dms_user;
GRANT SELECT ON ALL_CONSTRAINTS TO dms_user;
GRANT SELECT ON ALL_CONS_COLUMNS TO dms_user;
GRANT SELECT ON ALL_TAB_COLS TO dms_user;
GRANT SELECT ON ALL_IND_COLUMNS TO dms_user;
GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO dms_user;
GRANT SELECT ON ALL_LOG_GROUPS TO dms_user;
GRANT SELECT ON ALL_TAB_PARTITIONS TO dms_user;
GRANT SELECT ON SYS.DBA_REGISTRY TO dms_user;
GRANT SELECT ON SYS.OBJ$ TO dms_user;
GRANT SELECT ON DBA_TABLESPACES TO dms_user;
GRANT SELECT ON DBA_OBJECTS TO dms_user;
GRANT SELECT ON SYS.ENC$ TO dms_user;
GRANT SELECT ON GV_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$DATAGUARD_STATS TO dms_user;
GRANT SELECT ON V_$DATABASE_INCARNATION TO dms_user;

Observação:

  • Conceda SELECT ON DBA_OBJECTS somente quando a versão Oracle for anterior à 11.2.0.3.
  • Se você ativou a criptografia transparente de dados (TDE), conceda SELECT ON SYS.ENC$.
  • Conceda SELECT ON GV_$TRANSACTION somente quando o banco de dados de origem for o Oracle RAC no AWS DMS versão 3.4.6 ou superior./li>
  • Conceda SELECT ON V_$DTATGUARD_STATS somente ao usar um banco de dados standby do Oracle Active Data Guard como banco de dados de origem na versão mais recente do DMS 3.4.6, 3.4.7 ou superior.

Observação: o DMS aceita bancos de dados standby do Oracle Data Guard como origem. Ao ativar o Data Guard, é possível abrir bancos de dados standby no modo somente leitura. Depois de conceder as permissões, execute várias alternâncias de log para replicar as permissões no banco de dados standby. Para mais informações, consulte Forcing log switches (Forçar trocas de logs) no site da Oracle.

Para mostrar visualizações, conceda a seguinte permissão:

GRANT SELECT on ALL\_VIEWS to dms_user;

Para expor visualizações, você também deve adicionar o atributo de conexão exposeViews=true ao endpoint de origem.

É possível usar um padrão que corresponda aos nomes das tabelas em sua tarefa de replicação. Também é possível permitir que o usuário do banco de dados de origem leia tabelas de um esquema diferente. Para qualquer tarefa, adicione a seguinte permissão:

GRANT SELECT ANY TABLE to dms_user;

Para especificar uma lista de tabelas em sua tarefa de replicação, conceda a seguinte permissão:

GRANT SELECT on schema.table;

Para migrar do Oracle Real Application Clusters (RACs), você deve conceder a permissão SELECT em visualizações materializadas com os prefixos gv_$ e v_$.

Para ativar a validação de DMS para objetos binários grandes (LOBs), conceda a seguinte permissão:

GRANT execute on sys.dbms_crypto to dms_user;

Se você usar o atributo de conexão addSupplementalLogging, conceda a seguinte permissão:

GRANT ALTER ANY TABLE to dms_user

Bancos de dados de origem Oracle com tarefas contínuas de replicação

Para ler os logs redo durante a replicação, a Oracle oferece o Oracle LogMiner e o Oracle Binary Reader.

Para usar o LogMiner, conceda a seguinte permissão:

GRANT EXECUTE ON dbms_logmnr TO dms_user;

Para o Oracle Database 12c e versões posteriores, conceda a seguinte permissão:

GRANT LOGMINING TO dms_user;

O Binary Reader usa diretórios Oracle para ler, refazer e arquivar logs. Você deve conceder acesso ao DMS para criar os diretórios Oracle no banco de dados de origem:

GRANT CREATE ANY DIRECTORY to dms_user;

Para usar o DMS para criar os diretórios Oracle, você deve conceder a permissão CREATE ANY DIRECTORY. O DMS cria os nomes dos diretórios com o prefixo DMS_. Se você não conceder a permissão CREATE ANY DIRECTORY, deverá criar manualmente os diretórios. Quando você cria manualmente os diretórios Oracle, o usuário Oracle que você especifica no endpoint nem sempre é o usuário que criou os diretórios. Nesse caso, você deve conceder as seguintes permissões READ on DIRECTORY:

GRANT READ ON DIRECTORY RedoLog_directory_name to dms_user;
GRANT READ ON DIRECTORY ArchiveLog_directory_name to dms_user;

Para confirmar que você criou os diretórios, consulte a tabela ALL_DIRECTORIES.

Para usar o Binary Reader para acessar os logs redo no Automatic Storage Management (ASM), conceda uma das seguintes permissões ao usuário do endpoint Oracle.

Se você armazenar os logs redo no ASM e o AWS DMS acessar os logs do ASM, conceda a seguinte permissão:

GRANT SELECT ON v_$transportable_platform  to dms_user;

Para acessar a conta do ASM com o Oracle 11g Release 2 versão 11.2.0.2 ou superior, conceda a permissão SYSASM:

GRANT SYSASM to ASM_USER;

Observação: para versões anteriores aceitas do Oracle, é possível conceder a permissão SYSDBA.

Quando a origem do Oracle usa o ASM, é possível usar opções de alto desempenho no Binary Reader para processar transações em escala. As opções incluem atributos de conexão extras para especificar o número de threads paralelos (parallelASMReadThreads) e o número de buffers de leitura antecipada (readAheadBlocks). Defina os atributos juntos para melhorar o desempenho da tarefa do CDC.

Para assumir o usuário do ASM, modifique seu endpoint de origem Oracle para incluir o usuário DMS e o usuário ASM e separe-os por vírgulas.

Exemplo de formato de endpoint de origem:

Nome de usuário: oracle_user,asm_user
Senha: oracle_user_password,asm_user_password

Informações relacionadas

Using an Oracle database as a source for AWS DMS

Using a self-managed Oracle Standby as a source with Binary Reader for CDC in AWS DMS

AWS OFICIALAtualizada há 3 meses