Vérifiez que les tables cible existent dans la base de données Snowflake.
Vous devez configurer des comptes cloud Amazon Web Services, Google Cloud Platform ou Azure si vous avez l'intention d'utiliser l'un des emplacements de phase externes tels que S3, ADLS Gen2 ou GCS.
Chaîne de connexion du pilote JDBC Snowflake
Privilèges utilisateur de base de données Snowflake
L'utilisateur de base de données utilisé pour la réplication dans Snowflake doit disposer des privilèges suivants :
INSERT, UPDATE, DELETE et TRUNCATE sur les tables cible.
CREATE et DROP sur Snowflake ont nommé l'étape et l'étape externe.
Si vous utilisez une phase externe (S3, ADLS, GCS), CREATE, ALTER et la table externe DROP.
Pour ajouter une réplique dans GoldenGate 23ai, procédez comme suit :
Dans la console de déploiement OCI GoldenGate, sur la page d'accueil du service d'administration, cliquez sur Ajouter une république (icône Plus).
Dans le panneau Ajouter une réplication, sur la page Informations sur la réplication, renseignez les champs selon vos besoins, puis cliquez sur Suivant :
Sélectionnez un type de réplicat :
Réplication classique
Réplication coordonnée
Entrez un nom de processus de 5 caractères au maximum.
Entrez une description pour distinguer ce processus des autres.
Sur la page Options de réplication, renseignez les champs selon vos besoins, puis cliquez sur Suivant :
Pour la trace de réplication :
Entrez un nom.
Entrez un sous-répertoire, si vous prévoyez que le fichier de trace se trouve à un emplacement autre que celui par défaut.
Sélectionnez un profil de cryptage. Si aucun profil de cryptage n'a été créé, le portefeuille local est sélectionné par défaut.
Dans Démarrer, sélectionnez le point de départ du traitement des données :
Position dans le journal (valeur par défaut)
Now
Heure personnalisée
Pour la position de trace :
Entrez le numéro de séquence.
Entrez la valeur RBA Offset.
Dans Cible, sélectionnez Snowflake dans la liste déroulante, puis sélectionnez l'une des options suivantes :
Transmission en continu
Préparer et fusionner, puis sélectionner un emplacement intermédiaire disponible
Pour les informations d'identification cible :
Sélectionner un domaine.
Sélectionnez un alias dans le domaine spécifié.
Sélectionnez une table de point de reprise. Conservez la sélection par défaut ou sélectionnez la table de point de reprise que vous avez créée pour le déploiement cible.
Sélectionnez le nombre maximal de threads (répliques coordonnées uniquement).
Sur la page Options gérées, renseignez les champs facultatifs selon vos besoins, puis cliquez sur Suivant :
Sélectionnez un nom de profil, le cas échéant.
Activer Critical pour l'état du déploiement.
Activez et configurez les paramètres de démarrage automatique.
Sur la page Fichier de paramètres, vous pouvez ajouter des paramètres pour configurer davantage la réplique. Par exemple :
table source.table1;
Si vous utilisez la réplication coordonnée, ajoutez TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/your_replicat_name.properties au fichier de paramètres.
Remarques :
GoldenGate utilise par défaut l'heure GMT (heure de Greenwich). Utilisez SETENV pour remplacer le paramètre par défaut de ce processus Replicat. Cette modification ne s'applique pas aux déploiements. Exemple :
setenv (TZ="US/Eastern")
setenv (TZ="GMT+5")
(Facultatif) Dans la page Properties File, vérifiez la propriété :
jvm.bootoptions : augmentez la valeur -Xmx si vous devez ajouter plus de mémoire à la JVM de réplication (-Xmx16g pour utiliser jusqu'à 16 Go de mémoire, -Xmx32g pour 32 Go, etc.).
Remarques :
Un problème connu lié à Snowflake Streaming Handler échoue avec l'erreur Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper". Pour résoudre ce problème, ajoutez les éléments suivants au fichier de propriétés de réplication :
Pour plus d'informations sur les propriétés de cette cible et connaître les différences entre les gestionnaires intermédiaire et de fusion et de transmission en continu, reportez-vous à Snowflake dans le guide Oracle GoldenGate for Distributed Applications and Analytics.
Cliquez sur Créer et exécuter. Si vous cliquez sur Créer, vous pouvez lancer la réplication manuellement ultérieurement à partir de la page d'accueil du service d'administration.
Ajout d'une réplication (21c)
Pour ajouter une réplication pour Snowflake dans Oracle GoldenGate 21c, procédez comme suit :
Dans la console de déploiement OCI GoldenGate, sur la page de présentation du service d'administration, cliquez sur Ajouter une réplication (icône Plus).
Sur la page Ajouter une réplication, sélectionnez un type de réplication, puis cliquez sur Suivant.
Les types de réplication sont les suivants :
Réplication classique
Réplication coordonnée
Sur la page Options de réplication, renseignez les champs suivants, puis cliquez sur Suivant :
Dans Nom de processus, saisissez le nom du processus de réplication.
Dans Nom de trace, entrez un nom de trace à deux caractères.
Dans Cible, sélectionnez la connexion Snowflake cible dans la liste déroulante.
Dans Alias disponibles, sélectionnez votre alias dans la liste déroulante.
(Facultatif) Activer le stockage externe pour sélectionner un emplacement intermédiaire disponible dans la liste déroulante.
Sur la page Paramètres de réplication, ajoutez les mappings nécessaires, puis cliquez sur Suivant :
Remarques :
Si vous utilisez la réplication coordonnée, ajoutez les paramètres suivants sur la deuxième ligne du fichier de paramètres :
TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/<replicat
name>.properties
L'utilisation de la réplication coordonnée entraînera la création de plusieurs fichiers.
Si cette option est omise, l'erreur suivante s'affiche :
OGG-01091 Oracle GoldenGate Delivery, RSNOW.prm: Unable to open file
"/u02/Deployment/etc/conf/ogg/<replicat name>001.properties" (error 2, No such file or
directory).
S'il existe des opérations de fusion à longue durée d'exécution dans Snowflake et qu'un nombre élevé de verrous sont observés, assurez-vous qu'aucune autre table ne modifie la même table. En outre, utilisez la réplication coordonnée avec prudence car elle peut entraîner un nombre élevé de verrous de table.
GoldenGate utilise par défaut l'heure GMT (heure de Greenwich). Utilisez SETENV pour remplacer le paramètre par défaut de la réplication. Cette modification ne s'applique pas aux déploiements. Exemple :
(Facultatif) Dans la page Properties File, vérifiez les propriétés suivantes :
Remarques :
Ces propriétés sont définies lors de la création de la connexion et ne doivent pas être modifiées ici.
ggs.eventhandler.snowflake.connectionURL : URL JDBC pour la connexion à Snowflake.
ggs.eventhandler.snowflake.UserName : nom utilisateur de base de données Snowflake.
ggs.eventhandler.snowflake.Password : mot de passe associé à l'utilisateur de base de données Snowflake.
ggs.eventhandler.snowflake.storageIntegration : informations d'identification permettant au data warehouse Snowflake d'accéder aux fichiers de banque d'objets respectifs. Pour plus d'informations, reportez-vous à Intégration du stockage Snowflake.
jvm.bootoptions : augmentez la valeur -Xmx si vous avez besoin d'ajouter plus de mémoire à la JVM de réplication (-Xmx16g pour utiliser jusqu'à 16 Go de mémoire, -Xmx32g pour 32 Go, etc.)
Cliquez sur Créer et exécuter. Si vous cliquez sur Créer, vous pouvez lancer la réplication manuellement ultérieurement à partir de la page de présentation du service d'administration.
Vous revenez à la page de présentation du service d'administration, dans laquelle vous pouvez visualiser la création du processus de réplication et accéder aux actions de réplication.
Le gestionnaire de streaming Snowflake échoue avec : Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"
Solution de contournement : ajoutez les éléments suivants à votre fichier de propriétés de réplication :