Migrez Db2 for LUW vers Amazon EC2 avec une reprise après sinistre à haute disponibilité - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrez Db2 for LUW vers Amazon EC2 avec une reprise après sinistre à haute disponibilité

Créé par Feng Cai (AWS), Aruna Gangireddy () et Venkatesan Govindan (AWS) AWS

Environnement : Production

Source : IBM DB2 pour LUW les locaux

Cible : Db2 sur Amazon EC2

Type R : Rehost

Charge de travail : IBM

Technologies : migration ; bases de données ; systèmes d'exploitation

AWSservices : AWS Direct Connect ; Amazon EC2 ; Amazon S3 ; AWS Site-to-Site VPN

Récapitulatif

Lorsque les clients migrent leur charge de travail IBM DB2 LUW (Linux et Windows) vers Amazon Web Services (AWS), l'utilisation d'Amazon Elastic Compute Cloud (AmazonEC2) avec le modèle Bring Your Own License (BYOL) est le moyen le plus rapide. UNIX Cependant, la migration de grandes quantités de données depuis Db2 sur site AWS peut s'avérer difficile, en particulier lorsque la période de panne est courte. De nombreux clients essaient de fixer la fenêtre d'interruption à moins de 30 minutes, ce qui laisse peu de temps à la base de données elle-même.

Ce modèle explique comment effectuer une migration DB2 avec une courte fenêtre de panne en utilisant la reprise après sinistre à haute disponibilité de DB2 ()HADR. Cette approche s'applique aux bases de données DB2 qui se trouvent sur la plate-forme Linux Little-endian et n'utilisent pas la fonctionnalité de partitionnement des données (). DPF

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Une instance Db2 exécutée sur une EC2 instance Amazon qui correspond aux configurations du système de fichiers sur site

  • Un compartiment Amazon Simple Storage Service (Amazon S3) accessible à l'instance EC2

  • Une politique et un rôle d'AWSIdentity and Access Management (IAM) pour effectuer des appels programmatiques vers Amazon S3

  • Fuseau horaire et horloges système synchronisés sur Amazon EC2 et sur le serveur local

  • Le réseau sur site connecté AWS via AWS Site-to-SiteVPNou AWSDirect Connect

  • Communication entre le serveur sur site et Amazon EC2 sur les ports HADR

Limites

  • L'instance locale Db2 et Amazon EC2 doivent appartenir à la même famille de plateformes.

  • HADRn'est pas pris en charge dans un environnement de base de données partitionné.

  • HADRne prend pas en charge l'utilisation d'E/S brutes (accès direct au disque) pour les fichiers journaux de base de données.

  • HADRne prend pas en charge la journalisation infinie.

  • LOGINDEXBUILDdoit être défini surYES, ce qui augmentera l'utilisation du journal pour la reconstruction de l'index.

  • La charge de travail locale DB2 doit être enregistrée. Définissez blocknonlogged=yes dans la configuration de la base de données pour bloquer toutes les transactions non enregistrées.

Versions du produit

  • Db2 pour les LUW versions 11.5.9 et ultérieures

Architecture

Pile technologique source

  • Db2 sous Linux x86_64

Pile technologique cible

  • Amazon EC2

  • AWSIdentity and Access Management (IAM)

  • Amazon S3

  • AWS Site-to-Site VPN

Architecture cible

Dans le schéma suivant, Db2 on premises est exécuté en db2-server1 tant que serveur principal. Il dispose de deux cibles HADR en attente. Une cible de réserve se trouve sur site et est facultative. L'autre cible de réserve db2-ec2 se trouve sur AmazonEC2. Une fois la base de données découpée enAWS, db2-ec2 elle devient la base de données principale.

Workflow permettant de migrer avec une courte fenêtre de panne un Db2 sur site à l'aide de Db2. HADR
  1. Les journaux sont transmis de la base de données locale principale vers la base de données locale de secours.

  2. À l'aide de Db2HADR, les journaux sont transmis de la base de données principale sur site Site-to-Site VPN à Db2 sur Amazon. EC2

  3. Les journaux de sauvegarde et d'archivage DB2 sont envoyés depuis la base de données locale principale vers le compartiment S3 le. AWS

Outils

AWSservices

  • AWSL'interface de ligne de commande (AWSCLI) est un outil open source qui vous permet d'interagir avec les AWS services par le biais de commandes dans votre interface de ligne de commande.

  • AWSDirect Connect relie votre réseau interne à un emplacement Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les AWS services publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.

  • Amazon Elastic Compute Cloud (AmazonEC2) fournit une capacité de calcul évolutive dans le AWS cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

  • AWSIdentity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • AWS Site-to-SiteVPNvous permet de transférer le trafic entre les instances sur lesquelles vous lancez AWS et votre propre réseau distant.

