OPTIONS DE BASE DE DONNÉES
Durée de validité
Extraction et réplication
Description
Utilisez le paramètre DBOPTIONS pour indiquer les options de base de données. Il s'agit d'un paramètre global, qui s'applique à toutes les instructions TABLE ou MAP dans le fichier des paramètres. Certaines options des paramètres DBOPTIONS s'appliquent uniquement à l'extraction ou au processus Replicat.
Le paramètre DBOPTIONS peut être placé n'importe où dans le fichier de paramètres, quels que soient les autres paramètres.
Valeur par défaut
Aucun
Syntaxe
DBOPTIONS
[ALLOWLOBDATATRUNCATE | NOALLOWLOBDATATRUNCATE]
[ALLOWUNUSEDCOLUMN | NOALLOWUNUSEDCOLUMN]
[ALLOWNONSTANDARDINTERVALDATA]
[BINDCHARFORBITASCHAR]
[CATALOGCONNECT | NOCATALOGCONNECT]
[CONNECTIONPORT <port>]
[DECRYPTPASSWORD <shared_secret> ENCRYPTKEY {DEFAULT | <key_name>}]
[DEFERREFCONST][DELETE_CHECKPOINT_RECS]
[DISABLECOMMITNOWAIT]
[DISABLELOBCACHING]
[ENABLE_INSTANTIATION_FILTERING]
[EMPTYLOBSTRING '<string>']
[FETCHBATCHSIZE <records>]
[FETCHCHECKFREQ <seconds>]
[FETCHLOBS | NOFETCHLOBS]
[FETCHRETRYCOUNT <number>]
[FETCHTIMEOUT <seconds> | NOFECHTIMEOUT]
[FORCE_XML_ESCAPE_CONVERSION]
[HOST *{<DNS_name> | <IP_address>}*]
[INTEGRATEDPARAMS(<parameter>[, ...])]
[LIMITROWS | NOLIMITROWS]
[LOBBUFSIZE <bytes>]
[LOBWRITESIZE <bytes>]
[MAXLOBKEYLEN <datalength>]
[SESSIONPOOLMAX <max_value> |
[SESSIONPOOLMIN <min_value>][SESSIONPOOLINCR <increment_value>]
[SETTAG [<tag_value> | NULL] ]
[SHOWINFOMESSAGES]
[SHOWWARNINGS]
[SKIPTEMPLOB | NOSKIPTEMPLOB]
[SOURCE_DB_NAME <src_dbase>_<global_name>][SPTHREAD | NOSPTHREAD]
[SQLMODE]
[SUPPRESSTEMPORALUPDATES]
[SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERS]
[TDSPACKETSIZE <bytes>]
[TRANSNAME <trans_name>][USEDATABASEENCODING]
[XMLBUFSIZE <bytes>]
ALLOWLOBDATATRUNCATE |
NOALLOWLOBDATATRUNCATE |
Valide pour le processus Replicat pour Db2 LUW et MySQL. ALLOWLOBDATATRUNCATE empêche l'abandon du processus Replicat lorsque les données LOB répliquées sont trop volumineuses pour une colonne CHAR, VARCHAR, BINARY ou VARBINARY cible et s'appliquent uniquement aux colonnes LOB cible. ou que la réplication de Db2 LUW, ALLOWLOBDATATRUNCATE empêche l'abandon du processus Replicat lorsque les données LOB répliquées sont trop volumineuses pour une colonne LOB cible. Les données LOB sont tronquées jusqu'à la taille maximale de la colonne cible sans autre message d'erreur ni avertissement.
NOALLOWLOBDATATRUNCATE est la valeur par défaut et entraîne l'abandon du processus Replicat avec un message d'erreur si le fichier LOB répliqué est trop volumineux.
ALLOWUNUSEDCOLUMN |
NOALLOWUNUSEDCOLUMN |
Valide pour le processus d'extraction Oracle. Détermine si l'extraction est abandonnée lorsqu'elle rencontre une table avec une colonne non utilisée.
La valeur par défaut est ALLOWUNUSEDCOLUMN. Lorsque le processus d'extraction rencontre une table avec une colonne inutilisée, il poursuit le traitement et génère une valeur warning.When à l'aide de ce paramètre, soit la même colonne inutilisée doit exister sur la cible, soit un fichier de définitions source pour la table doit être spécifié dans le processus Replicat, afin que le mapping de métadonnées correct puisse être effectué.
NOALLOWUNUSEDCOLUMN entraîne l'abandon du processus Extract sur les colonnes non utilisées.
ALLOWNONSTANDARDINTERVALDATA
Valide pour PostgreSQL.
Utilisez DBOPTIONS ALLOWNONSTANDARDINTERVALDATA dans le fichier de paramètres d'extraction pour capturer les données d'intervalle de signe mixte (ou tout autre format de données d'intervalle, qui n'est pas pris en charge par Oracle GoldenGate) en tant que chaîne (pas en tant que données d'intervalle standard). Lorsque cette option est utilisée, le format des données d'intervalle qui sont écrites dans la trace et appliquées à la colonne CHAR cible est le suivant :
year-component-sign years-months days-component-sign days hour-component-sign hours:minutes:seconds.fractional_seconds
Par exemple, +1026-9 +0 +0:0 : 22.000000 doit être interprété comme 1026 années 9 mois 0 jours 0 heures 0 minutes 22 secondes. -0-0 -0 -8 doit être interprété comme 0 années 0 mois 0 jours -8 heures. +1-3 +0 +3:20 doit être interprété comme 1 années 3 mois 0 jours 3 heures 20 minutes.
Dans le cas d'une réplication, si les données d'intervalle source ont été capturées à l'aide de DBOPTIONS ALLOWNONSTANDARDINTERVALDATA et écrites en tant que chaîne dans la trace, la colonne source correspondante peut être mise en correspondance avec une colonne de type char ou binary sur la cible.
BINDCHARFORBITASCHAR
Valide pour DEFGEN, Extraire et Répliquer pour Db2 pour i. Permet d'autoriser le traitement des colonnes définies comme étant de type CHAR ou VARCHAR avec CCSID 65535, ou de type CHAR et VARCHAR FOR BIT DATA, comme si le champ était encodé de mode normal et traduisible. Le codage est récupéré à partir du travail CCSID. Lorsque cette option est activée, DEFGEN n'indique pas que le champ est binaire dans le fichier defs.
CATALOGCONNECT |
NOCATALOGCONNECT |
Valide pour l'extraction et la réplication pour les bases de données ODBC.
Par défaut, Oracle GoldenGate crée une connexion pour les requêtes de catalogue, mais vous pouvez utiliser NOCATALOGCONNECT pour empêcher cela.
CONNECTIONPORT <port>
Valide pour le processus Replicat pour le démon multiple MySQL. Permet de définir le port TCP/IP de l'instance à laquelle le processus de réplication doit se connecter. La valeur minimale est 1 et la valeur par défaut est 3306.
DEFERREFCONST |
NODEFERREFCONST |
Valide pour la réplication non intégrée pour Oracle. Option par défaut pour le processus Replicat intégré parallèle.
Définit les contraintes sur DEFERRABLE afin que la base de données cible Oracle puisse retarder la vérification et l'application par les contraintes d'intégrité référentielle relatives aux opérations de suppression en cascade et à la mise à jour en cascade, jusqu'à ce que la transaction de processus de réplication soit validée. A ce stade, en cas de violation de contrainte, une erreur est générée. Le processus Replicat intégré ne nécessite pas la désactivation des contraintes référentielles sur le système cible.
Vous pouvez utiliser DEFERREFCONST au lieu de désactiver les contraintes sur les tables cible ou de les définir sur DEFERRED. Lorsqu'elle est utilisée, DEFERREFCONST diffère les contraintes DEFERABLE et NOT DEFERABLE. DEFERREFCONST s'applique à chaque transaction traitée par le processus Replicat. Le paramètre DEFERREFCONST fonctionne sur les versions 11.2.0.2 et supérieures d'Oracle.
Si elle est utilisée avec une version d'Oracle AI Database qui ne prend pas en charge cette fonctionnalité, DEFERREFCONST est ignoré sans renvoyer de notification au journal Oracle GoldenGate. Pour gérer les erreurs sur l'opération de validation, vous pouvez utiliser REPERROR au niveau racine du fichier de paramètres et indiquer l'option TRANSDISCARD ou TRANSEXCEPTION. Remarque : Ne pas utiliser avec le processus Replicat coordonné DEFERREFCONST car il n'existe aucun moyen de garantir que les lignes associées des tables parent et enfant sont traitées par le même thread
Le parallèle DBOPTIONS DEFERREFCONST n'est ajouté à la configuration de réplication que lorsque vous définissez GOLDENGATESETTIGS_REPLICATIONMODE=PARALLEL_NON_INTEGRATED dans le fichier de réponses (.rsp).
Utilisez l'option NODEFERREFCONST pour désactiver l'option DEFERREFCONST.
DELETE_CHECKPOINT_RECS
Valide pour le processus de réplication parallèle pour MySQL.
Utilisez l'option DBOPTIONS_DELETE_CHECKPOINT_RECS pour remplacer la méthode par défaut de vidage des tables de point de reprise par la clause "DELETE FROM" afin de nettoyer les tables de point de reprise dans le processus Replicat parallèle. Elle permet d'éviter les verrous de métadonnées qui peuvent se produire dans le processus de réplication parallèle lors des opérations de troncation par défaut.
DISABLECOMMITNOWAIT
Valide pour la réplication pour Oracle.
Désactive l'utilisation d'une instruction COMMIT asynchrone par la réplication. Une instruction COMMIT asynchrone inclut l'option NOWAIT.
Lorsque DISABLECOMMITNOWAIT est utilisé, le processus de réplication émet un élément COMMIT synchrone standard (COMMIT avec l'option WAIT).
DISABLELOBCACHING
Valide pour la réplication non intégrée pour Oracle.
Désactive le mécanisme de mise en cache LOB d'Oracle. Par défaut, le processus de réplication active le mécanisme de mise en cache LOB d'Oracle.
ENABLE_INSTANTIATION_FILTERING
Valide pour Oracle.
Active le filtrage automatique CSN par instanciation de table sur les tables instanciées à l'aide de la commande SET_INSTANTIATION_CSN.
SOURCE_DB_NAME est obligatoire si les objets Oracle AQ (Advanced Queuing) sont inclus dans la réplication et que la réplication procédurale est activée.
FETCHBATCHSIZE <records>
Valide pour Extract pour Oracle, Db2 pour i, Db2 z/OS, PostgreSQL et SQL Server.
Active les extractions de tableau pour les chargements initiaux afin d'améliorer les performances, plutôt qu'une ligne à la fois. Il est utilisé pour l'extraction du chargement initial.
Les valeurs valides pour Oracle, Db2 pour i, Db2 z/OS et SQL Server sont comprises entre 0 et 1000000 enregistrements par extraction. Les valeurs valides pour Db2 LUW sont comprises entre 1 et 1000000 enregistrements par extraction ; zéro (0) n'est pas une valeur valide.
La valeur par défaut est
- Les performances ralentissent lorsque la taille du lot devient très petite ou très grande. Si la table contient des données
LOB, le processus d'extraction revient en mode d'extraction monoligne, puis reprend le mode d'extraction par lots.
FETCHCHECKFREQ <seconds>
Valide pour l'extraction intégrée pour Oracle.
Indique le nombre de secondes d'attente de l'extraction entre chaque vérification d'extraction pour le rattrapage ADG. Un nombre faible améliore la latence tout en augmentant le nombre de requêtes de current_scn from v$database. La valeur par défaut est de 3 secondes ; la valeur maximale est de 120 secondes.
FETCHLOBS |
NOFETCHLOBS |
Valide pour l'extraction pour Db2 pour z/OS et Db2 pour LUW.
Supprime l'extraction des LOB directement à partir de la table de base de données lorsque les options LOB de la table sont définies sur NOT LOGGED. Avec NOT LOGGED, la valeur de la colonne n'est pas disponible dans les journaux de transactions et peut uniquement être obtenue à partir de la table elle-même. Par défaut, Oracle GoldenGate capture les modifications apportées aux objets LOB à partir des journaux de transactions. La valeur par défaut est FETCHLOBS.
FETCHRETRYCOUNT <number>
Valide pour le processus d'extraction Oracle.
Indique le nombre de tentatives d'extraction avant qu'il ne signale la progression d'ADG ou le motif de l'absence de progression lors de l'attente du rattrapage d'ADG. Cette valeur est multipliée par FETCHCHECKFREQ pour déterminer approximativement la fréquence à laquelle la progression ADG est signalée. La valeur par défaut de FETCHRETRYCOUNT est 5 et la plage de valeurs valide est comprise entre 0 et 1000.
FETCHTIMEOUT <seconds> | NOFETCHTIMEOUT
Valide pour le processus d'extraction Oracle.
Indique le nombre de secondes pendant lesquelles le processus Extract attend après lequel il abandonne lorsqu'ADG ne progresse pas. Aucune progression ne peut être due au fait que MRP n'est pas en cours d'exécution ou qu'il n'applique pas les modifications de journalisation. Lorsque cela se produit, la base de données ADG doit être examinée. La valeur par défaut est de 30 secondes ; les valeurs valides sont comprises entre 0 et 4294967295 (valeur maximale ub4) secondes. NOFETCHTIMEOUT signifie qu'il n'y a jamais de délai d'expiration (identique à FETCHTIMEOUT 0) et que les secondes ne peuvent pas être indiquées avec celui-ci.
FORCE_XML_ESCAPE_CONVERSION
Pour les formats de segment de trace d'Oracle GoldenGate19c, si FORCE_XML_ESCAPE_CONVERSION est activé, le processus Replicat place les caractères de saut de ligne dans les types de caractère des colonnes ANYDATA. Si ce paramètre est activé pour un fichier trace au format 19.1 ou supérieur, il est ignoré car le processus Extract exécute déjà l'échappement de saut de ligne.
Ce paramètre n'affecte les colonnes ANYDATA que lorsque NOUSENATIVEOBJSUPPORT est activé pour l'extraction. Remarque : cette option de paramètre n'affecte pas les colonnes ANYDATA extraites de la base de données par Logminer en mode natif.
HOST <{DNS_name | IP_address}>
Valide pour le processus Replicat pour le démon multiple MySQL.
Permet de définir le nom DNS ou l'adresse IP du système qui héberge l'instance avec laquelle le processus de réplication doit établir une connexion.
INTEGRATEDPARAMS(<parameter>[, ...])
Valide pour la réplication intégrée pour Oracle.
Transmet les valeurs des paramètres qui contrôlent le serveur de base de données entrant dans l'instance Oracle AI Database cible.
Vous pouvez utiliser l'option commit_serialization avec INTEGRATEDPARAMS pour le processus Replicat intégré, mais pas pour le processus Replicat parallèle en mode intégré. La définition des paramètres de base de données internes pour l'extraction est effectuée à l'aide de TRANLOGOPTIONS INTEGRATEDPARAMS.
Pour plus d'informations sur le processus Replicat intégré et la liste des paramètres de serveur entrant pris en charge, reportez-vous à Options de paramètre supplémentaires pour le processus Replicat intégré et le processus Replicat parallèle en mode intégré dans la documentation des microservices Oracle GoldenGate.
LIMITROWS |
NOLIMITROWS |
Valide pour la réplication pour MariaDB, MySQL, Oracle, SingleStore, SQL Server, Sybase et TimesTen.
LIMITROWS empêche la mise à jour ou l'effacement de plusieurs lignes par la même instruction SQL du processus Replicat lorsque la table cible ne comporte pas d'élément clé primaire ou unique.
LIMITROWS est la valeur par défaut. LIMITROWS et NOLIMITROWS s'appliquent globalement à toutes les instructions MAP d'un fichier de paramètres.
Pour MySQL, LIMITROWS utilise une clause LIMIT 1 dans l'instruction UPDATE ou DELETE.
Pour les cibles Oracle, LIMITROWS (valeur par défaut) doit être utilisé. Elle utilise WHERE ROWNUM = 1 ou AND ROWNUM = 1 dans la clause WHERE.
Pour SQL Server, LIMITROWS utilise une clause SET ROWCOUNT 1 avant l'instruction UPDATE ou DELETE.
NOLIMITROWS permet la mise à jour ou la suppression de plusieurs lignes par la même instruction SQL de réplication.
LOBBUFSIZE <bytes>
Valide pour l'extraction pour Db2 LUW, Db2 pour i, Db2 z/OS, Oracle, PostgreSQL et SQL Server.
Pour Oracle, il détermine la taille de la mémoire tampon (en octets) à allouer pour chaque attribut LOB imbriqué d'un type d'objet Oracle.
Pour les bases de données non Oracle, il indique la taille du tampon pour l'extraction des données LOB lors du chargement initial.
Les valeurs valides sont comprises entre 1024 et 104857600 octets. La longueur par défaut est de 1048576 octets.
Pour Oracle, si la longueur de LOB imbriqué dépasse la taille LOBBUFSIZE indiquée, un message d'erreur semblable au suivant est généré :
GGS ERROR ZZ-0L3 Buffer overflow, needed: 2048, allocated:
1024.
LOBWRITESIZE <bytes>
Valide pour la réplication non intégrée pour Oracle.
Spécifie une taille de fragment en octets pour chaque élément LOB écrit par le processus de réplication dans la base de données cible. Les données LOB sont stockées dans un tampon jusqu'à ce que cette taille soit atteinte. Etant donné que les objets LOB doivent être écrits dans la base de données en fragments, l'écriture dans des blocs plus volumineux évite les E/S excessives. Plus la valeur est élevée, moins les appels d'E/S effectués par le processus Replicat sur le serveur de base de données pour écrire l'intégralité de LOB dans la base de données sont nombreux.
Indiquez un multiple de la taille de fragment Oracle LOB. Une valeur donnée est arrondie à un multiple de la taille de fragment LOB d'Oracle, si nécessaire. La taille d'écriture LOB par défaut est 32k si DBOPTIONS NOSKIPTEMPLOB est spécifié, ou 1 Mo si DBOPTIONS SKIPTEMPLOB est spécifié. Les valeurs valides vont de 2 048 octets à 2 097 152 octets (2 Mo).
Par défaut, le processus de réplication active le mécanisme de mise en cache LOB d'Oracle. Pour désactiver la mise en cache LOB d'Oracle, utilisez l'option DISABLELOBCACHING de DBOPTIONS.
MAXLOBKEYLEN <datalength>
Valide pour le processus d'extraction PostgreSQL.
Définit les colonnes de type de données LOB à traiter dans le cadre de la clé. Les valeurs valides du paramètre datalength peuvent être comprises entre 1 et 8000. Les objets LOB pouvant faire partie de la clé sont les suivants :
-
Bytea -
Char -
Citext -
Text -
Varchar
SESSIONPOOLMAX <max_value>
Valide pour Extract en mode intégré pour Oracle.
Indique le nombre maximal de sessions dans le pool d'OCI, qui est utilisé par l'extraction pour extraire des données d'un conteneur de base. La valeur par défaut est 10 sessions. Doit être indiqué avant le paramètre USERIDALIAS ; sinon, il sera ignoré et la valeur par défaut sera utilisée.
SESSIONPOOLMIN <min_value>
Valide pour Extract en mode intégré pour Oracle.
Indique le nombre minimal de sessions dans le pool d'OCI, qui est utilisé par l'extraction pour extraire des données d'un conteneur de base. La valeur par défaut est 2 sessions. Doit être indiqué avant le paramètre USERIDALIAS ; sinon, il sera ignoré et la valeur par défaut sera utilisée.
SESSIONPOOLINCR <increment_value>
Valide pour Extract en mode intégré pour Oracle.
Indique le nombre de session incrémentielles pouvant être ajoutées au pool d'instances OCI, qui est utilisé par l'extraction pour extraire des données d'un conteneur de base. La valeur par défaut est 2 sessions. Doit être indiqué avant le paramètre USERIDALIAS ; sinon, il sera ignoré et la valeur par défaut sera utilisée.
SETTAG [<tag_value> | NULL
Valide pour la réplication pour Oracle.
Définit la valeur d'une balise de journalisation Oracle qui sera utilisée pour identifier les transactions de la réplication associée dans le fichier de journalisation. Une balise redo peut également être utilisée pour identifier des transactions autres que celles du processus Replicat. Ce paramètre est recommandé sur EXCLUDEUSER et TRACETABLE.
Utilisez cette option pour empêcher le cyclage (boucle arrière) des enregistrements individuels dans une configuration bidirectionnelle ou pour filtrer les autres transactions de la capture. La valeur SETTAG par défaut est 00 et est limitée à 2K octets. Une valeur valide est une balise Oracle Streams unique. Une valeur de balise peut comporter jusqu'à 2000 chiffres hexadécimaux (0-9 A-F).
Les transactions des informations de journalisation marquées avec la balise indiquée peuvent être filtrées par une extraction dont le paramètre TRANLOGOPTIONS est défini avec l'option EXCLUDETAG définie sur <tag_value>. Utilisez le filtrage basé sur les balises pour empêcher le cyclage (boucle-back) des transactions Replicat dans une configuration bidirectionnelle ou pour filtrer les autres transactions de la capture. Pour plus d'informations, reportez-vous à TRANLOGOPTIONS.
Vous pouvez désactiver le balisage de DDL en utilisant le paramètre [DDLOPTIONS](ddloptions.html#GUID-E316EFCB-862D-4055-8B8E-C48EC82F2DDE) avec l'option NOTAG.
<hex_value>
Valeur hexadécimale comprise entre 0 et F. La valeur par défaut est 00. Voici des exemples valides :
DBOPTIONS SETTAG 00112233445566778899AABBCCDDEEFF
DBOPTIONS SETTAG 00112233445566778899aabbccddeeff
DBOPTIONS SETTAG 123
NULL
Désactive le filtrage basé sur les balises pour le processus Replicat associé.
SKIPTEMPLOB |
NOSKIPTEMPLOB |
Valide pour la réplication pour les versions 11g et 12c d'Oracle Database. Contrôle la façon dont les objets LOB sont appliqués à une base de données Oracle cible. La valeur par défaut de SKIPTEMPLOB.
SKIPTEMPLOB améliore les performances par l'écriture directe des données LOB dans la colonne LOB cible. Le processus Replicat crée une instruction SQL avec une valeur LOB vide et renvoie le pointeur LOB à la variable attachée. Une fois l'instruction SQL exécutée, les données LOB sont écrites directement dans la colonne LOB à l'aide du pointeur LOB renvoyé.
NOSKIPTEMPLOB utilise un élément LOB temporaire dans l'instruction SQL. Le processus Replicat déclare une variable attachée dans l'instruction SQL et associe un élément LOB temporaire, puis écrit dans l'élément LOB temporaire. Oracle AI Database applique les données de colonne LOB à partir de l'élément LOB temporaire.
SKIPTEMPLOB s'applique aux opérations INSERT et UPDATE qui contiennent des données LOB. Elle ne s'applique pas si la table a un index fonctionnel avec une colonne LOB, si les données LOB sont NULL, vides ou stockées en ligne. Elle ne s'applique pas aux opérations LOB partielles.
SKIPTEMPLOB entraîne la génération/l'exécution par le processus Replicat d'opérations 1 DML+ n LOB_WRITE (par pièce) lors de la mise à jour/l'insertion d'une ligne avec des colonnes LOB. Cependant, SKIPTEMPLOB ne doit pas être utilisé avec FETCHPARTIALLOB (paramètre d'extraction) car cela entraîne une extraction excessive.
NOSKIPTEMPLOB est fourni à des fins de compatibilité descendante. Sinon, la valeur par défaut de SKIPTEMPLOB doit être conservée.
SOURCE_DB_NAME <src_dbase>_<global_name>
Valide pour Oracle.
Indique le nom global de la base de données source de trace. Il est utilisé pour interroger les informations d'instanciation pertinentes lorsque DBOPTIONS ENABLE_INSTANTIATION_FILTERING est activé. Cette option est facultative pour le filtrage d'instanciation dans un fichier trace 12.2. avec les métadonnées activées.
Lorsque la source n'a pas de valeur DOMAIN, n'indiquez pas de valeur DOMAIN pour la base de données en aval.
L'option SOURCE_DB_NAME est obligatoire si les objets Oracle AQ (Advanced Queuing) sont inclus dans la réplication et que la réplication procédurale a été activée. Reportez-vous à l'exemple suivant :
DBOPTIONS SOURCE_DB_NAME CDB1_PDB1.NORTH.COM
SPTHREAD |
NOSPTHREAD |
Valide pour l'extraction et le processus de réplication. Non valide pour Oracle et MySQL.
Crée un thread de connexion de base de données distinct pour l'utilisation de SQLEXEC afin d'exécuter des procédures stockées. La valeur par défaut est NOSPTHREAD.
SQLMODE
Lorsque cette option est activée, la variable sql_mode est définie sur 'ANSI_QUOTES' (set sql_mode = 'ANSI_QUOTES'). Traitez les guillemets (") comme un guillemet d'identificateur (comme le guillemet `) et non comme un guillemet de chaîne. Vous pouvez toujours utiliser ` pour placer des identificateurs entre guillemets lorsque ce mode est activé. Lorsque l'option ANSI_QUOTES est activée, vous ne pouvez pas utiliser de guillemets (") pour mettre des chaînes littérales entre guillemets, car elle est interprétée comme un identificateur.
Pour plus d'informations, reportez-vous à Modes SQL du serveur.
SUPPRESSTEMPORALUPDATES
Valide pour la réplication de table temporelle Db2 LUW 10.1 FixPack 2 et supérieure.
Utilisez SUPPRESSTEMPORALUPDATES pour répliquer les tables system-period et bitemporal avec les tables d'historique associées. Oracle GoldenGate réplique les colonnes de début de ligne, de fin de ligne et d'ID de début de transaction avec les autres colonnes de la table. Vous devez vous assurer que l'instance de base de données dispose des droits d'exécution nécessaires pour exécuter la procédure stockée SYSPROC.SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY¿ côté application.
Par défaut, Oracle GoldenGate ne réplique pas les colonnes de début de ligne, de fin de ligne et d'ID de début de transaction. Pour conserver les valeurs d'origine de ces colonnes, implémentez l'une des options suivantes.
-
Ajoutez des colonnes d'horodatage supplémentaires dans la table temporelle cible et mettez en correspondance les colonnes en conséquence.
-
Utilisez une table non temporelle côté application et mappez les colonnes en conséquence.
Réplication dans un environnement non Oracle :
Dans les environnements non Oracle où il n'y a pas de tables temporelles côté application, vous devez définir la valeur des colonnes d'ID début de ligne, de fin de ligne et de début de transaction. Ces colonnes source auront des valeurs d'horodatage que la base de données cible risque de ne pas prendre en charge. Vous devez d'abord utiliser les fonctions de conversion de mapping pour convertir ces valeurs au format pris en charge par la base de données cible, puis mapper les colonnes en conséquence. Par exemple, MySQL a une plage de DATETIME allant de 1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999¿'. You cannot replicate a Db2 LUW timestamp value of 0001-01-01-00.00.00.000000000000 à MySQL. Pour répliquer de telles valeurs, vous devez convertir cette valeur au format MySQL DATETIME. Par exemple, si une table system-period ou bitemporal contient la colonne d'horodatage suivante :
SYS_START
--------------------------------
0001-01-01-00.00.00.000000000000
Ensuite, pour répliquer cette colonne dans MySQL, vous devez utiliser la fonction colmap() comme suit :
map <source_schema>.<source_table>, target <target_schema>.<target_table>
colmap(sys_start= @IF( ( @NUMSTR( @STREXT(sys_start,1,4))) > 1000, sys_start,
'1000-01-01 00.00.00.000000'));
Chargement initial de la table temporelle :
Oracle GoldenGate prend en charge le chargement initial de la table temporelle comme d'habitude.
Tenez compte des points suivants avec la table temporelle :
-
La réplication entre les tables temporelles de période système et d'application n'est pas prise en charge.
-
La réplication d'une table non temporelle vers une table temporelle n'est pas prise en charge.
-
La réplication des tables system-period, bi-temporal et
SUPPRESSTEMPORALUPDATESavec le paramètreINSERTALLRECORDSn'est pas prise en charge. -
Si un index unique est créé pour la table temporelle de période d'application à l'aide de
BUSINESS_TIME WITHOUT OVERLAPSpour la table cible, le même index unique doit être créé pour la table source. -
La réplication bidirectionnelle entre les tables temporelles est conseillée uniquement avec la valeur par défaut.
-
CDR est pris en charge uniquement avec
SUPPRESSTEMPORALUPDATES. Il n'y a pas de prise en charge CDR dans la réplication bidirectionnelle. -
Par défaut, les colonnes de début de ligne, de fin de ligne et d'ID de début de transaction des tables temporelles présentent des incohérences lorsque les bases de données source et cible fonctionnent avec des fuseaux horaires différents. Ces colonnes d'horodatage des tables system-period et bitemporal sont automatiquement renseignées par les gestionnaires de base de données respectifs et ont des valeurs selon les fuseaux horaires respectifs des bases de données.
-
L'utilisation de la valeur par défaut avec
GETUPDATEBEFORESse trouve dans le fichier de paramètres de réplication. Vous ne pouvez pas utiliser les colonnes de début de ligne, de fin de ligne et d'ID de début de transaction dans les calculs delta. Par exemple, il n'est pas possible de prendre l'image avant et après de telles colonnes dans tout type de calcul. Ces colonnes peuvent être utilisées dans les calculs delta à l'aide deSUPPRESSTEMPORALUPDATES.
SUPPRESSTRIGGERS |
NOSUPPRESSTRIGGERS |
Valide pour la réplication intégrée et la réplication classique pour Oracle.
Détermine si des déclencheurs sont déclenchés pendant la session Replicat. Offre une alternative à la désactivation manuelle des déclencheurs. (Le processus Replicat intégré ne nécessite pas la désactivation des déclencheurs sur le système cible.)
SUPPRESSTRIGGERS est la valeur par défaut et empêche l'exécution de déclencheurs sur des objets cible configurés pour la réplication avec Oracle GoldenGate. SUPPRESSTRIGGERS est valide pour Oracle Database 12c, 11g (11.2.0.2) et les versions ultérieures de 11g R2. SUPPRESSTRIGGERS n'est pas valide pour 11g R1.
Pour autoriser le déclenchement d'un déclencheur spécifique, vous pouvez utiliser l'instruction SQLEXEC suivante dans le fichier de paramètres de réplication, où <trigger_owner> est le propriétaire du déclencheur et <trigger_name> le nom du déclencheur.
SQLEXEC 'DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('"S1"','"MY_TRIGGER"',FALSE);'
Remarque : une fois que cette commande SQLEXEC est exécutée avec FALSE, le déclencheur continue de s'exécuter jusqu'à ce que la commande soit réexécutée avec le paramètre TRUE.
NOSUPPRESSTRIGGERS permet le déclenchement de déclencheurs cible. Pour utiliser [NO]SUPPRESSTRIGGERS, l'utilisateur Replicat doit disposer des privilèges accordés via le rôle utilisateur OGG_APPLY disponible à partir d'Oracle AI Database 26ai et versions ultérieures ou du package dbms_goldengate_auth.grant_admin_privilege pour Oracle Database 21c et versions ultérieures. Cette procédure fait partie de l'installation d'Oracle AI Database. Pour plus d'informations, reportez-vous à la documentation de la base de données.
Le paramètre USERIDALIAS doit précéder une instruction DBOPTIONS qui contient SUPPRESSTRIGGERS ou NOSUPPRESSTRIGGERS.
TRANSNAME <trans_name>
Valide pour la réplication pour SQL Server.
Permet à un processus Replicat d'utiliser un nom de transaction spécifique spécifié dans le fichier de paramètres. <trans_name> est le nom de la transaction que le processus Replicat utilise pour les transactions DML cible et remplace le nom de transaction ggs_repl par défaut lorsqu'il est utilisé.
USEDATABASEENCODING
Par défaut, Db2 pour le processus d'extraction i convertit toutes les données texte en données UTF-8 pour les données non DBCS et UTF-16 pour les données DBCS. Avec cette option, le processus Extract stocke toutes les données de texte dans la trace dans son encodage de caractères natif pour les données non DBCS. Actuellement, les données DBCS (GRAPHIC/VARGRAPHIC/DBCLOB) continuent d'être converties en données UTF-16, que ce paramètre soit fourni ou non. Pour les valeurs CCSID qui ne sont pas prises en charge par Oracle GoldenGate, le processus d'extraction convertit les données en données UTF-8 pour les données non DBCS et UTF-16 pour les données DBCS afin de garantir la compatibilité pour toutes les répliques.
XMLBUFSIZE <bytes>
Valide pour le processus d'extraction Oracle.
Définit la taille du tampon de mémoire qui stocke les données XML extraites de l'attribut sys.xmltype d'un type d'objet SDO_GEORASTER. Par défaut, la valeur est 1048576 octets (1 Mo). Si les données dépassent la taille de tampon par défaut, le processus Extract abandonne. Dans ce cas, augmentez la taille du tampon et relancez le processus Extract. La plage de valeurs valide est comprise entre 1024 et 104857600 octets.
Exemples
Exemple 1
DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3307
Exemple 2
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH ENCRYPTKEY DEFAULT
Exemple 3
DBOPTIONS TDSPACKETSIZE 2048
Exemple 4
DBOPTIONS FETCHBATCHSIZE 2000
Exemple 5
DBOOPTION XMLBUFSIZE 2097152