Segurança, acesso e operações para migrações Oracle

Este artigo é a terceira parte de uma série de sete partes que fornece orientação sobre como migrar do Oracle para o Azure Synapse Analytics. O foco deste artigo são as práticas recomendadas para operações de acesso de segurança.

Considerações de segurança

O ambiente Oracle oferece vários métodos de acesso e autenticação que você pode precisar migrar para o Azure Synapse com risco mínimo e impacto no usuário. O artigo pressupõe que você deseja migrar os métodos de conexão existentes e as estruturas de usuário, função e permissão no estado em que se encontram. Se esse não for o caso, use o portal do Azure para criar e gerenciar um novo regime de segurança.

Para obter mais informações sobre as opções de segurança do Azure Synapse, consulte Segurança do Azure Synapse Analytics.

Conexão e autenticação

A autenticação é o processo de verificação da identidade de um usuário, dispositivo ou outra entidade em um sistema de computador, geralmente como um pré-requisito para conceder acesso a recursos em um sistema.

Gorjeta

A autenticação no Oracle e no Azure Synapse pode ser "no banco de dados" ou por meio de métodos externos.

Opções de autorização Oracle

O sistema Oracle oferece estes métodos de autenticação para usuários de banco de dados:

  • Autenticação de banco de dados: com a autenticação de banco de dados, o banco de dados Oracle administra a conta de usuário e autentica o usuário. Para que o banco de dados Oracle execute a autenticação, ele gera uma senha para novos usuários e armazena senhas em formato criptografado. Os usuários podem alterar sua senha a qualquer momento. A Oracle recomenda o gerenciamento de senhas por meio de bloqueio de conta, envelhecimento e expiração de senhas, histórico de senhas e verificação da complexidade de senhas. A autenticação de banco de dados é comum em instalações mais antigas do Oracle.

  • Autenticação externa: com autenticação externa, o banco de dados Oracle mantém a conta de usuário e um serviço externo executa a administração de senha e a autenticação do usuário. O serviço externo pode ser um sistema operacional ou um serviço de rede como o Oracle Net. O banco de dados depende do sistema operacional subjacente ou do serviço de autenticação de rede para restringir o acesso às contas de banco de dados. Esse tipo de sinal não usa uma senha de banco de dados. Existem duas opções de autenticação externa:

    • Autenticação do sistema operacional: por padrão, a Oracle requer uma conexão segura para logins que o sistema operacional autentica para impedir que um usuário remoto se faça passar por um usuário do sistema operacional através de uma conexão de rede. Esse requisito impede o uso do Oracle Net e de uma configuração de servidor compartilhado.

    • Autenticação de rede: vários mecanismos de autenticação de rede estão disponíveis, como cartões inteligentes, impressões digitais, Kerberos e o sistema operacional. Muitos serviços de autenticação de rede, como Kerberos, oferecem suporte ao logon único para que os usuários tenham menos senhas para lembrar.

  • Autenticação e autorização globais: com autenticação e autorização globais, você pode centralizar o gerenciamento de informações relacionadas ao usuário, incluindo autorizações, em um serviço de diretório baseado em LDAP. Os usuários são identificados no banco de dados como usuários globais, o que significa que eles são autenticados por TLS/SSL e o gerenciamento de usuários ocorre fora do banco de dados. O serviço de diretório centralizado executa o gerenciamento de usuários. Essa abordagem fornece autenticação forte usando TLS/SSL, Kerberos ou autenticação nativa do Windows e permite o gerenciamento centralizado de usuários e privilégios em toda a empresa. A administração é mais fácil porque não é necessário criar um esquema para cada usuário em cada banco de dados da empresa. O logon único também é suportado, de modo que os usuários só precisam entrar uma vez para acessar vários bancos de dados e serviços.

  • Autenticação e autorização de proxy: você pode designar um servidor de camada intermediária para clientes proxy de forma segura. A Oracle fornece várias opções para autenticação de proxy, como:

    • O servidor de camada intermediária pode autenticar-se com o servidor de banco de dados. Um cliente, que neste caso é um usuário de aplicativo ou outro aplicativo, autentica-se com o servidor de camada intermediária. As identidades dos clientes podem ser mantidas até o banco de dados.

    • O cliente, que neste caso é usuário de banco de dados, não é autenticado pelo servidor de camada intermediária. A identidade do cliente e a senha do banco de dados são passadas pelo servidor de camada intermediária para o servidor de banco de dados para autenticação.

    • O cliente, que neste caso é um usuário global, é autenticado pelo servidor de camada intermediária e passa um nome distinto (DN) ou certificado através da camada intermediária para recuperar o nome de usuário do cliente.