Autres outils

  • db2cli est la commande interactive DB2. CLI

Bonnes pratiques

Épopées

TâcheDescriptionCompétences requises

Définissez les variables d'environnement.

Ce modèle utilise les noms et ports suivants :

  1. Nom d'hôte local DB2 : db2-server1

  2. HADRnom d'hôte de secours : db2-server2 (s'il HADR est actuellement exécuté sur site)

  3. EC2Nom d'hôte Amazon : db2-ec2

  4. Nom de l’instance : db2inst1

  5. Nom de la base de données : SAMPLE

  6. HADRports :

    • db2-server1: 50010

    • db2-server2: 50011

    • db2-ec2: 50012

Vous pouvez les adapter à votre environnement.

DBA
TâcheDescriptionCompétences requises

Configurez AWSCLI.

Pour télécharger et installer la dernière version de AWSCLI, exécutez les commandes suivantes :

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
Administrateur Linux

Configurez une destination locale pour les journaux d'archive DB2.

Des conditions telles que les tâches de mise à jour par lots importantes et les ralentissements du réseau peuvent entraîner un décalage du serveur de HADR secours. Pour rattraper son retard, le serveur de secours a besoin des journaux de transactions du serveur principal. La séquence des emplacements pour demander les journaux est la suivante :

  • Le répertoire des journaux actifs sur le serveur principal

  • L'LOGARCHMETH2emplacement LOGARCHMETH1 ou sur le serveur de secours

  • L'LOGARCHMETH2emplacement LOGARCHMETH1 ou sur le serveur principal

Dans cette configuration, /db2logs est définie par LOGARCHMETH2 la source en tant que zone intermédiaire. Les journaux archivés de ce répertoire seront synchronisés dans Amazon S3 et Db2 sur Amazon y accédera. EC2 Le modèle LOGARCHMETH2 est utilisé parce qu'il a LOGARCHMETH1 peut-être été configuré pour utiliser un outil fournisseur tiers auquel la AWS CLI commande ne peut pas accéder :

db2 connect to sample db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs
DBA

Exécutez une sauvegarde de base de données en ligne.

Exécutez une sauvegarde de base de données en ligne et enregistrez-la dans le système de fichiers de sauvegarde local :

db2 backup db sample online to /backup
DBA
TâcheDescriptionCompétences requises

Créez un compartiment S3.

Créez un compartiment S3 pour que le serveur local envoie les images DB2 de sauvegarde et les fichiers journaux à on. AWS Le bucket sera accessible par Amazon EC2 :

aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1
AWSadministrateur

Créez une IAM politique.

Le db2bucket.json fichier contient la IAM politique d'accès au compartiment S3 :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::hadrmig-db2/*", "arn:aws:s3:::hadrmig-db2" ] } ] }

Pour créer la politique, utilisez la AWS CLI commande suivante :

aws iam create-policy \ --policy-name db2s3hapolicy \ --policy-document file://db2bucket.json

Le JSON résultat indique le nom de ressource Amazon (ARN) pour la politique, où aws_account_id représente votre identifiant de compte :

"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"
AWSadministrateur, administrateur AWS système

Associez la IAM politique au IAM rôle.

Généralement, l'EC2instance sur laquelle Db2 est en cours d'exécution a un IAM rôle attribué par l'administrateur système. Si aucun IAM rôle n'est attribué, vous pouvez choisir Modifier le IAM rôle sur la EC2 console Amazon.

Attachez la IAM politique au IAM rôle associé à l'EC2instance. Une fois la politique attachée, l'EC2instance peut accéder au compartiment S3 :

aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole
TâcheDescriptionCompétences requises

Configurez AWS CLI sur le serveur DB2 local.

Configurez AWS CLI avec le Access Key ID et Secret Access Key que vous avez généré précédemment :

$ aws configure AWS Access Key ID [None]: ************* AWS Secret Access Key [None]: *************************** Default region name [None]: us-east-1 Default output format [None]: json
AWSadministrateur, administrateur AWS système

Envoyez l'image de sauvegarde à Amazon S3.

Auparavant, une sauvegarde de base de données en ligne était enregistrée dans le répertoire /backup local. Pour envoyer cette image de sauvegarde vers le compartiment S3, exécutez la commande suivante :

aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup
AWSadministrateur, administrateur AWS système

Envoyez les journaux d'archive DB2 à Amazon S3.

Synchronisez les journaux d'archive Db2 sur site avec le compartiment Amazon S3 auquel l'instance Db2 cible peut accéder sur Amazon : EC2

aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS

