Instanciation précise pour SQL Server
A partir d'Oracle GoldenGate 23.8, une instanciation précise peut être orchestrée à l'aide de l'extraction de chargement initial pour SQL Server. La méthode d'instanciation précise permet le chargement initial des données d'une base de données source vers une base de données cible, tandis que la base de données source reste en ligne pour les mises à jour d'application. Cette méthode garantit un positionnement précis des processus de capture et de transmission des données de modification sans avoir de données en double dans la base de données cible et sans avoir à utiliser HANDLECOLLISIONS dans le processus Replicat.
L'instanciation précise d'Oracle GoldenGate pour SQL Server nécessite de définir la base de données SQL Server source afin de permettre l'isolement des clichés et d'utiliser le paramètre INITIALLOADOPTIONS USESNAPSHOT dans l'extraction de chargement initial. Cette méthode peut être utilisée pour instancier toute base de données cible prise en charge à partir de n'importe quelle base de données source SQL Server prise en charge.
Voici un exemple de méthode d'instanciation précise utilisant un fichier dump de schéma à partir de l'instance source, puis chargé dans l'instance cible, suivi de la configuration d'Oracle GoldenGate pour la réplication des données de modification :
-
ADD TRANDATAvers les tables de base de données source.DBLOGIN USERIDALIAS src_aliasADD TRANDATA dbo.* -
Une fois TRANDATA terminé, vérifiez que la base de données est activée pour l'isolement des clichés et, dans le cas contraire, activez-la manuellement.
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON; -
Pour l'architecture de microservices, ajoutez une tâche Purger les données CDC dans WebUI. Pour en savoir plus, reportez-vous à Purger les données d'import CDC et à Purger le processus.
-
Créez une extraction de chargement initial à l'aide du paramètre
INITIALLOADOPTIONS USESNAPSHOT.ADD EXTRACT einit, SOURCEISTABLE--Sample Initial Load Extract Parameter File: EXTRACT einit USERIDALIAS tpcc_source2017 INITIALLOADOPTIONS USESNAPSHOT EXTFILE ei, MEGABYTES 500, PURGE TABLE dbo.*; -
Démarrez l'extraction de chargement initial.
START EXTRACT einit -
Lorsque l'extraction de chargement initial est terminée et s'arrête, affichez le fichier de rapport, à la recherche d'un message similaire à celui ci-dessous, qui sera utilisé lors de la création de l'extraction CDC.
VIEW REPORT einitINFO OGG-05381 A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002. OGG-05379 Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN 0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002 -
L'option de base de données source permettant l'isolement des clichés peut désormais être désactivée si elle a été activée manuellement à l'étape 2.
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF; -
Créez une extraction CDC à l'aide de la sortie LSN du fichier de rapport de l'extraction de chargement initial.
ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002ADD EXTTRAIL ea, EXTRACT extcdc -
Créez et démarrez un processus Replicat de chargement initial qui lit à partir de la trace créée par le processus Extract de chargement initial.
ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheckSTART rinit--Sample Initial Load Replicat Parameter file REPLICAT rinit USERIDALIAS tgt_alias BATCHSQL SPLIT_TRANS_RECS 100000 MAP dbo.*, TARGET dbo.*; -
Lorsque le processus Replicat de chargement initial termine le traitement, créez et démarrez un processus Replicat CDC qui lit à partir de la trace créée par l'extraction CDC.
ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheckSTART EXTRACT extcdcSTART REPLICAT repcd