Opções de autorização do Azure Synapse

O Azure Synapse dá suporte a duas opções básicas de conexão e autorização:

  • Autenticação SQL: a autenticação SQL usa uma conexão de banco de dados que inclui um identificador de banco de dados, ID de usuário e senha, além de outros parâmetros opcionais. Esse método de autenticação é funcionalmente equivalente à autenticação de banco de dados Oracle.

  • Autenticação do Microsoft Entra: com a autenticação do Microsoft Entra, você pode gerenciar centralmente as identidades dos usuários do banco de dados e dos serviços da Microsoft em um único local. O gerenciamento centralizado fornece um único local para gerenciar usuários do Azure Synapse e simplifica o gerenciamento de permissões. A autenticação do Microsoft Entra suporta conexões com serviços LDAP e Kerberos. Por exemplo, você pode usar a autenticação do Microsoft Entra para se conectar a diretórios LDAP existentes se eles permanecerem no local após a migração do banco de dados.

Usuários, funções e permissões

O Oracle e o Azure Synapse implementam o controle de acesso ao banco de dados por meio de uma combinação de usuários, funções e permissões. Você pode usar instruções CREATE USER SQL padrão e definir usuários e CREATE ROLE/GROUP funções. GRANT e instruções atribuem ou removem permissões a usuários e REVOKE /ou funções.

Gorjeta

O planejamento é essencial para um projeto de migração bem-sucedido. Comece com decisões de abordagem de alto nível.

Conceitualmente, os bancos de dados Oracle e Azure Synapse são semelhantes e, até certo ponto, é possível automatizar a migração de IDs, grupos e permissões de usuário existentes. Extraia as informações herdadas do usuário e do grupo das tabelas de catálogo do sistema Oracle e, em seguida, gere equivalentes CREATE USER e CREATE ROLE instruções correspondentes. Execute essas instruções no Azure Synapse para recriar a mesma hierarquia de usuário/função.

Gorjeta

Se possível, automatize os processos de migração para reduzir o tempo decorrido e o escopo de erros.

Após a extração de dados, use tabelas de catálogo do sistema Oracle para gerar instruções equivalentes GRANT para atribuir permissões, se existir um equivalente.

Chart showing how to automate the migration of privileges from an existing system.

Utilizadores e funções

As informações sobre usuários e grupos atuais em um sistema Oracle são mantidas em exibições de catálogo do sistema, como ALL_USERS e DBA_USERS. Você pode consultar essas exibições da maneira normal via Oracle SQL*Plus ou Oracle SQL Developer. As seguintes consultas são exemplos básicos:

--List of users
select * from dba_users order by username;

--List of roles
select * from dba_roles order by role;

--List of users and their associated roles
select * from user_role_privs order by username, granted_role;

O Oracle SQL Developer tem opções internas para exibir informações de usuário e função no painel Relatórios, conforme mostrado na captura de tela a seguir.

Screenshot showing the Reports pane for user roles in Oracle SQL Developer.

Você pode modificar a instrução de exemplo para produzir um conjunto de resultados que é uma série de SELECTCREATE USER instruções and CREATE GROUP . Para fazer isso, inclua o texto apropriado como um literal dentro da SELECT declaração.

Não há como recuperar senhas Oracle existentes, portanto, você precisa implementar um esquema para alocar novas senhas iniciais no Azure Synapse.

Gorjeta

A migração de um data warehouse requer a migração de mais do que apenas tabelas, exibições e instruções SQL.

Permissões

Em um sistema Oracle, a visualização do sistema DBA_ROLE_PRIVS mantém os direitos de acesso para usuários e funções. Se você tiver SELECT acesso, poderá consultar essa exibição para obter as listas de direitos de acesso atuais definidas no sistema. A captura de tela do Oracle SQL Developer a seguir mostra um exemplo de lista de direitos de acesso.

