SQL Server : Types de données, objets et opérations pris en charge

Découvrez les informations de prise en charge d'Oracle GoldenGate sur la base de données SQL Server.

Oracle GoldenGate for SQL Server prend en charge la capture et la distribution des données de chargement initial et transactionnelles pour les versions de base de données SQL Server prises en charge.

Oracle GoldenGate for SQL Server prend en charge la mise en correspondance, le filtrage et la transformation des données source, sauf indication contraire dans ce document, ainsi que la réplication des données dérivées d'autres bases de données source prises en charge par Oracle GoldenGate en bases de données SQL Server.

Exigences relatives à l'instance

Configuration requise pour la base de données

Respectez les exigences et limites suivantes pour la prise en charge d'Oracle GoldenGate :

Limites :

Conditions requises pour la table

Les tables à inclure pour la capture et la distribution doivent inclure uniquement les types de données répertoriés dans Types de données SQL Server pris en charge.

Types de données SQL Server pris en charge

Les types de données suivants sont pris en charge pour la capture et la distribution, sauf indication contraire dans les limitations suivantes :

Limites :

Limites relatives aux colonnes calculées :

Types de données et fonctionnalités SQL Server non pris en charge

Objets et opérations pris en charge pour SQL Server

Les objets et opérations suivants sont pris en charge :

Objets et opérations non pris en charge pour SQL Server

Les objets et opérations suivants ne sont pas pris en charge :

Exigences relatives aux modifications LDD de niveau table

Oracle GoldenGate for SQL Server ne prend pas en charge la capture ou la distribution des modifications LDD. Cependant, à partir d'Oracle GoldenGate 21c, les modifications apportées aux tables activées avec TRANDATA n'entraîneront pas l'abandon du processus Extract. Le processus d'extraction continuera à traiter les données de modification pour la table telles qu'elles existaient lorsque TRANDATA a été activé.

Les opérations considérées comme des modifications LDD au niveau de la table incluent, sans toutefois s'y limiter : ALTER TABLE, TRUNCATE TABLE, les reconstructions d'index et les commutateurs de partition.

Pour éviter les incohérences de données dues à des modifications LDD au niveau de la table, procédez comme suit.

  1. Source : Mettre en pause ou arrêter les données de l'application dans la ou les tables à modifier.

  2. Source : assurez-vous qu'il n'y a pas de transactions en cours sur la table à modifier.

  3. Source : Assurez-vous que le travail SQL Server CDC Capture traite toutes les transactions restantes pour la table à modifier.

  4. Source : Assurez-vous que le processus Extract traite toutes les transactions de la table à modifier avant d'apporter des modifications LDD.

  5. Cible : assurez-vous que le processus Replicat traite toutes les transactions de la table à modifier avant d'apporter des modifications LDD.

  6. Eventuellement, l'implémentation d'une table de marqueurs d'événements peut être utilisée pour déterminer quand toutes les transactions restantes ont été traitées pour la table à modifier et gérer la coordination du moment où arrêter correctement l'extraction et la réplication.

  7. Source : Arrêter le processus d'extraction.

  8. Cible : arrêtez le processus Replicat.

  9. Source : désactivez la journalisation supplémentaire pour la table à modifier en exécutant DELETE TRANDATA.

  10. Source : Apportez des modifications LDD à la table source.

  11. Cible : Apportez des modifications LDD à la table cible.

  12. Source : réactivez la journalisation supplémentaire en exécutant ADD TRANDATA sur les tables une fois les modifications effectuées.

  13. Source : Démarrez l'extraction.

  14. Cible : lancez le processus Replicat.

  15. Source : Reprendre les données de l'application dans la ou les tables modifiées.

Schémas système pour SQL Server

Les schémas système suivants ne sont pas pris en charge pour la réplication :

Le schéma guest n'est pas pris en charge à l'aide de mappings avec caractères génériques, mais il est pris en charge lorsqu'il est explicitement répertorié, tel que TABLE guest.employees.