Exécutez cette commande régulièrement à l'aide de cron ou d'autres outils de planification. La fréquence dépend de la fréquence à laquelle la base de données source archive les journaux de transactions.

TâcheDescriptionCompétences requises

Créez un PKCS12 keystore.

Db2 utilise une banque de clés de chiffrement selon les normes de chiffrement à clé publique (PKCS) pour sécuriser la AWS clé d'accès. Créez un keystore et configurez le Db2 source pour l'utiliser :

gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"
DBA

Créez l'alias d'accès au stockage DB2.

Db2 utilise un alias d'accès au stockage pour accéder directement à Amazon S3 avec les RESTORE DATABASE commandes INGESTLOAD,BACKUP DATABASE, ou.

Parce que vous avez attribué un IAM rôle à l'EC2instance USER et que vous n'PASSWORDêtes pas obligé de :

db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"

Par exemple, votre script peut ressembler à ce qui suit :

db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'"

DBA

Définissez la zone de transit.

Nous vous recommandons d'utiliser DB2_ENABLE_COS_SDK=ONDB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore, et le lien vers la awssdk bibliothèque pour contourner la zone intermédiaire Amazon S3 pour la sauvegarde et la restauration de bases de données :

#By root: cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/ #By db2 instance owner: db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage db2set DB2_ENABLE_COS_SDK=ON db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage db2stop db2start
DBA

Restaurez la base de données à partir de l'image de sauvegarde.

Restaurez la base de données cible sur Amazon EC2 à partir de l'image de sauvegarde dans le compartiment S3 :

db2 create db sample on /data1 db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing
DBA
TâcheDescriptionCompétences requises

Configurez le serveur DB2 local en tant que serveur principal.

Mettez à jour les paramètres de configuration de la base de données pour HADR on db2-server1 (la source locale) en tant que base principale. Réglez HADR_SYNCMODE sur SUPERASYNC le mode, qui présente le temps de réponse le plus court pour les transactions :

db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully

