Solucionar problemas de banco de dados do Amazon RDS Custom para Oracle
O modelo de responsabilidade compartilhada do RDS Custom fornece acesso ao nível de shell do SO e acesso pelo administrador do banco de dados. O RDS Custom executa recursos na sua conta, ao contrário do Amazon RDS, que executa recursos em uma conta do sistema. A extensão do acesso aumenta a responsabilidade. Nas seções a seguir, você vai aprender a solucionar problemas em instâncias de banco de dados do Amazon RDS Custom.
nota
Esta seção explica como solucionar problemas do RDS Custom para Oracle. Para solucionar problemas do RDS Custom para Oracle, consulte Solucionar problemas de banco de dados do Amazon RDS Custom para SQL Server.
Tópicos
Visualizar eventos personalizados do RDS Custom
O procedimento para visualizar eventos é o mesmo para instâncias de banco de dados do RDS Custom e do Amazon RDS. Para ter mais informações, consulte Visualizar eventos do Amazon RDS.
Para visualizar a notificação de eventos do RDS Custom utilizando a AWS CLI, execute o comando describe-events
. O RDS Custom introduz vários novos eventos. As categorias dos eventos são as mesmas que as do Amazon RDS. Para visualizar a lista de eventos, consulte Categorias de eventos e mensagens de eventos do Amazon RDS.
O exemplo a seguir recupera detalhes dos eventos que ocorreram para a instância de banco de dados do RDS Custom especificada.
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
Assinar eventos do RDS Custom
O procedimento para assinar eventos é o mesmo para instâncias de banco de dados do RDS Custom e do Amazon RDS. Para ter mais informações, consulte Inscrever-se em notificações de eventos do Amazon RDS.
Para assinar a notificação de eventos do RDS Custom usando a CLI, execute o comando create-event-subscription
. Inclua os seguintes parâmetros necessários:
-
--subscription-name
-
--sns-topic-arn
O exemplo a seguir cria uma assinatura para eventos de backup e recuperação para uma instância de banco de dados do RDS Custom na conta atual da AWS. As notificações são enviadas para um tópico do Amazon Simple Notification Service (Amazon SNS), especificado por --sns-topic-arn
.
aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
Solucionar problemas com a criação de uma versão de mecanismo personalizado para o RDS Custom for Oracle
Quando a criação da CEV falha, o RDS Custom emite RDS-EVENT-0198
com a mensagem Creation failed for custom engine
version
e inclui detalhes sobre a falha. Por exemplo, o evento imprime arquivos ausentes.major-engine-version.cev_name
A criação da CEV pode falhar devido aos seguintes problemas:
-
O bucket do Amazon S3 que contém seus arquivos de instalação não está na mesma região da AWS que a CEV.
-
Quando você solicita a criação da CEV em um Região da AWS pela primeira vez, o RDS Custom cria um bucket do S3 para armazenar recursos do RDS Custom (como artefatos de CEV, logs de AWS CloudTrail e logs de transações).
A criação da CEV falhará se o RDS Custom não conseguir criar o bucket do S3. O autor da chamada não tem permissões do S3, conforme descrito em Etapa 5: Conceder as permissões necessárias ao usuário ou ao perfil do IAM, ou o número de buckets do S3 atingiu o limite.
-
O autor da chamada não tem permissões para obter arquivos do bucket do S3 que contém os arquivos da mídia de instalação. Essas permissões estão descritas em Etapa 7: Adicionar permissões do IAM necessárias.
-
Sua política do IAM tem uma condição
aws:SourceIp
. Certifique-se de seguir as recomendações em A AWS nega acesso à AWS com base no IP da fonte no Guia do usuário do AWS Identity and Access Management. Certifique-se também de que o autor da chamada tenha as permissões do S3 descritas em Etapa 5: Conceder as permissões necessárias ao usuário ou ao perfil do IAM. -
Os arquivos da mídia de instalação listados no manifesto da CEV não estão no bucket do S3.
-
As somas de verificação SHA-256 dos arquivos de instalação são desconhecidas para o RDS Custom.
Confirme se as somas de verificação SHA-256 dos arquivos fornecidos correspondem à soma de verificação SHA-256 no site da Oracle. Se as somas de verificação corresponderem, entre em contato com o AWS Support
e forneça o nome da CEV com falha, o nome do arquivo e a soma de verificação. -
A versão do OPatch é compatível com seus arquivos de patch. Você pode receber a seguinte mensagem:
OPatch is lower than minimum required version. Check that the version meets the requirements for all patches, and try again
. Para aplicar um patch Oracle, você deve usar uma versão compatível do utilitário OPatch. É possível encontrar a versão necessária do utilitário Opatch no arquivo readme do patch. Baixe o utilitário OPatch mais recente do My Oracle Support e tente criar sua CEV novamente. -
Os patches especificados no manifesto da CEV estão na ordem incorreta.
É possível visualizar eventos do RDS no console do RDS (no painel de navegação, escolha Events) ou utilizando o comando AWS CLI da describe-events
. A duração padrão é de 60 minutos. Se nenhum evento for retornado, especifique uma duração maior, como mostra o exemplo a seguir.
aws rds describe-events --duration 360
Atualmente, o serviço MediaImport, que importa arquivos do Amazon S3 para criar CEVs, não está integrado ao AWS CloudTrail. Portanto, se você ativar o registro de dados em log para o Amazon RDS no CloudTrail, as chamadas para o serviço MediaImport, como o evento CreateCustomDbEngineVersion
não serão registradas.
Porém, é possível ver chamadas do gateway de API que acessa seu bucket do Amazon S3. Essas chamadas são provenientes do serviço MediaImport para o evento CreateCustomDbEngineVersion
.
Corrigir configurações não compatíveis no RDS Custom para Oracle
Devido ao modelo de responsabilidade compartilhada, é sua responsabilidade corrigir problemas de configuração que colocam a instância de banco de dados do RDS Custom para Oracle no estado unsupported-configuration
. Se o problema for com a infraestrutura da AWS, use o console ou a AWS CLI para corrigi-lo. Se o problema for com o sistema operacional ou a configuração do banco de dados, faça login no host para corrigi-lo.
nota
Esta seção explica como corrigir configurações não compatíveis no RDS Custom para Oracle. Para obter informações sobre o RDS Custom para SQL Server, consulte Corrigir configurações não compatíveis no RDS Custom para SQL Server.
A tabela a seguir inclui descrições de notificações e eventos que o perímetro de suporte envia e como corrigi-los. Essas notificações e o perímetro de suporte estão sujeitos a alterações. Para obter informações básicas sobre o perímetro de suporte, consultePerímetro de suporte do RDS Custom. Para obter informações sobre descrições de eventos, consulte Categorias de eventos e mensagens de eventos do Amazon RDS.
ID do evento | Configuração | Mensagem de evento do RDS | Ação |
---|---|---|---|
|
Configuração manual incompatível |
|
Para resolver esse problema, crie um caso do Suporte. |
Recurso da AWS (infraestrutura) | |||
|
Volumes do Amazon Elastic Block Store (Amazon EBS) |
|
O RDS Custom cria dois tipos de volume do EBS, além do volume raiz criado com base na imagem de máquina da Amazon (AMI), e os associa à instância do EC2:
Ao criar a instância de banco de dados, as configurações de armazenamento que você especifica configuram os volumes de dados. O perímetro de suporte monitora o seguinte:
Use o comando da CLI a seguir para comparar o tipo de volume dos detalhes do volume do EBS e os detalhes da instância de banco de dados do RDS Custom para Oracle:
|
|
Volumes do Amazon Elastic Block Store (Amazon EBS) |
|
O RDS Custom cria dois tipos de volume do EBS, além do volume raiz criado com base na imagem de máquina da Amazon (AMI), e os associa à instância do EC2:
Ao criar a instância de banco de dados, as configurações de armazenamento que você especifica configuram os volumes de dados. O perímetro de suporte monitora o seguinte:
Use o comando da CLI a seguir para comparar o tipo de volume dos detalhes do volume do EBS e os detalhes da instância de banco de dados do RDS Custom para Oracle:
|
|
Volumes do Amazon Elastic Block Store (Amazon EBS) |
|
O RDS Custom cria dois tipos de volume do EBS, além do volume raiz criado com base na imagem de máquina da Amazon (AMI), e os associa à instância do EC2:
Ao criar a instância de banco de dados, as configurações de armazenamento que você especifica configuram os volumes de dados. O perímetro de suporte monitora o seguinte:
Use o comando da CLI a seguir para comparar o tipo de volume dos detalhes do volume do EBS e os detalhes da instância de banco de dados do RDS Custom para Oracle:
|
|
Status da instância do Amazon EC2 |
|
Para conferir o status de uma instância de banco de dados, use o console ou execute o seguinte comando AWS CLI:
|
|
Atributos da instância do Amazon EC2 |
|
|
|
Status da instância do Amazon EC2 |
|
O perímetro de suporte monitora notificações de alteração de estado da instância do EC2. A instância do EC2 deve estar sempre em execução. Para excluir a instância de banco de dados
|
|
Status da instância do Amazon EC2 |
|
O perímetro de suporte monitora notificações de alteração de estado da instância do EC2. A instância do EC2 deve estar sempre em execução. Para reiniciar a instância de banco de dados
|
Sistema operacional | |||
|
Status do agente do RDS Custom |
|
No RDS Custom for Oracle, a instância de banco de dados sairá do perímetro de suporte se o agente do RDS Custom parar. O agente publica a métrica Para reiniciar o agente do RDS Custom
Quando o agente do RDS Custom estiver sendo executado novamente, a métrica |
|
Status do agente do AWS Systems Manager (agente do SSM) |
|
O SSM Agent sempre deve estar em execução. O agente do RDS Custom é responsável por garantir que o agente do Systems Manager esteja em execução. Se o SSM Agent foi encerrado e, depois, reiniciado, o agente do RDS Custom publica uma métrica no CloudWatch. O agente do RDS Custom tem um alarme na métrica definido para acionamento quando tiver ocorrido uma reinicialização em cada um dos três minutos anteriores. O perímetro de suporte também monitora o estado do processo do SSM Agent no host a cada 30 minutos. Para ter mais informações, consulte Solucionar problemas com o SSM Agent. |
|
Status do agente do AWS Systems Manager (agente do SSM) |
|
Para ter mais informações, consulte Solucionar problemas com o SSM Agent. |
|
Fuso horário do SO |
|
A automação do RDS detectou que o fuso horário no host foi alterado sem o uso de um grupo de opções. Essa alteração em nível de host pode causar falhas na automação do RDS, portanto, a instância do EC2 é colocada no estado Para corrigir a configuração do fuso horário
A instância de banco de dados fica disponível em 30 minutos. Para não sair do perímetro no futuro, modifique o fuso horário por meio de um grupo de opções. Para ter mais informações, consulte Fuso horário da Oracle. |
|
Configurações de |
|
O perímetro de suporte verifica se certos usuários do sistema operacional têm permissão para executar determinados comandos no host. Ele monitora as configurações Se as configurações de
Se a substituição não for bem-sucedida, sua instância de banco de dados permanecerá no estado de configuração não suportado. Para resolver esse problema, reverta as alterações no arquivo Como investigar as alterações nas configurações
|
|
Acessibilidade do bucket do S3 |
|
|
Banco de dados | |||
|
Destino de atraso de arquivo do banco de dados |
|
O perímetro de suporte monitora o parâmetro de banco de dados Para alterar a meta de atraso para logs redo arquivados
A instância de banco de dados fica disponível em 30 minutos. |
|
Função do Oracle Data Guard |
|
O perímetro de suporte monitora a função de banco de dados atual a cada 15 segundos e envia uma notificação do CloudWatch quando ela tiver sido alterada. O parâmetro Para restaurar o perfil de banco de dados do Oracle Data Guard para um valor compatível
Depois que o perímetro de suporte determinar que a função de banco de dados é compatível, a instância de banco de dados do RDS Custom para Oracle ficará disponível em 15 segundos. |
|
Integridade do banco de dados |
|
O perímetro de suporte monitora o estado da instância de banco de dados. Ele também monitora quantas reinicializações ocorreram durante a hora anterior e ao longo do dia. Você é notificado quando a instância está em um estado em que ela ainda existe, mas não é possível interagir com ela. Para fazer com que o perímetro de suporte avalie o estado da instância
Após a reinicialização da instância de banco de dados, o agente do RDS Custom detecta que a instância de banco de dados não está mais em um estado sem resposta. Em seguida, ele notifica o perímetro de suporte para reavaliar o estado dessa instância. |
|
Modo de log de banco de dados |
|
Para alterar o modo de log da instância de banco de dados para
|
|
Caminho inicial do Oracle |
|
|
|
Nome exclusivo do banco de dados |
|
Para alterar o nome exclusivo do banco de dados da instância de banco de dados
O agente do RDS Custom reinicia automaticamente a instância de banco de dados e define o modo de log como |
Solucionar problemas de upgrade do RDS Custom para Oracle
O upgrade de uma instância do RDS Custom para Oracle pode falhar. Veja a seguir técnicas que podem ser utilizadas durante upgrades de instâncias de banco de dados do RDS Custom para Oracle:
-
Examine os arquivos de log de saída de atualização no diretório
/tmp
na instância de banco de dados. Os nomes dos logs dependem da versão do mecanismo de banco de dados. Por exemplo, você pode ver logs que contêm as stringscatupgrd
oucatup
. -
Examine o arquivo
alert.log
localizado no diretório/rdsdbdata/log/trace
. -
Execute o seguinte comando da
grep
no diretórioroot
para acompanhar o processo de upgrade do SO. Esse comando mostra onde os arquivos de log estão sendo gravados e determina o estado do processo de upgrade.ps -aux | grep upg
Veja a seguir um exemplo de saída.
root 18884 0.0 0.0 235428 8172 ? S< 17:03 0:00 /usr/bin/sudo -u rdsdb /rdsdbbin/scripts/oracle-control ORCL op_apply_upgrade_sh RDS-UPGRADE/2.upgrade.sh rdsdb 18886 0.0 0.0 153968 12164 ? S< 17:03 0:00 /usr/bin/perl -T -w /rdsdbbin/scripts/oracle-control ORCL op_apply_upgrade_sh RDS-UPGRADE/2.upgrade.sh rdsdb 18887 0.0 0.0 113196 3032 ? S< 17:03 0:00 /bin/sh /rdsdbbin/oracle/rdbms/admin/RDS-UPGRADE/2.upgrade.sh rdsdb 18900 0.0 0.0 113196 1812 ? S< 17:03 0:00 /bin/sh /rdsdbbin/oracle/rdbms/admin/RDS-UPGRADE/2.upgrade.sh rdsdb 18901 0.1 0.0 167652 20620 ? S< 17:03 0:07 /rdsdbbin/oracle/perl/bin/perl catctl.pl -n 4 -d /rdsdbbin/oracle/rdbms/admin -l /tmp catupgrd.sql root 29944 0.0 0.0 112724 2316 pts/0 S+ 18:43 0:00 grep --color=auto upg
-
Execute a seguinte consulta SQL para verificar o estado atual dos componentes e localizar a versão do banco de dados e as opções instaladas na instância de banco de dados.
SET LINESIZE 180 COLUMN COMP_ID FORMAT A15 COLUMN COMP_NAME FORMAT A40 TRUNC COLUMN STATUS FORMAT A15 TRUNC SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY 1;
A saída será semelhante à seguinte.
COMP_NAME STATUS PROCEDURE ---------------------------------------- -------------------- -------------------------------------------------- Oracle Database Catalog Views VALID DBMS_REGISTRY_SYS.VALIDATE_CATALOG Oracle Database Packages and Types VALID DBMS_REGISTRY_SYS.VALIDATE_CATPROC Oracle Text VALID VALIDATE_CONTEXT Oracle XML Database VALID DBMS_REGXDB.VALIDATEXDB 4 rows selected.
-
Execute a seguinte consulta SQL para verificar se há objetos inválidos que possam interferir no processo de upgrade.
SET PAGES 1000 LINES 2000 COL OBJECT FOR A40 SELECT SUBSTR(OWNER,1,12) OWNER, SUBSTR(OBJECT_NAME,1,30) OBJECT, SUBSTR(OBJECT_TYPE,1,30) TYPE, STATUS, CREATED FROM DBA_OBJECTS WHERE STATUS <>'VALID' AND OWNER IN ('SYS','SYSTEM','RDSADMIN','XDB');
Solucionar problemas de promoção de réplicas no RDS Custom para Oracle
Você pode promover réplicas gerenciadas do Oracle no RDS Custom para Oracle usando o console, o comando promote-read-replica
do AWS CLI ou a API do PromoteReadReplica
. Se você excluir sua instância de banco de dados primária e todas as réplicas estiverem íntegras, o RDS Custom para Oracle promoverá automaticamente suas réplicas gerenciadas a instâncias autônomas. Se uma réplica tiver pausado a automação ou estiver fora do perímetro de suporte, corrija a réplica para que o RDS Custom possa promovê-la automaticamente. Para ter mais informações, consulte Promover uma réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma.
O fluxo de trabalho de promoção de réplicas pode ficar travado na seguinte situação:
-
A instância de banco de dados primária está no estado
STORAGE_FULL
. -
O banco de dados principal não pode arquivar todos os logs de redo on-line.
-
Existe uma lacuna entre os arquivos de log de redo arquivados na réplica do Oracle e no banco de dados primário.
Como responder ao fluxo de trabalho travado
-
Sincronize a lacuna de logs de redo na réplica da instância de banco de dados Oracle.
-
Force a promoção de sua réplica de leitura para o log de redo mais recente aplicado. Execute os seguintes comandos no SQL*Plus:
ALTER DATABASE ACTIVATE STANDBY DATABASE; SHUTDOWN IMMEDIATE STARTUP
-
Entre em contato com o Suporte e peça que a instância de banco de dados passe para o status
available
.