Migration d’Oracle Database vers Azure

Load Balancer
ExpressRoute
Passerelle VPN

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Les migrations Oracle DB peuvent être accomplies de plusieurs façons. Cette solution couvre l’une de ces options, dans laquelle Oracle Active Data Guard est utilisé pour migrer la base de données. Cet article part du principe qu’Oracle Data Guard (ou Active Data Guard) est utilisé pour la haute disponibilité et la récupération d’urgence. Selon l’application, l’application peut être migrée en premier ou dans la base de données. Dans ce cas, l’application est migrée vers Azure à l’aide de Azure Load Balancer. Cela vous permet de fractionner votre trafic entre les sites locaux et Azure, ce qui vous permet de migrer progressivement votre couche application. La migration de base de données s’effectue en plusieurs étapes. Dans un premier temps, Oracle Data Guard est utilisé pour configurer une base de données secondaire/de secours dans Azure. Cela vous permet de migrer vos données vers Azure. Une fois que la base de données secondaire dans Azure est synchronisée avec la base de données primaire, vous pouvez faire basculer la base de données dans Azure pour qu’elle corresponde à votre base de données primaire tout en conservant votre site secondaire local. Ensuite, vous pouvez configurer une base de données secondaire dans une zone de disponibilité (ou région) différente à des fins de haute disponibilité/récupération d’urgence. À ce stade, vous pouvez désactiver votre environnement local. Tout le trafic de données entre le site local et Azure transite par le biais d’Azure ExpressRoute ou d’une connectivité VPN de site à site.

Architecture

Diagramme de l’architecture

Flux de données

  1. Connectez votre environnement Azure à votre réseau local via un VPN de site à site ou ExpressRoute.
  2. Utilisez DataGuard pour marquer votre OracleDB1 dans Azure comme une mise en veille active.
  3. Basculez votre base de données OracleDB1 dans Azure en tant que base de données principale, puis configurez votre base de données OracleDB2 dans Azure en tant que base de données de secours pour terminer votre migration.

Notes

  • Cette méthode ne fonctionne que lors de la migration vers et à partir de la même version du système d’exploitation et de la même version de base de données.
  • Hypothèse : vous utilisez Data Guard localement.

Composants

Autres solutions

Si la taille de votre base de données est supérieure à 2 To, vous pouvez utiliser Oracle Data Guard avec Oracle Recovery Manager (RMAN), ou utiliser Data Pump pour répliquer les modifications après un transfert initial de données en bloc, ce qui permet une migration avec un temps d'arrêt minimal.

Considérations

Migration

Vous pouvez migrer votre base de données Oracle toute entière de votre environnement local vers une machine virtuelle Azure avec un minimum de temps d'arrêt en utilisant Oracle Recovery Manager (RMAN) et Oracle Data Guard. Utilisez RMAN pour restaurer votre base de données sur la machine virtuelle Azure de secours cible, en utilisant la méthode de sauvegarde/restauration ou la méthode de duplication. Vous pouvez ensuite configurer la base de données cible en tant que base de données physique de secours avec Oracle Data Guard, permettant ainsi l’envoi de tous les changements de données de transaction ou de restauration de la base de données principale locale vers la base de données de secours. Lorsque la base de données Oracle locale principale est synchronisée avec la base de données de secours cible sur l’instance de machine virtuelle Azure, vous pouvez basculer vers la base de données cible, ce qui a pour effet de convertir celle-ci en base de données en lecture-écriture. Vous pouvez ensuite pointer vos connexions d’application vers la nouvelle base de données principale. Cette option permet un temps d’arrêt minimal lors de la migration de votre base de données vers Azure.

L’utilitaire Oracle Data Pump permet d’exporter et d’importer des données et métadonnées depuis ou vers des bases de données Oracle. Vous pouvez exécuter l’exportation/importation de Data Pump sur une base de données entière, des schémas sélectifs, des espaces disques logiques de stockage ou des objets de base de données. Data Pump est l’outil recommandé pour la migration de données vers Azure, pour des bases de données volumineuses dont la taille est comprise entre 10 Go et 20 to. Il offre un haut degré de parallélisme, des options d'extraction de données flexibles et des opérations évolutives, qui permettent un déplacement rapide des données et des métadonnées d'une base de données source vers la base de données cible. Oracle Data Pump prend également en charge le chiffrement et la compression de données lors de l’exportation de celles-ci vers des fichiers de vidage de données. Vous pouvez utiliser Oracle Data Pump avec Oracle Data Guard ou Golden Gate pour gérer le transfert de données initial pour des bases de données volumineuses. Notez que Data Pump est disponible uniquement sur Oracle Database 10g version 1 (10.1) et versions ultérieures.

