Instancier une extraction de chargement initial à l'aide de SOURCEISTABLE

Suivez cette procédure pour un processus Extract de chargement initial avec le paramètre SOURCEISTABLE. Cette procédure n'est pas destinée à l'instanciation à l'aide d'Oracle Data Pump ou d'une méthode d'instanciation précise. Cette procédure utilise HANDLECOLLISIONS au lieu d'un positionnement précis afin que la base de données source puisse rester active pendant le chargement des données initiales.

Les exemples utilisent une source et une cible Oracle, le schéma HR et les noms de trace suivants :

Remarque : remplacez les exemples d'alias, d'URL, d'hôte, de port, de nom de schéma et de nom de trace par les valeurs de votre environnement.

Etape 1 : création et démarrage de l'extraction TRANLOG principale

Se connecter au déploiement source. Pour une source Oracle, activez la journalisation supplémentaire, créez et enregistrez l'extraction principale intégrée, puis démarrez-la avant de commencer le chargement initial. Enregistrez le SCN d'enregistrement renvoyé par REGISTER EXTRACT. Ne réexécutez pas la commande uniquement pour extraire cette valeur.

ADMINCLIENT: Source deployment
OGG (not connected) 1> CONNECT https://<source-admin-url> AS <deployment-user> PASSWORD "<deployment-password>"
OGG (https://<source-admin-url> source_deployment) > DBLOGIN USERIDALIAS <source-db-alias>
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD SCHEMATRANDATA hr

Si la journalisation est requise pour les tables sélectionnées au lieu de l'ensemble du schéma, utilisez ADD TRANDATA pour ces tables, par exemple :

ADD TRANDATA hr.*

Créez et enregistrez le processus Extract principal, puis créez son fichier de paramètres :

OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTRACT extprim INTEGRATED TRANLOG BEGIN NOW
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > REGISTER EXTRACT extprim DATABASE
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > EDIT PARAMS extprim

Fichier de paramètres Extract principal (EXTPRIM) :

EXTRACT extprim
USERIDALIAS <source-db-alias>
EXTTRAIL AA
TABLE hr.*;

Créez la trace source locale et démarrez le processus Extract principal :

OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTTRAIL AA EXTRACT extprim MEGABYTES 2000
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > START EXTRACT extprim

Pour une base de données Conteneur, utilisez les noms d'objet en trois parties appropriés ou une instruction SOURCECATALOG valide. Pour les autres types de base de données source, utilisez la syntaxe d'enregistrement, de journalisation et de position de début propre à la base de données.

Etape 2 : création et démarrage du processus Extract de chargement initial

Le processus Extract de chargement initial est une tâche Extract. Il lit les tables source et écrit les enregistrements dans la trace de chargement initial locale CC. La clause SQLPREDICATE "AS OF SCN" propre à Oracle sélectionne le contenu de la table au point cohérent choisi.

Avant de démarrer le processus Replicat de chargement initial, assurez-vous que toutes les transactions qui étaient ouvertes au démarrage de l'extraction TRANLOG principale ont été validées. Les transactions qui restent ouvertes ne sont capturées ni par l'extraction de chargement initial ni par l'extraction TRANLOG principale et peuvent être perdues.

Créez le processus Extract de chargement initial et son fichier de paramètres :

ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTRACT extinit SOURCEISTABLE
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > EDIT PARAMS extinit

Fichier de paramètres Extract à chargement initial (EXTINIT) :

EXTRACT extinit
USERIDALIAS <source-db-alias>
EXTFILE CC MEGABYTES 2000 PURGE
TABLE hr.*, SQLPREDICATE "AS OF SCN <instantiation-scn>";

A partir d'Oracle GoldenGate 26ai, une instruction TABLE avec caractères génériques dans une extraction à chargement initial ne résout pas les vues. Pour inclure une vue, spécifiez-la séparément sans caractère générique, par exemple :

TABLE hr.employees_view;

Démarrez et surveillez le processus Extract à chargement initial :

OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > START EXTRACT extinit
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > INFO EXTRACT extinit DETAIL
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > VIEW REPORT extinit

Etape 3 : Créer et démarrer les chemins du service de distribution

Créez les chemins à partir du déploiement source. L'URI SOURCE identifie le service de distribution source et la trace locale. L'URI TARGET identifie le service de destinataire cible et la trace cible. Les noms de trace source et cible doivent correspondre aux traces créées pour le flux de données correspondant.

Créez le chemin des données de modification en cours (AA à BB) :

ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment) > ADD DISTPATH aabb SOURCE trail://<source-dist-host>:<source-dist-port>/services/v2/sources?trail=AA TARGET wss://<target-recv-host>:<target-recv-port>/services/v2/targets?trail=BB
OGG (https://<source-admin-url> source_deployment) > START DISTPATH aabb
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH aabb DETAIL

Créez le chemin des données de chargement initial (CC à DD) :

OGG (https://<source-admin-url> source_deployment) > ADD DISTPATH ccdd SOURCE trail://<source-dist-host>:<source-dist-port>/services/v2/sources?trail=CC TARGET wss://<target-recv-host>:<target-recv-port>/services/v2/targets?trail=DD
OGG (https://<source-admin-url> source_deployment) > START DISTPATH ccdd
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH ccdd DETAIL

Pour une cible sécurisée nécessitant une authentification par chemin, ajoutez la clause suivante à chaque commande ADD DISTPATH :

AUTHENTICATION USERIDALIAS <target-path-alias> DOMAIN <target-path-domain>

Omettez DOMAIN lorsque l'alias se trouve dans le domaine par défaut. L'alias et le domaine doivent être configurés pour l'authentification par chemin cible dans le déploiement source.

Si vous utilisez le protocole ogg hérité au lieu de ws ou wss, indiquez également l'option TARGETTYPE appropriée sur la commande ADD DISTPATH.

Etape 4 : création et démarrage du processus Replicat de chargement initial

Connectez-vous au déploiement cible, créez la table de points de reprise et ajoutez un processus Replicat de charge initiale non intégré qui lit la trace cible DD. Le processus Replicat peut être démarré avant l'arrivée de la trace de chargement initial. Il attend les données de DD après l'exécution du chemin de distribution.

ADMINCLIENT: Target deployment
OGG (not connected) 1> CONNECT https://<target-admin-url> AS <deployment-user> PASSWORD "<deployment-password>"
OGG (https://<target-admin-url> target_deployment) > DBLOGIN USERIDALIAS <target-db-alias>
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD REPLICAT repinit EXTTRAIL DD CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > EDIT PARAMS repinit

Fichier de paramètres Replicat de chargement initial (REPINIT) :

REPLICAT repinit
USERIDALIAS <target-db-alias>
MAP hr.*, TARGET hr.*;

Démarrez et surveillez le processus Replicat de chargement initial :

OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > START REPLICAT repinit
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repinit DETAIL

Etape 5 : terminer le chargement initial et supprimer les objets uniques

Attendez que le processus Extract de chargement initial ait atteint la fin de l'entrée, que le chemin CC vers DD ait transmis tous les enregistrements à DD et que REPINIT les ait appliqués. Utilisez les vérifications suivantes :

ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment) > INFO EXTRACT extinit DETAIL
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH ccdd DETAIL
ADMINCLIENT: Target deployment
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repinit DETAIL
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > SEND REPLICAT repinit, LOGEND

Après avoir validé les résultats du chargement initial, supprimez uniquement les objets de processus et de chemin ponctuel. Conservez l'extraction principale EXTPRIM et le chemin principal AABB.

A partir du déploiement source :

STOP DISTPATH ccdd
DELETE DISTPATH ccdd
STOP EXTRACT extinit
DELETE EXTRACT extinit

A partir du déploiement cible, arrêtez REPINIT s'il est toujours en cours d'exécution, puis supprimez-le :

STOP REPLICAT repinit
DELETE REPLICAT repinit

DELETE EXTRACT requiert la connexion à la base de données source appropriée pour Oracle, et DELETE REPLICAT requiert la connexion à la base de données cible. La suppression d'un groupe de processus ne supprime pas nécessairement son fichier de paramètres ou ses fichiers trace. Gérez les artefacts conservés via les opérations d'administration prises en charge par le déploiement.

Etape 6 : création et démarrage du processus Replicat principal avec HANDLECOLLISIONS

Créez le processus Replicat principal sur la cible. Cette procédure utilise HANDLECOLLISIONS alors que le processus Replicat principal applique des modifications qui peuvent chevaucher les données de chargement initial.

Pour un workflow HANDLECOLLISIONS, utilisez une réplication principale non intégrée si elle est prise en charge. N'utilisez pas HANDLECOLLISIONS avec un processus Replicat Oracle intégré ; utilisez une méthode d'instanciation précise lorsqu'un processus Replicat intégré est requis.

ADMINCLIENT: Target deployment
OGG (https://<target-admin-url> target_deployment) > DBLOGIN USERIDALIAS <target-db-alias>
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD REPLICAT repprim EXTTRAIL BB CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > EDIT PARAMS repprim

Fichier de paramètres du processus de réplication principal (REPPRIM) :

REPLICAT repprim
USERIDALIAS <target-db-alias>
HANDLECOLLISIONS
MAP hr.*, TARGET hr.*;

Démarrez et surveillez le processus Replicat principal :

OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > START REPLICAT repprim
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repprim DETAIL
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH aabb DETAIL

Une fois que le processus Replicat principal a détecté et traité les modifications mises en file d'attente lors du chargement initial, désactivez HANDLECOLLISIONS :

OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > SEND REPLICAT repprim, NOHANDLECOLLISIONS

SEND REPLICAT ... NOHANDLECOLLISIONS désactive la gestion des collisions pour l'exécution en cours, mais ne supprime pas HANDLECOLLISIONS du fichier de paramètres. Enlevez HANDLECOLLISIONS du fichier de paramètres avant le prochain redémarrage ou ajoutez NOHANDLECOLLISIONS avant les instructions MAP concernées.