Screenshot showing the Reports pane for user access rights in Oracle SQL Developer.

Você também pode criar consultas para produzir um script que é uma série de CREATE instruções e GRANT para o Azure Synapse, com base nos privilégios Oracle existentes. A captura de tela do Oracle SQL Developer a seguir mostra um exemplo desse script.

Screenshot showing how to create a script of CREATE and GRANT statements in Oracle SQL Developer.

Esta tabela lista e descreve as exibições de dicionário de dados necessárias para exibir informações de usuário, função e privilégios.

Ver Descrição
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
A exibição DBA descreve todas as concessões de objeto de coluna no banco de dados. A visualização ALL descreve todas as concessões de objeto de coluna para as quais o usuário atual ou PUBLIC é o proprietário, concedente ou beneficiário do objeto. A visualização USER descreve concessões de objeto de coluna para as quais o usuário atual é o proprietário, concedente ou beneficiário do objeto.
ALL_COL_PRIVS_MADE
USER_COL_PRIVS_MADE
O modo de exibição ALL lista as concessões de objeto de coluna para as quais o usuário atual é o proprietário ou concedente do objeto. A visualização USER descreve as concessões de objeto de coluna para as quais o usuário atual é o concedente.
ALL_COL_PRIVS_RECD
USER_COL_PRIVS_RECD
O modo de exibição ALL descreve as concessões de objeto de coluna para as quais o usuário atual ou PUBLIC é o beneficiário. A visualização USER descreve as concessões de objeto de coluna para as quais o usuário atual é o beneficiário.
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
A visualização DBA lista todas as concessões em todos os objetos no banco de dados. A visualização ALL lista as concessões em objetos em que o usuário ou PÚBLICO é o beneficiário. A visualização USER lista concessões em todos os objetos em que o usuário atual é o beneficiário.
ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_MADE
A exibição ALL lista as concessões de objeto feitas pelo usuário atual ou feitas nos objetos de propriedade do usuário atual. A visualização USER lista concessões em todos os objetos de propriedade do usuário atual.
ALL_TAB_PRIVS_RECD
USER_TAB_PRIVS_RECD
O modo de exibição ALL lista as concessões de objeto para as quais o usuário ou PUBLIC é o beneficiário. A visualização USER lista as concessões de objeto para as quais o usuário atual é o beneficiário.
DBA_ROLES Esta vista lista todas as funções existentes na base de dados.
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
A exibição DBA lista as funções concedidas a usuários e funções. O modo de exibição USER lista as funções concedidas ao usuário atual.
DBA_SYS_PRIVS
USER_SYS_PRIVS
A exibição DBA lista os privilégios do sistema concedidos a usuários e funções. A visualização USER lista os privilégios do sistema concedidos ao usuário atual.
ROLE_ROLE_PRIVS Esta vista descreve funções concedidas a outras funções. As informações são fornecidas apenas sobre as funções às quais o usuário tem acesso.
ROLE_SYS_PRIVS Esta vista contém informações sobre os privilégios do sistema concedidos às funções. As informações são fornecidas apenas sobre as funções às quais o usuário tem acesso.
ROLE_TAB_PRIVS Esta vista contém informações sobre privilégios de objeto concedidos a funções. As informações são fornecidas apenas sobre as funções às quais o usuário tem acesso.
SESSION_PRIVS Esta vista lista os privilégios que estão atualmente ativados para o utilizador.
SESSION_ROLES Esta vista lista as funções que estão atualmente ativadas para o utilizador.