Remarques relatives à la conception

Dimensionnement des machines virtuelles

Songez à utiliser une machine virtuelle à mémoire optimisée « hyperthreadée » avec des processeurs virtuels à cœur restreint pour la machine virtuelle de votre base de données Oracle afin d'économiser sur les coûts de licence et d'optimiser les performances. Oracle a garanti la mobilité des licence locale vers Azure. Consultez la FAQ Oracle-Azure.

Stockage

Utilisez plusieurs disques Premium ou Ultra (disques managés) pour optimiser les performances et la disponibilité de votre base de données Oracle. Lorsque vous utilisez des disques managés, le nom du disque ou de l'appareil peut changer au moment des redémarrages. Nous vous recommandons d'utiliser l'UUID de l'appareil plutôt que son nom pour garantir la persistance des montages entre les redémarrages. Pensez à utiliser Oracle Automatic Storage Management (ASM) pour une gestion rationalisée du stockage de votre base de données.

Test et réglage

Nous vous recommandons d’effectuer les tests suivants pour valider votre application par rapport à votre nouvelle base de données Oracle :

  • Exécutez des tests de performances pour vous assurer qu’ils répondent aux attentes de votre entreprise.
  • Testez le basculement, la récupération et la restauration de base de données pour vous assurer que vous répondez aux exigences de RPO et de RTO.
  • Répertoriez tous les travaux et rapports critiques, et exécutez-les sur une nouvelle instance Oracle pour évaluer leurs performances par rapport à vos contrats de niveau de service (SLA).
  • Enfin, lors de la migration ou de la création d'applications pour le cloud, il convient d'ajuster le code de votre application afin d'ajouter des modèles natifs du cloud tels que le modèle Nouvelle tentative et le modèle Disjoncteur. Des modèles supplémentaires définis dans le Guide des modèles de conception cloud peuvent renforcer la résilience de votre application.

Licences Oracle

Si vous utilisez une technologie hyper-threading activée dans vos machines virtuelles Azure, comptez deux processeurs virtuels comme équivalent à une licence de processeur Oracle. Pour plus d’informations, consultez Licences logicielles Oracle dans l’environnement de Cloud Computing.

Stratégie de sauvegarde

Une stratégie de sauvegarde consiste à utiliser Oracle Recovery Manager (RMAN) et Sauvegarde Azure pour des sauvegardes avec cohérence d’application. Vous pouvez aussi utiliser la méthode de sauvegarde Azure CLI.

Utilisez éventuellement Azure Blob Fuse pour monter un compte Stockage Blob Azure hautement redondant et y écrire vos sauvegardes RMAN afin de bénéficier d’une résilience accrue.

Continuité d’activité et reprise d’activité

Pour assurer la continuité d'activité et la récupération d’urgence, songez à déployer le logiciel suivant :

  • Oracle Data Guard Fast-Start Failover (FSFO) pour la disponibilité des bases de données
  • Oracle Data Guard Far Sync pour une protection contre la perte de données.
  • Oracle GoldenGate pour le mode multi-principal ou actif/actif sur un groupe à haute disponibilité Azure ou une zone de disponibilité dépend des exigences du contrat SLA.

Utilisez les zones de disponibilité pour bénéficier d'une haute disponibilité au sein de la région. Pour plus d’informations, consultez Architectures de référence pour les bases de données Oracle sur Azure.

Vous pouvez obtenir une disponibilité de 99,99 % pour votre niveau de base de données en utilisant une combinaison de zones de disponibilité Azure et d’Oracle Active DataGuard avec FSFO.

Pensez à utiliser des groupes de placements de proximité pour réduire la latence entre votre application et la couche Base de données.

Surveillance

Configurez Oracle Enterprise Manager pour la gestion, la surveillance et la journalisation.

Étapes suivantes

Pour plus d’informations, consultez les articles suivants :

Apprenez-en davantage sur les divers composants architecturaux :