Utilisation des réplicas en lecture Oracle pour Amazon RDS - Amazon Relational Database Service

Utilisation des réplicas en lecture Oracle pour Amazon RDS

Vous utilisez généralement des réplicas en lecture pour configurer la réplication entre instances de base de données Amazon RDS. Pour obtenir des informations générales sur les réplicas en lecture, veuillez consulter Utilisation des réplicas en lecture.

Cette section contient des informations spécifiques sur l'utilisation des réplicas en lecture sur Amazon RDS for Oracle.

Configuration des réplicas en lecture pour Oracle

Les réplicas en lecture Oracle utilisent Oracle Data Guard pour répliquer les modifications des bases de données de l'instance de base de données source vers ses réplicas en lecture. Pour de plus amples informations sur Oracle Data Guard, veuillez consulter Oracle Data Guard Concepts and Administration dans la documentation Oracle.

Avant qu'une instance de base de données puisse être utilisée comme instance de bases de données source, vous devez activer les sauvegardes automatiques sur l'instance de base de données source. Pour cela, vous devez définir la période de rétention des sauvegardes sur une valeur autre que 0. Nous vous recommandons d'activer le mode FORCE LOGGING sur l'instance de base de données. Pour activer le mode FORCE LOGGING, connectez-vous à l'instance de base de données et exécutez la procédure suivante.

exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);

Pour de plus amples informations sur cette procédure, veuillez consulter Configuration du mode FORCE LOGGING.

Si vous avez l'intention de modifier la configuration de la journalisation, nous vous recommandons de finaliser les modifications avant d'utiliser une instance de base de données comme source pour un ou plusieurs réplicas en lecture. Vous pouvez modifier la configuration de la journalisation pour une instance de base de données en utilisant les procédures Amazon RDS rdsadmin.rdsadmin_util.add_logfile et rdsadmin.rdsadmin_util.drop_logfile. Pour de plus amples informations, veuillez consulter Ajout de journaux redo en ligne et Suppression de journaux redo en ligne. La bonne pratique consiste à ne pas modifier la configuration de la journalisation une fois les réplicas en lecture créés. En raison des modifications, la configuration de la journalisation redo en ligne peut être désynchronisée par rapport à la configuration de la journalisation en attente.

La création d'un réplica en lecture Oracle ne nécessite pas d'interruption pour l'instance de base de données source. Amazon RDS définit les paramètres et les autorisations nécessaires pour l'instance de base de données source et le réplica en lecture sans aucune interruption de service. Un instantané de l'instance de base de données source est pris, et devient le réplica en lecture. Aucune interruption de service ne se produit lorsque vous supprimez un réplica en lecture.

Vous pouvez créer jusqu'à cinq réplicas en lecture à partir d'une seule instance de base de données source. Avant de créer un réplica en lecture, assurez-vous que la configuration du paramètre max_string_size est la même sur l'instance de base de données source et le réplica en lecture. Pour cela, vous devez les associer au même groupe de paramètres. Si vous disposez de groupes de paramètres différents pour la source et le réplica en lecture, vous pouvez définir max_string_size sur la même valeur.

La version du moteur de base de données Oracle de l'instance de base de données source et tous ses réplicas en lecture doivent être identiques. Amazon RDS met à niveau les réplicas en lecture immédiatement après la mise à niveau de l'instance de base de données source, même en cas de fenêtre de maintenance du réplica en lecture. Pour les mises à niveau de versions majeures de réplicas en lecture entre régions, Amazon RDS génère automatiquement un groupe d'options pour la version cible, copie toutes les options et tous les paramètres d'option du groupe d'options d'origine vers le nouveau groupe d'options, et associe le réplica en lecture entre régions mis à niveau au nouveau groupe d'options. Pour de plus amples informations sur la mise à niveau de la version du moteur de base de données, veuillez consulter la section Mise à niveau du moteur de base de données Oracle.

Pour qu'un réplica en lecture reçoive et applique les modifications de la source, il doit disposer de ressources de calcul et de stockage suffisantes. Si un réplica en lecture atteint sa capacité en ce qui concerne les ressources de calcul, de réseau ou de stockage, il arrête de recevoir ou d'appliquer les modifications provenant de sa source. Vous pouvez modifier les ressources de stockage et d'UC d'un réplica en lecture indépendamment de sa source et d'autres réplicas en lecture.

Limites des réplicas en lecture avec Oracle