O Oracle suporta vários tipos de privilégios:

  • Privilégios do sistema: os privilégios do sistema permitem que o beneficiário execute tarefas padrão de administrador no banco de dados. Normalmente, esses privilégios são restritos a usuários confiáveis. Muitos privilégios de sistema são específicos para operações Oracle.

  • Privilégios de objeto: cada tipo de objeto tem privilégios associados a ele.

  • Privilégios de tabela: os privilégios de tabela permitem a segurança no nível DML (linguagem de manipulação de dados) ou DDL (linguagem de definição de dados). Você pode mapear privilégios de tabela diretamente para seu equivalente no Azure Synapse.

  • Privilégios de visualização: você pode aplicar privilégios de objeto DML a modos de exibição, semelhantes a tabelas. Você pode mapear privilégios de exibição diretamente para seu equivalente no Azure Synapse.

  • Privilégios de procedimento: os privilégios de procedimentos permitem que procedimentos, incluindo procedimentos e funções autônomos, recebam o EXECUTE privilégio. Você pode mapear privilégios de procedimento diretamente para seu equivalente no Azure Synapse.

  • Privilégios de tipo: você pode conceder privilégios de sistema a tipos nomeados, como tipos VARRAYsde objeto e tabelas aninhadas. Normalmente, esses privilégios são específicos do Oracle e não têm equivalente no Azure Synapse.

Gorjeta

O Azure Synapse tem permissões equivalentes para operações básicas de banco de dados, como DML e DDL.

A tabela a seguir lista os privilégios comuns de administrador da Oracle que têm um equivalente direto no Azure Synapse.

Privilégio de administrador Descrição Equivalente de sinapse
[Criar] Base de dados O usuário pode criar bancos de dados. A permissão para operar em bancos de dados existentes é controlada por privilégios de objeto. CREATE DATABASE
[Criar] Tabela externa O usuário pode criar tabelas externas. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. CREATE TABLE
[Criar] Função O usuário pode criar funções definidas pelo usuário (UDFs). A permissão para operar em UDFs existentes é controlada por privilégios de objeto. CREATE FUNCTION
[Criar] Funções O usuário pode criar grupos. A permissão para operar em grupos existentes é controlada por privilégios de objeto. CRIAR FUNÇÃO
[Criar] Índice Apenas para utilização no sistema. Os usuários não podem criar índices. CREATE INDEX
[Criar] Vista Materializada O usuário pode criar visualizações materializadas. CRIAR VISTA
[Criar] Tramitação processual O usuário pode criar procedimentos armazenados. A permissão para operar em procedimentos armazenados existentes é controlada por privilégios de objeto. CRIAR PROCEDIMENTO
[Criar] Esquema O usuário pode criar esquemas. A permissão para operar em esquemas existentes é controlada por privilégios de objeto. CRIAR ESQUEMA
[Criar] Tabela O usuário pode criar tabelas. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. CREATE TABLE
[Criar] Tabela Temporária O usuário pode criar tabelas temporárias. A permissão para operar em tabelas existentes é controlada por privilégios de objeto. CREATE TABLE
[Criar] Utilizador O usuário pode criar usuários. A permissão para operar em usuários existentes é controlada por privilégios de objeto. CRIAR UTILIZADOR
[Criar] Visão O usuário pode criar visualizações. A permissão para operar em modos de exibição existentes é controlada por privilégios de objeto. CRIAR VISTA

Você pode automatizar a migração desses privilégios gerando scripts equivalentes para o Azure Synapse a partir das tabelas de catálogo do Oracle, conforme descrito anteriormente nesta seção.

A tabela seguinte lista os privilégios de objeto Oracle comuns que têm um equivalente direto no Azure Synapse.

Privilégio de objeto Descrição Equivalente de Sinapse
Alterar O usuário pode modificar atributos de objeto. Aplica-se a todos os objetos. ALTERAR
Eliminar O usuário pode excluir linhas da tabela. Aplica-se apenas a tabelas. DELETE
Remover O usuário pode soltar objetos. Aplica-se a todos os tipos de objeto. DROP
Executar O usuário pode executar funções definidas pelo usuário, agregações definidas pelo usuário ou procedimentos armazenados. EXECUTAR
Insert O usuário pode inserir linhas em uma tabela. Aplica-se apenas a tabelas. INSERT
Lista O usuário pode exibir um nome de objeto, seja em uma lista ou de outra maneira. Aplica-se a todos os objetos. LISTA
Selecione O usuário pode selecionar (ou consultar) linhas dentro de uma tabela. Aplica-se a tabelas e exibições. SELECIONAR
Truncar O usuário pode excluir todas as linhas de uma tabela. Aplica-se apenas a tabelas. TRUNCATE
Atualizar O usuário pode modificar linhas da tabela. Aplica-se apenas a tabelas. ATUALIZAR

