Solución de problemas de base de datos de Amazon RDS Custom para Oracle
El modelo de responsabilidad compartida de RDS Custom proporciona acceso al shell del sistema operativo y acceso como administrador de bases de datos. RDS Custom ejecuta recursos en su cuenta, a diferencia de Amazon RDS, que ejecuta recursos en una cuenta del sistema. Un mayor acceso conlleva una mayor responsabilidad. En las siguientes secciones, puede obtener información sobre cómo solucionar problemas con las instancias de base de datos de Amazon RDS Custom.
nota
En esta sección, se explica cómo solucionar los problemas de RDS Custom para Oracle. Para la solución de problemas de RDS Custom para SQL Server, consulte Solución de problemas de base de datos para Amazon RDS Custom para SQL Server.
Temas
Solución de problemas de creación de versiones de motores personalizados para RDS Custom for Oracle
Corrección de configuraciones no compatibles en RDS Custom para Oracle
Solución de problemas de actualización de RDS Custom para Oracle
Solución de problemas de la promoción de réplicas para RDS Custom para Oracle
Visualización de eventos de RDS Custom
El procedimiento para ver eventos es el mismo para las instancias de base de datos de RDS Custom y Amazon RDS. Para obtener más información, consulte Consulta de eventos de Amazon RDS.
Para ver la notificación de eventos de RDS Custom mediante la AWS CLI, utilice el comando describe-events
. RDS Custom presenta varios eventos nuevos. Las categorías de eventos son las mismas que para Amazon RDS. Para ver la lista de eventos, consulte Categorías y mensajes de eventos de Amazon RDS.
En el siguiente ejemplo se recuperan los detalles de los eventos que se han producido para la instancia de base de datos de RDS Custom especificada.
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
Suscripción a eventos de RDS Custom
El procedimiento para suscribirse a eventos es el mismo para las instancias de base de datos de RDS Custom y Amazon RDS. Para obtener más información, consulte Suscripción a notificaciones de eventos de Amazon RDS.
Para suscribirse a las notificaciones de eventos de RDS Custom con la CLI, utilice el comando create-event-subscription
. Incluya los siguientes parámetros obligatorios:
-
--subscription-name
-
--sns-topic-arn
En el siguiente ejemplo se crea una suscripción para eventos de copia de seguridad y recuperación de una instancia de base de datos de RDS Custom en la cuenta de AWS actual. Las notificaciones se envían a un tema de 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
Solución de problemas de creación de versiones de motores personalizados para RDS Custom for Oracle
Cuando hay errores en la creación de la CEV, RDS Custom emite RDS-EVENT-0198
con el mensaje Creation failed for custom engine
version
e incluye detalles sobre el error. Por ejemplo, el evento imprime los archivos que faltan.major-engine-version.cev_name
La creación de la CEV podría tener errores debido a los siguientes problemas:
-
El bucket de Amazon S3 que contiene los archivos de instalación no está en la misma región de AWS que su CEV.
-
Cuando solicita por primera vez la creación de la CEV en una Región de AWS, RDS Custom crea un bucket de S3 para almacenar recursos de RDS Custom (como artefactos de la CEV, registros AWS CloudTrail y registros de transacciones).
La creación de la CEV tiene errores si RDS Custom no puede crear el bucket de S3. O bien la persona que llama no tiene permisos de S3 como se describe en Paso 5: otorgar los permisos necesarios al rol o usuario de IAM o el número de buckets de S3 alcanzó el límite.
-
La persona que llama no tiene permisos para obtener archivos del bucket de S3 que contiene los archivos multimedia de instalación. Estos permisos se describen en Paso 7: añadir los permisos de IAM necesarios.
-
La política de IAM tiene una condición
aws:SourceIp
. Asegúrese de seguir las recomendaciones de la sección AWS: deniega acceso a AWS en función de la dirección IP de origen de la Guía del usuario de AWS Identity and Access Management Asegúrese también de que la persona que llama tenga los permisos de S3 descritos en Paso 5: otorgar los permisos necesarios al rol o usuario de IAM. -
Los archivos multimedia de instalación que aparecen en el manifiesto CEV no se encuentran en el bucket de S3.
-
RDS Custom desconoce las sumas de comprobación SHA-256 de los archivos de instalación.
Confirme que las sumas de comprobación SHA-256 de los archivos proporcionados coinciden con la suma de comprobación SHA-256 del sitio web de Oracle. Si las sumas de comprobación coinciden, contacte a AWS Support
y proporcione el nombre de la CEV, el nombre de archivo y la suma de comprobación que tuvieron errores. -
La versión de OPatch no es compatible con sus archivos de revisión. Puede que reciba el siguiente mensaje:
OPatch is lower than minimum required version. Check that the version meets the requirements for all patches, and try again
. Para aplicar una revisión de Oracle, debe utilizar una versión compatible de la utilidad OPatch. Puede encontrar la versión necesaria de la utilidad Opatch en el archivo léame del revisión. Descargue la utilidad OPatch más reciente de My Oracle Support e intente crear el CEV de nuevo. -
Las revisiones especificadas en el manifiesto CEV están en el orden incorrecto.
Puede ver los eventos de RDS en la consola de RDS (en el panel de navegación, elija Events [Eventos]) o mediante el comando describe-events
de la AWS CLI. La duración predeterminada de la sesión es de 60 minutos. Si no se devuelve ningún evento, especifique una duración más larga, como se muestra en el siguiente ejemplo.
aws rds describe-events --duration 360
Actualmente, el servicio MediaImport que importa archivos de Amazon S3 para crear las CEV no está integrado con AWS CloudTrail. Por lo tanto, si activa el registro de datos de Amazon RDS en CloudTrail, no se registran las llamadas al servicio MediaImport, como el evento CreateCustomDbEngineVersion
.
Sin embargo, es posible que vea llamadas de la API Gateway que accede a su bucket de Amazon S3. Estas llamadas provienen del servicio MediaImport para el evento CreateCustomDbEngineVersion
.
Corrección de configuraciones no compatibles en RDS Custom para Oracle
En el modelo de responsabilidad compartida, es su responsabilidad corregir los problemas de configuración que colocan la instancia de base de datos de RDS Custom para Oracle en el estado unsupported-configuration
. Si el problema está relacionado con la infraestructura de AWS, puede utilizar la consola o la AWS CLI para solucionarlo. Si el problema está relacionado con el sistema operativo o la configuración de la base de datos, inicie sesión en el host para solucionarlo.
nota
Esta sección explica cómo corregir configuraciones no compatibles en RDS Custom para Oracle. Para obtener información sobre RDS Custom para SQL Server, consulte Corrección de configuraciones no compatibles en RDS Custom para SQL Server.
En las siguientes tablas, se incluyen descripciones de las notificaciones y eventos que envía el perímetro de soporte y cómo solucionarlos. Estas notificaciones y el perímetro de soporte están sujetos a cambios. Para obtener información sobre el perímetro de soporte, consulte Perímetro de soporte de RDS Custom. Para ver las descripciones de los eventos, consulte Categorías y mensajes de eventos de Amazon RDS.
ID de evento | Configuración | Mensaje de evento de RDS | Acción |
---|---|---|---|
|
Configuración manual no compatible |
|
Para resolver este problema, cree un caso Soporte. |
Recursos de AWS (infraestructura)
ID de evento | Configuración | Mensaje de evento de RDS | Acción |
---|---|---|---|
|
Volúmenes de Amazon Elastic Block Store (Amazon EBS) |
|
RDS Custom crea dos tipos de volumen de EBS, además del volumen raíz creado a partir de la Imagen de máquina de Amazon (AMI), y los asocia a la instancia EC2:
Al crear su instancia de base de datos, las configuraciones de almacenamiento que especifique configuran los volúmenes de datos. El perímetro de soporte monitorea lo siguiente:
Utilice el siguiente comando de la CLI para comparar el tipo de volumen de los detalles del volumen de EBS y los detalles de la instancia de base de datos de RDS Custom para Oracle:
|
|
Volúmenes de Amazon Elastic Block Store (Amazon EBS) |
|
RDS Custom crea dos tipos de volumen de EBS, además del volumen raíz creado a partir de la Imagen de máquina de Amazon (AMI), y los asocia a la instancia EC2:
Al crear su instancia de base de datos, las configuraciones de almacenamiento que especifique configuran los volúmenes de datos. El perímetro de soporte monitorea lo siguiente:
Utilice el siguiente comando de la CLI para comparar el tipo de volumen de los detalles del volumen de EBS y los detalles de la instancia de base de datos de RDS Custom para Oracle:
|
|
Volúmenes de Amazon Elastic Block Store (Amazon EBS) |
|
RDS Custom crea dos tipos de volumen de EBS, además del volumen raíz creado a partir de la Imagen de máquina de Amazon (AMI), y los asocia a la instancia EC2:
Al crear su instancia de base de datos, las configuraciones de almacenamiento que especifique configuran los volúmenes de datos. El perímetro de soporte monitorea lo siguiente:
Utilice el siguiente comando de la CLI para comparar el tipo de volumen de los detalles del volumen de EBS y los detalles de la instancia de base de datos de RDS Custom para Oracle:
|
|
Estado de la instancia de Amazon EC2 |
|
Para comprobar el estado de una instancia de base de datos, utilice la consola o ejecute el siguiente comando de la AWS CLI:
|
|
Atributos de la instancia de Amazon EC2 |
|
|
|
Estado de la instancia de Amazon EC2 |
|
El perímetro de soporte monitorea las notificaciones del cambio de estado de la instancia EC2. La instancia EC2 siempre tiene que estar siempre en ejecución. Para eliminar la instancia de base de datos
|
|
Estado de la instancia de Amazon EC2 |
|
El perímetro de soporte monitorea las notificaciones del cambio de estado de la instancia EC2. La instancia EC2 siempre tiene que estar siempre en ejecución. Para reiniciar la instancia de base de datos
|
|
Permiso de Amazon SQS |
|
Puede resolver este problema asegurándose de que el perfil de IAM asociado al host tiene los siguientes permisos:
|
|
Amazon Simple Queue Service (Amazon SQS) |
|
Recree la cola de Amazon SQS. |
Sistema operativo
ID de evento | Configuración | Mensaje de evento de RDS | Acción |
---|---|---|---|
|
Estado del agente de RDS Custom |
|
En RDS Custom for Oracle, la instancia de base de datos sale del perímetro de soporte si se detiene el agente de RDS Custom. Cada 30 segundos, el agente publica la métrica Para reiniciar el agente de RDS Custom
Cuando el agente de RDS Custom está de nuevo en ejecución, la métrica |
|
Estado del agente de AWS Systems Manager (agente de SSM) |
|
El agente de SSM tiene que estar siempre en ejecución. El agente de RDS Custom es responsable de asegurarse de que Systems Manager Agent esté en ejecución. Si el agente de SSM se cancela y se reinicia, el agente de RDS Custom publica una métrica en CloudWatch. El agente de RDS Custom tiene una alarma en la métrica configurada para desencadenarse cuando haya un reinicio en uno de los tres minutos anteriores. Cada 30 minutos, el perímetro de soporte también supervisa el estado del proceso del agente de SSM en el host. Para obtener información, consulte Solución de problemas de SSM Agent. |
|
Estado del agente de AWS Systems Manager (agente de SSM) |
|
Para obtener información, consulte Solución de problemas de SSM Agent. |
|
Zona horaria del sistema operativo |
|
La automatización de RDS detectó que se había cambiado la zona horaria del host sin utilizar un grupo de opciones. Este cambio a nivel de host puede provocar errores en la automatización de RDS, por lo que la instancia EC2 se coloca en el estado Para reparar la zona horaria
La instancia de base de datos está disponible en 30 minutos. Para evitar salirse del perímetro en el futuro, modifique su zona horaria mediante un grupo de opciones. Para obtener más información, consulte Zona horaria Oracle. |
|
Configuraciones de |
|
El perímetro de soporte comprueba que determinados usuarios del sistema operativo puedan ejecutar ciertos comandos en el host. Supervisa las configuraciones de Si no se admiten las configuraciones
Si la sobrescritura no se realiza correctamente, la instancia de base de datos permanece en el estado de configuración no compatible. Para resolver este problema, revierta los cambios del archivo Análisis de los cambios en las configuraciones de
|
|
Accesibilidad del bucket de S3 |
|
|
|
Versión de la solución de software de alta disponibilidad |
|
Cree un caso de AWS Support. |
Base de datos
ID de evento | Configuración | Mensaje de evento de RDS | Acción |
---|---|---|---|
|
Objetivo de retraso en el archivo de la base de datos |
|
El perímetro de soporte supervisa el parámetro de base de datos Para cambiar el objetivo de retraso de los archivos de registro REDO
La instancia de base de datos está disponible en 30 minutos. |
|
Rol de Oracle Data Guard |
|
El perímetro de soporte monitorea el rol de base de datos actual cada 15 segundos y envía una notificación de CloudWatch si el rol de base de datos ha cambiado. El parámetro Para restaurar el rol de base de datos de Oracle Data Guard a un valor compatible
Una vez que el perímetro de soporte determine que el rol de base de datos es compatible, la instancia de base de datos de RDS Custom para Oracle estará disponible en 15 segundos. |
|
Estado de la base de datos |
|
El perímetro de soporte monitorea el estado de la instancia de base de datos. También monitorea cuántos reinicios se produjeron durante la hora y el día anteriores. Se le notifica cuando la instancia se encuentra en un estado en el todavía existe, pero no puede interactuar con ella. Para hacer que el perímetro de soporte evalúe el estado de la instancia
Tras el reinicio de la instancia de base de datos, el agente de RDS Custom detecta que su instancia de base de datos ya no se encuentra en un estado de no respuesta. A continuación, notifica al perímetro de soporte para que vuelva a evaluar el estado de la instancia de base de datos. |
|
Modo de registro de base de datos |
|
Para cambiar el modo de registro de la instancia de base de datos a
|
|
Directorio de inicio de Oracle |
|
|
|
Nombre único de base de datos |
|
Para cambiar el nombre único de la base de datos para su instancia de base de datos
El agente de RDS Custom reinicia la instancia de base de datos automáticamente y pone el modo de registro en |
Solución de problemas de actualización de RDS Custom para Oracle
Su actualización de una instancia de RDS Custom para Oracle podría fallar. A continuación, encontrará algunas técnicas que puede utilizar durante las actualizaciones de la base de datos de RDS Custom para instancias de base de datos de Oracle:
-
Examine los archivos de registro de salida de actualizaciones en el directorio
/tmp
de la instancia de base de datos. Los nombres de los registros dependen de la versión del motor de base de datos. Por ejemplo, es posible que vea registros que contengan las cadenascatupgrd
ocatup
. -
Examine el archivo
alert.log
que se encuentra en el directorio/rdsdbdata/log/trace
. -
Ejecute el siguiente comando
grep
en el directorioroot
para llevar a cabo un seguimiento del proceso de actualización del sistema operativo. Este comando muestra dónde se escriben los archivos de registro y determina el estado del proceso de actualización.ps -aux | grep upg
A continuación se muestra una salida de ejemplo.
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
-
Ejecute la siguiente consulta SQL para verificar el estado actual de los componentes y encontrar la versión de la base de datos y las opciones instaladas en la instancia de base de datos.
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;
La salida se parece a la siguiente.
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.
-
Ejecute la siguiente consulta SQL para verificar si hay objetos no válidos que podrían interferir en el proceso de actualización.
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');
Solución de problemas de la promoción de réplicas para RDS Custom para Oracle
Puede promocionar réplicas de Oracle administradas en RDS Custom para Oracle mediante la consola, el comando de la AWS CLI promote-read-replica
o la API PromoteReadReplica
. Si elimina la instancia de base de datos primaria y todas las réplicas están en buen estado, RDS Custom para Oracle promociona sus réplicas administradas a instancias independientes automáticamente. Si una réplica ha pausado la automatización o está fuera del perímetro de soporte, debe corregir la réplica para que RDS Custom pueda promocionarla automáticamente. Para obtener más información, consulte Promoción de una réplica de RDS Custom para Oracle a una instancia de base de datos independiente.
El flujo de trabajo de promoción de réplicas puede quedarse atascado en la siguiente situación:
-
La instancia de base de datos principal se encuentra en el estado
STORAGE_FULL
. -
La base de datos principal no puede archivar todos sus registros redo en línea.
-
Existe una brecha entre los archivos de registro REDO archivados en la réplica de Oracle y la base de datos principal.
Respuestas al flujo de trabajo atascado
-
Sincronice la brecha de registros REDO en la instancia de base de datos de réplica de Oracle.
-
Fuerce la promoción de la réplica de lectura al último registro REDO aplicado. Ejecute los siguientes comandos de SQL*Plus:
ALTER DATABASE ACTIVATE STANDBY DATABASE; SHUTDOWN IMMEDIATE STARTUP
-
Póngase en contacto con Soporte y solicite que se pase la instancia de base de datos al estado
available
.