Voici les limites des réplicas en lecture pour Oracle :

  • Vous devez disposer d'une licence Active Data Guard.

  • Les réplicas en lecture Oracle sont uniquement disponibles sur le moteur Oracle Enterprise Edition (EE).

  • Les réplicas en lecture Oracle sont uniquement disponibles pour la version Oracle 12.1.0.2.v10 et les versions 12.1 supérieures, pour toutes les versions 12.2, toutes les versions 18 et toutes les versions 19.

  • Les réplicas en lecture Oracle sont uniquement disponibles pour les instances de base de données de la plateforme EC2-VPC.

  • Les réplicas en lecture Oracle sont uniquement disponibles pour les instances de base de données exécutées sur les classes d'instances de base de données avec deux vCPU ou plus. Une instance de base de données source ne peut pas utiliser la classe de micro-instance db.t3.

  • Amazon RDS for Oracle n'intervient pas pour atténuer un retard de réplica élevé entre une instance de base de données source et ses réplicas en lecture. Assurez-vous que l'instance de base de données et ses réplicas en lecture ont une taille appropriée, en termes de calcul et de stockage, afin de pouvoir répondre aux besoins de la charge opérationnelle.

  • Un réplica en lecture Oracle, qui se trouve dans la même région AWS que son instance de base de données source, doit appartenir au même groupe d'option que l'instance de base de données source. Les modifications apportées au groupe d'options source ou à l'appartenance au groupe d'options source sont propagées aux réplicas en lecture. Ces modifications sont appliquées aux réplicas en lecture immédiatement après leur application à l'instance de base de données source, quelle que soit la fenêtre de maintenance du réplica en lecture.

    Pour de plus amples informations sur les groupes d'options, veuillez consulter Utilisation de groupes d'options.

  • Si une instance de base de données est une source pour un ou plusieurs réplicas en lecture entre des régions, elle conserve ses journaux redo jusqu'à ce qu'ils soient appliqués dans tous les réplicas en lecture entre des régions. Les journaux redo peuvent entraîner une augmentation de la consommation de stockage.

  • Lorsque vous créez un réplica en lecture Oracle entre des régions, Amazon RDS crée un groupe d'options qui lui est dédié.

    Vous ne pouvez pas supprimer un réplica en lecture Oracle entre des régions du groupe d'options qui lui est dédié. Aucune autre instance de base de données ne peut utiliser le groupe d'options dédié à un réplica en lecture Oracle entre des régions.

    Seules les options non répliquées suivantes peuvent être ajoutées ou supprimées d'un groupe d'options dédié :

    • NATIVE_NETWORK_ENCRYPTION

    • OEM

    • OEM_AGENT

    • SSL

    Pour ajouter d'autres options à un réplica en lecture Oracle entre des régions, ajoutez-les au groupe d'option de l'instance de base de données source. L'option est également installée sur tous les réplicas en lecture de l'instance de base de données source. Pour les options avec licence, vous devez garantir un nombre suffisant de licences pour les réplicas en lecture.

    Lorsque vous promouvez un réplica en lecture Oracle entre des régions, le réplica en lecture promu se comporte de la même façon que d'autres instances de bases de données Oracle, y compris pour la gestion de ses options. Vous pouvez promouvoir un réplica en lecture explicitement ou implicitement en supprimant son instance de base de données source.

    Pour de plus amples informations sur les groupes d'options, veuillez consulter Utilisation de groupes d'options.

  • Un déclencheur de connexion sur une instance principale doit permettre l'accès à l'utilisateur RDS_DATAGUARD et à tout utilisateur dont AUTHENTICATED_ENTITY est RDS_DATAGUARD ou rdsdb. En outre, le déclencheur ne doit pas définir le schéma actuel pour l'utilisateur RDS_DATAGUARD.

  • Pour éviter de bloquer les connexions du processus de l’agent Data Guard, n'activez pas les sessions restreintes. Pour plus d'informations sur les sessions restreintes, consultez Activation et désactivation de sessions restreintes.

Résolution d'un problème de réplica en lecture Oracle

Vous pouvez surveiller le retard de réplication dans Amazon CloudWatch en consultant la métrique Amazon RDS ReplicaLag. Pour de plus amples informations sur la durée du retard de réplication, veuillez consulter Supervision de la réplication en lecture.

Si le retard de réplication est trop long, vous pouvez interroger les vues suivantes afin d'obtenir des informations sur le retard :

  • V$ARCHIVED_LOG – Indique quelles validations ont été appliquées au réplica en lecture.

  • V$DATAGUARD_STATS – Indique la répartition détaillée des composants qui font partie de la métrique replicaLag.

  • V$DATAGUARD_STATUS – Indique la sortie de journal des processus de réplication internes d'Oracle.