Para obter mais informações sobre as permissões do Azure Synapse, consulte Permissões do mecanismo de banco de dados.

Migrando usuários, funções e privilégios

Até agora, descrevemos uma abordagem comum para migrar usuários, funções e privilégios para o Azure Synapse usando CREATE USERos comandos , CREATE ROLEe GRANT SQL. No entanto, você não precisa migrar todas as operações Oracle com privilégios concedidos para o novo ambiente. Por exemplo, as operações de gerenciamento do sistema não são aplicáveis ao novo ambiente ou a funcionalidade equivalente é automática ou gerenciada fora do banco de dados. Para usuários, funções e o subconjunto de privilégios que têm um equivalente direto no ambiente do Azure Synapse, as etapas a seguir descrevem o processo de migração:

  1. Migre definições de esquema, tabela e exibição Oracle para o ambiente do Azure Synapse. Esta etapa migra apenas as definições de tabela, não os dados.

  2. Extraia as IDs de usuário existentes que você deseja migrar das tabelas do sistema Oracle, gere um script de CREATE USER instruções para o Azure Synapse e execute esse script no ambiente do Azure Synapse. Encontre uma maneira de criar novas senhas iniciais, porque as senhas não podem ser extraídas do ambiente Oracle.

  3. Extraia as funções existentes das tabelas do sistema Oracle, gere um script de instruções equivalentes CREATE ROLE para o Azure Synapse e execute esse script no ambiente do Azure Synapse.

  4. Extraia as combinações de usuário/função das tabelas do sistema Oracle, gere um script para funções para GRANT usuários no Azure Synapse e execute esse script no ambiente do Azure Synapse.

  5. Extraia as informações de privilégio relevantes das tabelas do sistema Oracle, gere um script para os privilégios apropriados para GRANT usuários e funções no Azure Synapse e execute esse script no ambiente do Azure Synapse.

Considerações operacionais

Esta seção discute como as tarefas operacionais típicas do Oracle podem ser implementadas no Azure Synapse com risco mínimo e impacto no usuário.

Tal como acontece com todos os produtos de armazém de dados em produção, são necessárias tarefas de gestão contínuas para manter o sistema a funcionar de forma eficiente e fornecer dados para monitorização e auditoria. Outras considerações operacionais incluem utilização de recursos, planejamento de capacidade para crescimento futuro e backup/restauração de dados.

Gorjeta

As tarefas operacionais são necessárias para manter qualquer armazém de dados a funcionar de forma eficiente.

As tarefas de administração Oracle normalmente se enquadram em duas categorias:

  • Administração do sistema: administração do sistema é o gerenciamento do hardware, definições de configuração, status do sistema, acesso, espaço em disco, uso, atualizações e outras tarefas.

  • Administração de banco de dados: administração de banco de dados é o gerenciamento de bancos de dados de usuários e seu conteúdo, carregamento de dados, backup de dados, recuperação de dados e acesso a dados e permissões.

A Oracle oferece vários métodos e interfaces que você pode usar para executar tarefas de gerenciamento de sistema e banco de dados:

  • O Oracle Enterprise Manager é a plataforma de gerenciamento local da Oracle. Ele fornece um painel único para gerenciar todas as implantações Oracle de um cliente, seja em seus data centers ou no Oracle Cloud. Através da integração profunda com a pilha de produtos da Oracle, o Oracle Enterprise Manager fornece suporte de gerenciamento e automação para aplicativos, bancos de dados, middleware, hardware e sistemas de engenharia Oracle.

  • O Oracle Instance Manager fornece uma interface do usuário para administração de alto nível de instâncias Oracle. O Oracle Instance Manager permite tarefas como inicialização, desligamento e visualização de logs.

  • O Oracle Database Configuration Assistant é uma interface do usuário que permite o gerenciamento e a configuração de vários recursos e funcionalidades do banco de dados.

  • Comandos SQL que dão suporte a tarefas de administração e consultas em uma sessão de banco de dados SQL. Você pode executar comandos SQL a partir do interpretador de comandos Oracle SQL*Plus, Oracle SQL Developer UI ou por meio de APIs SQL, como ODBC, JDBC e OLE DB Provider. Você deve ter uma conta de usuário de banco de dados para executar comandos SQL, com permissões apropriadas para as consultas e tarefas que você executa.