Certains retards de réseau entre le centre de données local et le centre de données AWS sont attendus. (Vous pouvez définir une HADR_SYNCMODE valeur différente en fonction de la fiabilité du réseau. Pour plus d'informations, consultez la section Ressources connexes).

DBA

Modifiez la destination d'archivage des journaux de la base de données cible.

Modifiez la destination d'archivage des journaux de la base de données cible pour qu'elle corresponde à EC2 l'environnement Amazon :

db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully
DBA

Configurez HADR pour Db2 sur le EC2 serveur Amazon.

Mettre à jour la configuration de la base de données pour HADR db2-ec2 la mise en veille :

db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully

DBA

Vérifiez la HADR configuration.

Vérifiez les HADR paramètres sur les serveurs Db2 source et cible.

Pour vérifier l'installationdb2-server1, exécutez la commande suivante :

db2 get db cfg for sample|grep HADR HADR database role = PRIMARY HADR local host name (HADR_LOCAL_HOST) = db2-server1 HADR local service name (HADR_LOCAL_SVC) = 50010 HADR remote host name (HADR_REMOTE_HOST) = db2-ec2 HADR remote service name (HADR_REMOTE_SVC) = 50012 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

Pour vérifier l'installationdb2-ec2, exécutez la commande suivante :

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-ec2 HADR local service name (HADR_LOCAL_SVC) = 50012 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = HADR log write synchronization mode (HADR_SYNCMODE) = SUPERASYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

Les HADR_REMOTE_SVC paramètres HADR_LOCAL_HOSTHADR_LOCAL_SVC,HADR_REMOTE_HOST, et indiquent la configuration principale et la HADR configuration de secours.

DBA

Démarrez l'HADRinstance Db2.

Démarrez d'abord l'HADRinstance Db2 sur le serveur db2-ec2 de secours :

db2 start hadr on db sample as standby DB20000I The START HADR ON DATABASE command completed successfully.

Démarrez Db2 HADR sur le serveur db2-server1 principal (source) :

db2 start hadr on db sample as primary DB20000I The START HADR ON DATABASE command completed successfully.

La HADR connexion entre DB2 sur site et sur Amazon EC2 est désormais établie avec succès. Le serveur principal Db2 db2-server1 commence à diffuser les enregistrements du journal des transactions db2-ec2 en temps réel.

DBA
TâcheDescriptionCompétences requises

Ajoutez Db2 sur Amazon EC2 en tant que support auxiliaire.

S'il HADR est exécuté sur l'instance Db2 locale, vous pouvez ajouter Db2 sur Amazon en EC2 tant que serveur de secours auxiliaire en HADR_TARGET_LIST exécutant les commandes suivantes sur : db2-ec2

db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

DBA

Ajoutez les informations de veille auxiliaire aux serveurs locaux.

Mise à jour HADR_TARGET_LIST sur les deux serveurs locaux (principal et de secours).

db2-server1Activé, exécutez le code suivant :

db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.

db2-server2Activé, exécutez le code suivant :

db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.

DBA

Vérifiez la HADR configuration.

Vérifiez les HADR paramètres sur les serveurs Db2 source et cible.

db2-server1Activé, exécutez le code suivant :

db2 get db cfg for sample|grep HADR HADR database role = PRIMARY HADR local host name (HADR_LOCAL_HOST) = db2-server1 HADR local service name (HADR_LOCAL_SVC) = 50010 HADR remote host name (HADR_REMOTE_HOST) = db2-server2 HADR remote service name (HADR_REMOTE_SVC) = 50011 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012 HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

db2-server2Activé, exécutez le code suivant :

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-server2 HADR local service name (HADR_LOCAL_SVC) = 50011 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012 HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

db2-ec2Activé, exécutez le code suivant :

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-ec2 HADR local service name (HADR_LOCAL_SVC) = 50012 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011 HADR log write synchronization mode (HADR_SYNCMODE) = SUPERASYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

Les HADR_TARGET_LIST paramètres HADR_LOCAL_HOSTHADR_LOCAL_SVC,HADR_REMOTE_HOST,HADR_REMOTE_SVC, et indiquent la HADR configuration principale et les deux configurations de secours.

Arrêtez et démarrez DB2. HADR

HADR_TARGET_LISTest désormais configuré sur les trois serveurs. Chaque serveur DB2 connaît les deux autres. Arrêtez et redémarrez HADR (brève interruption) pour tirer parti de la nouvelle configuration.

db2-server1Activé, exécutez les commandes suivantes :

db2 stop hadr on db sample db2 deactivate db sample db2 activate db sample

db2-server2Activé, exécutez les commandes suivantes :

db2 deactivate db sample db2 start hadr on db sample as standby SQL1766W The command completed successfully

db2-ec2Activé, exécutez les commandes suivantes :

db2 start hadr on db sample as standby SQL1766W The command completed successfully

db2-server1Activé, exécutez les commandes suivantes :

db2 start hadr on db sample as primary SQL1766W The command completed successfully

La HADR connexion entre Db2 sur site et sur Amazon EC2 est désormais établie avec succès. Le serveur principal DB2 db2-server1 commence à diffuser les enregistrements du journal des transactions à la fois db2-server2 et db2-ec2 en temps réel.

DBA
TâcheDescriptionCompétences requises

Assurez-vous qu'il n'y a aucun HADR décalage sur le serveur de secours.

Vérifiez HADR l'état depuis le serveur principaldb2-server1. Ne vous inquiétez pas lorsque le REMOTE_CATCHUP statut HADR_STATE est activé, ce qui est normal lorsqu'il HADR_SYNCMODE est réglé sur. SUPERASYNC Le PRIMARY_LOG_TIME et STANDBY_REPLAY_LOG_TIME montrent qu'ils sont synchronisés :

db2pd -hadr -db sample HADR_ROLE = PRIMARY REPLAY_TYPE = PHYSICAL HADR_SYNCMODE = SUPERASYNC STANDBY_ID = 2 LOG_STREAM_ID = 0 HADR_STATE = REMOTE_CATCHUP ..... PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292) STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292) STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)
DBA

Exécutez HADR Takeover.

Pour terminer la migration, créez db2-ec2 la base de données principale en exécutant la commande HADR takeover. Utilisez la commande db2pd pour vérifier la HADR_ROLE valeur :

db2 TAKEOVER HADR ON DATABASE sample DB20000I The TAKEOVER HADR ON DATABASE command completed successfully. db2pd -hadr -db sample Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988 HADR_ROLE = PRIMARY REPLAY_TYPE = PHYSICAL

Pour terminer la migration versAWS, dirigez les connexions de l'application vers Db2 sur AmazonEC2.

Résolution des problèmes

ProblèmeSolution

Si vous l'utilisez NAT pour des raisons de pare-feu et de sécurité, l'hôte peut avoir deux adresses IP (une interne et une externe), ce qui peut entraîner un échec de la vérification des adresses HADR IP. La START HADR ON DATABASE commande renverra le message suivant :

HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.

Pour la prise HADR en charge dans un NAT environnement, vous pouvez configurer le HADR_LOCAL_HOST avec l'adresse interne et externe. Par exemple, si le serveur DB2 possède le nom interne host1 et le nom externehost1E, cela HADR_LOCAL_HOST peut être HADR_LOCAL_HOST: "host1 | host1E" le cas.

Ressources connexes