Instance Oracle CDC

Important

La capture de données modifiées pour Oracle par Attunity est déconseillée maintenant. Pour les détails, référez-vous à l'annonce.

L’instance de capture de données modifiées Oracle est un processus créé par le service de capture de données modifiées Oracle pour traiter les modifications capturées à partir d’une base de données source Oracle unique. L’instance Oracle CDC récupère sa configuration à partir de la table cdc.xdbcdc_config et conserve son état dans la table cdc.xdbcdc_state . Ces tables font partie de la base de données CDC, qui définit l'instance Oracle CDC. Pour plus d’informations sur la base de données et les tables xdbcdc, consultez Les bases de données CDC.

Les étapes suivantes décrivent les tâches effectuées par l’instance oracle CDC :

  • Gestion de la vérification du démarrage du service : Lors du démarrage, l'instance CDC charge sa configuration à partir de la table xdbcdc_config et effectue une série de vérifications d’état garantissant que l’état persistant de l’instance CDC est cohérent et qu'elle peut commencer le traitement des modifications.

  • Préparation de la capture des modifications : lorsque la vérification réussit, l’instance Oracle CDC analyse toutes les instances de capture actuellement définies et prépare les requêtes Oracle LogMiner et d’autres structures de prise en charge requises pour la capture des modifications. En outre, l'instance Oracle recharge l'état de capture interne qui a été sauvegardé lors de la dernière exécution de l'instance CDC Oracle.

  • Capture des modifications d’Oracle : l’instance CDC collecte les modifications à partir d’Oracle via l’outil Oracle LogMiner, les classe selon la validation des transactions, puis ajuste le temps dans une transaction et les écrit dans les tables de modification de SQL Server de la base de données CDC.

  • Gestion de l’arrêt du service : le cycle de vie de l’instance de capture de données modifiées Oracle est géré par le service de capture de données modifiées Oracle. Lorsque l'instance Oracle CDC doit s'arrêter, elle effectue les tâches suivantes :

    • elle cesse de lire dans le journal des transactions Oracle ;

    • Arrête l’écriture de transactions Oracle terminées dans la base de données CDC.

    • Attend jusqu’à 30 secondes (si nécessaire) jusqu’à ce que la transaction actuelle termine l’écriture dans la base de données CDC. Si plus de 30 secondes s’écoulent, l’écriture est annulée et la transaction est annulée (à réessayer lors du redémarrage de l’instance CDC).

    • Dans un thread distinct, écrit autant d’enregistrements en mémoire cache que possible dans la table de transactions intermédiaires pendant 30 secondes (de la transaction la plus ancienne au plus récent), puis met à jour la table xdbcdc_state et valide toutes les modifications.

  • Gestion des modifications de configuration : l’instance Oracle CDC est avertie des modifications de configuration par le service de capture de données modifiées ou la détection d’une nouvelle version dans la table cdc.xdbcdc_config . La plupart des modifications ne nécessitent pas le redémarrage de l’instance Oracle CDC (par exemple, l’ajout ou la suppression d’instances de capture). Toutefois, certaines modifications, telles que la modification de la chaîne de connexion Oracle ou des identifiants d'accès, nécessitent le redémarrage de l’instance CDC.

  • Gestion de la récupération : quand une instance Oracle CDC démarre, son état interne est restauré à partir des tables xdbcdc_state et xdbcdc_staged_transactions . Une fois l'état restauré, l'instance de capture de données modifiées s'exécute de manière habituelle.