Embora as tarefas de gerenciamento e operações para diferentes data warehouses sejam semelhantes em conceito, as implementações individuais podem diferir. Os produtos modernos baseados na nuvem, como o Azure Synapse, tendem a incorporar uma abordagem mais automatizada e "gerenciada pelo sistema", em comparação com a abordagem mais manual em ambientes legados como o Oracle.

As seções a seguir comparam as opções Oracle e Azure Synapse para várias tarefas operacionais.

Tarefas domésticas

Na maioria dos ambientes de data warehouse legados, as tarefas regulares de limpeza são demoradas. Você pode recuperar espaço de armazenamento em disco removendo versões antigas de linhas atualizadas ou excluídas. Ou, você pode recuperar espaço de armazenamento em disco reorganizando dados, arquivos de log e blocos de índice para eficiência, por exemplo, executando ALTER TABLE... SHRINK SPACE no Oracle.

Gorjeta

As tarefas de limpeza mantêm um armazém de produção a funcionar de forma eficiente e otimizam o armazenamento e outros recursos.

A coleta de estatísticas é uma tarefa potencialmente demorada que é necessária após a ingestão de dados em massa para fornecer ao otimizador de consulta dados atualizados para seus planos de execução de consulta.

A Oracle tem um recurso integrado para ajudar na análise da qualidade das estatísticas, o Optimizer Statistics Advisor. Ele funciona através de uma lista de regras Oracle que representam as melhores práticas para estatísticas do otimizador. O consultor verifica cada regra e, quando necessário, gera descobertas, recomendações e ações que envolvem chamadas ao DBMS_STATS pacote para tomar medidas corretivas. Os usuários podem ver a lista de regras na exibição, conforme mostrado na captura de tela a V$STATS_ADVISOR_RULES seguir.

Screenshot showing how to display a list of rules by using the Optimizer Statistics Advisor.

Um banco de dados Oracle contém muitas tabelas de log no dicionário de dados, que acumulam dados, automaticamente ou depois que determinados recursos são habilitados. Como os dados de log crescem com o tempo, limpe as informações mais antigas para evitar o uso de espaço permanente. A Oracle fornece opções para automatizar a manutenção de logs.

O Azure Synapse pode criar estatísticas automaticamente para que estejam disponíveis quando necessário. Você pode desfragmentar índices e blocos de dados manualmente, de forma programada ou automaticamente. Usando recursos internos nativos do Azure, você reduz o esforço de migração.

Gorjeta

Automatize e monitore tarefas de limpeza no Azure.

Acompanhamento e auditoria

O Oracle Enterprise Manager inclui ferramentas para monitorar vários aspetos de um ou mais sistemas Oracle, como atividade, desempenho, enfileiramento e utilização de recursos. O Oracle Enterprise Manager tem uma interface do usuário interativa que permite aos usuários detalhar os detalhes de baixo nível de qualquer gráfico.

Gorjeta

O Oracle Enterprise Manager é o método recomendado de monitoramento e registro em log em sistemas Oracle.

O diagrama a seguir fornece uma visão geral do ambiente de monitoramento em um data warehouse Oracle.

Diagram showing an overview of the monitoring environment for an Oracle warehouse.

O Azure Synapse também fornece uma experiência de monitoramento avançada no portal do Azure para fornecer informações sobre sua carga de trabalho de data warehouse. O portal do Azure é a ferramenta recomendada para monitorar seu data warehouse porque fornece períodos de retenção configuráveis, alertas, recomendações e gráficos e painéis personalizáveis para métricas e logs.

Gorjeta

O portal do Azure fornece uma interface do usuário para gerenciar tarefas de monitoramento e auditoria para todos os dados e processos do Azure.

O portal do Azure também pode fornecer recomendações para aprimoramentos de desempenho, conforme mostrado na captura de tela a seguir.

Screenshot of Azure portal recommendations for performance enhancements.

O portal suporta a integração com outros serviços de monitorização do Azure, como o Operations Management Suite (OMS) e o Azure Monitor, para fornecer uma experiência de monitorização integrada do armazém de dados e de toda a plataforma de análise do Azure. Para obter mais informações, consulte Opções de gerenciamento e operações do Azure Synapse.

Alta disponibilidade (HA) e recuperação de desastres (DR)

Desde seu lançamento inicial em 1979, o ambiente Oracle evoluiu para abranger vários recursos exigidos pelos clientes corporativos, incluindo opções de alta disponibilidade (HA) e recuperação de desastres (DR). O anúncio mais recente nesta área é a Maximum Availability Architecture (MAA), que inclui arquiteturas de referência para quatro níveis de HA e DR:

  • Nível Bronze: uma arquitetura HA de instância única
  • Nível Silver: HA com failover automático
  • Nível ouro: HA e DR abrangentes
  • Nível de platina: zero interrupção para aplicações prontas para platina

O Azure Synapse usa instantâneos de banco de dados para fornecer HA do data warehouse. Um instantâneo do data warehouse cria um ponto de restauração que você pode usar para restaurar um data warehouse para um estado anterior. Como o Azure Synapse é um sistema distribuído, um instantâneo do data warehouse consiste em muitos arquivos armazenados no Armazenamento do Azure. Os instantâneos capturam alterações incrementais nos dados armazenados em seu data warehouse.

Gorjeta

O Azure Synapse cria instantâneos automaticamente para garantir um tempo de recuperação rápido.

O Azure Synapse tira instantâneos automaticamente ao longo do dia e cria pontos de restauração que ficam disponíveis por sete dias. Não é possível alterar esse período de retenção. O Azure Synapse dá suporte a um RPO (Recovery Point Objetive, objetivo de ponto de recuperação) de oito horas. Você pode restaurar um data warehouse na região principal a partir de qualquer um dos instantâneos tirados nos últimos sete dias.

Gorjeta

Os instantâneos definidos pelo usuário podem ser usados para definir um ponto de recuperação antes das atualizações de chave.

O Azure Synapse dá suporte a pontos de restauração definidos pelo usuário, que são criados a partir de instantâneos acionados manualmente. Ao criar pontos de restauração antes e depois de grandes modificações de data warehouse, você garante que os pontos de restauração sejam logicamente consistentes. Os pontos de restauração definidos pelo usuário aumentam a proteção de dados e reduzem o tempo de recuperação se houver interrupções da carga de trabalho ou erros do usuário.

Além dos instantâneos, o Azure Synapse executa um backup geográfico padrão uma vez por dia em um data center emparelhado. O RPO para uma restauração geográfica é de 24 horas. Você pode restaurar o backup geográfico para um servidor em qualquer região onde o Azure Synapse é suportado. Um backup geográfico garante que um data warehouse possa ser restaurado se os pontos de restauração na região principal não estiverem disponíveis.

Gorjeta

O Microsoft Azure fornece backups automáticos para um local geográfico separado para habilitar a DR.

Gestão de cargas de trabalho

A Oracle fornece utilitários como Enterprise Manager e DBRM (Database Resource Manager) para gerenciar cargas de trabalho. Esses utilitários incluem recursos como balanceamento de carga em grandes clusters, execução de consultas paralelas, medição de desempenho e priorização. Muitos desses recursos podem ser automatizados para que o sistema se torne, até certo ponto, autoajustável.

Gorjeta

Um armazém de dados de produção típico executa simultaneamente cargas de trabalho mistas com diferentes características de utilização de recursos.

O Azure Synapse registra automaticamente as estatísticas de utilização de recursos. As métricas incluem estatísticas de uso de CPU, memória, cache, E/S e espaço de trabalho temporário para cada consulta. O Azure Synapse também registra informações de conectividade, como tentativas de conexão com falha.

Gorjeta

As métricas de baixo nível e em todo o sistema são registradas automaticamente no Azure.

No Azure Synapse, as classes de recursos são limites de recursos predeterminados que governam os recursos de computação e a simultaneidade para a execução da consulta. As classes de recursos ajudam a gerenciar sua carga de trabalho definindo limites no número de consultas executadas simultaneamente e nos recursos de computação atribuídos a cada consulta. Há um compromisso entre memória e simultaneidade.

O Azure Synapse dá suporte a estes conceitos básicos de gerenciamento de carga de trabalho:

  • Classificação da carga de trabalho: você pode atribuir uma solicitação a um grupo de carga de trabalho para definir níveis de importância.

  • Importância da carga de trabalho: você pode influenciar a ordem na qual uma solicitação obtém acesso aos recursos. Por padrão, as consultas são liberadas da fila em uma base de primeiro a entrar, primeiro a sair, à medida que os recursos ficam disponíveis. A importância da carga de trabalho permite que consultas de prioridade mais alta recebam recursos imediatamente, independentemente da fila.

  • Isolamento da carga de trabalho: você pode reservar recursos para um grupo de carga de trabalho, atribuir uso máximo e mínimo para recursos variáveis, limitar os recursos que um grupo de solicitações pode consumir e definir um valor de tempo limite para matar automaticamente consultas fugitivas.

A execução de cargas de trabalho mistas pode representar desafios de recursos em sistemas ocupados. Um esquema de gerenciamento de carga de trabalho bem-sucedido gerencia efetivamente os recursos, garante uma utilização altamente eficiente dos recursos e maximiza o retorno sobre o investimento (ROI). A classificação da carga de trabalho, a importância da carga de trabalho e o isolamento da carga de trabalho oferecem mais controle sobre como a carga de trabalho utiliza os recursos do sistema.

Você pode usar as métricas de carga de trabalho que o Azure Synapse coleta para planejamento de capacidade, por exemplo, para determinar os recursos necessários para usuários extras ou uma carga de trabalho de aplicativo maior. Você também pode usar métricas de carga de trabalho para planejar o aumento/redução de escala de recursos de computação para oferecer suporte econômico a cargas de trabalho com pico.

O guia de gerenciamento de carga de trabalho descreve as técnicas para analisar a carga de trabalho, gerenciar e monitorar a importância da carga de trabalho](.. /.. /sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) e as etapas para converter uma classe de recurso em um grupo de carga de trabalho. Use o portal do Azure e as consultas T-SQL em DMVs para monitorar a carga de trabalho e garantir que os recursos aplicáveis sejam utilizados de forma eficiente. O Azure Synapse fornece um conjunto de Modos de Exibição de Gerenciamento Dinâmico (DMVs) para monitorar todos os aspetos do gerenciamento de carga de trabalho. Essas exibições são úteis ao solucionar ativamente a solução de problemas e identificar gargalos de desempenho em sua carga de trabalho.

Para obter mais informações sobre o gerenciamento de carga de trabalho no Azure Synapse, consulte Gerenciamento de carga de trabalho com classes de recursos.

Dimensionar recursos de computação

A arquitetura do Azure Synapse separa armazenamento e computação, permitindo que cada um seja dimensionado de forma independente. Como resultado, os recursos de computação podem ser dimensionados para atender às demandas de desempenho independentemente do armazenamento de dados. Também pode colocar em pausa e retomar recursos de computação. Outro benefício dessa arquitetura é que o faturamento para computação e armazenamento é separado. Se um data warehouse não estiver em uso, você poderá economizar nos custos de computação pausando a computação.

Gorjeta

Um dos principais benefícios do Azure é a capacidade de aumentar e reduzir de forma independente os recursos de computação sob demanda para lidar com cargas de trabalho de pico de forma econômica.

Você pode dimensionar recursos de computação para cima ou para baixo ajustando a configuração de unidades de data warehouse (DWU) para um data warehouse. O desempenho de carregamento e consulta aumentará linearmente à medida que você alocar mais DWUs.

Se você aumentar DWUs, o número de nós de computação aumentará, o que adiciona mais poder de computação e suporta mais processamento paralelo. À medida que o número de nós de computação aumenta, o número de distribuições por nó de computação diminui, fornecendo mais poder de computação e processamento paralelo para consultas. Da mesma forma, se você diminuir DWUs, o número de nós de computação diminuirá, o que reduz os recursos de computação para consultas.

Próximos passos

Para saber mais sobre visualização e relatórios, consulte o próximo artigo desta série: Visualização e relatórios para migrações Oracle.