Db2 LUW : types de données, objets et opérations pris en charge
Cette section contient des informations sur les types de données, les objets et les opérations pris en charge pour Oracle GoldenGate sur Db2 LUW.
Types de données LUW Db2 pris en charge
Oracle GoldenGate prend en charge tous les types de données LUW Db2, à l'exception de ceux répertoriés dans Types de données LUW Db2 non pris en charge.
Limites de prise en charge
Oracle GoldenGate présente les limites suivantes pour la prise en charge des types de données LUW Db2 :
-
Oracle GoldenGate prend en charge les types de données alphanumériques à plusieurs octets et les données à plusieurs octets stockées dans des colonnes de caractères. Les données sur plusieurs octets ne sont prises en charge que dans une configuration similaire. La transformation, le filtrage et d'autres types de manipulation ne sont pas pris en charge pour les données à plusieurs octets.
-
Les colonnes
BLOBetCLOBdoivent avoir une clauseLOGGEDdans leurs définitions. -
En raison des limites de l'interface IBM DB2READLOG, Oracle GoldenGate ne prend pas en charge la coordination des transactions entre les noeuds dans un environnement DPF (Database Partitioning Feature) Db2. Dans DPF, une transaction peut s'étendre sur plusieurs noeuds, selon la façon dont les données sont partitionnées.
Cependant, si vous devez capturer à partir de celui-ci, vous pouvez le faire avec certaines limitations. Consultez la note de support technique Oracle Oracle GoldenGate prend-il en charge DB2 la fonctionnalité de partitionnement de données LUW (DPF) ? (DocID 2763006.1).
-
Les colonnes
GRAPHICetVARGRAPHICdoivent se trouver dans une base de données, où le jeu de caractères est UTF16. Tout autre jeu de caractères entraîne l'abandon d'Oracle GoldenGate. -
La prise en charge de la plage et de la précision pour les nombres à virgule flottante dépend de la machine hôte. En général, la précision est de 16 chiffres significatifs, mais vous devez consulter la documentation de la base de données pour déterminer les approximations attendues. Oracle GoldenGate arrondit ou tronque les valeurs dépassant la précision prise en charge.
-
L'extraction prend entièrement en charge la capture et l'application de
TIMESTAMP(0)àTIMESTAMP(12)lorsque le format de trace de sortie est 19.1 ou supérieur. Sinon, l'extraction tronque les données deTIMESTAMP(10)àTIMESTAMP(12)en nanosecondes (nombre maximal de neuf chiffres de temps fractionnaire) et émet un avertissement au fichier de rapport. -
Oracle GoldenGate prend en charge les données d'horodatage de 0001/01/03 :00:00:00 à 9999/12/31 :23:59:59. Si un horodatage est converti de GMT en heure locale, ces limites s'appliquent également à l'horodatage résultant. Selon le fuseau horaire, la conversion peut ajouter ou soustraire des heures, ce qui peut entraîner un dépassement de la limite inférieure ou supérieure prise en charge.
-
Oracle GoldenGate ne prend pas en charge le filtrage, la mise en correspondance de colonnes ou la manipulation des objets volumineux supérieurs à 4K. Vous pouvez utiliser l'intégralité de la fonctionnalité Oracle GoldenGate pour les objets de taille inférieure ou égale à 4K.
-
La réplication des colonnes XML entre les bases de données source et cible avec le même jeu de caractères est prise en charge. Si les jeux de caractères des bases de données source et cible sont différents, la réplication XML peut échouer avec une erreur de base de données car certains caractères peuvent ne pas être reconnus (ou valides) dans le jeu de caractères de la base de données cible.
-
Oracle GoldenGate ne certifie pas la capture des modifications à partir des tables organisées en colonnes Db2.
-
Le type de données
DECFLOATprend en charge les valeurs numériques spécialesNaN,sNaNetInfinity/-Infinity.Pour plus d'informations sur les types de données par base de données qui prennent en charge des valeurs spéciales, reportez-vous à la section Special Values Supported by Database Data Types.
Types de données LUW Db2 non pris en charge
Les types de données LUW Db2 non pris en charge sont les suivants :
-
XMLType(Capturer) -
types définis par l'utilisateur
-
Dates négatives
Objets et opérations pris en charge pour Db2 LUW
Les objets et les opérations pris en charge pour Db2 LUW sont les suivants :
-
Oracle GoldenGate Extract prend en charge la capture inter-endian dans laquelle la base de données et Oracle GoldenGate sont exécutés sur des serveurs de commande d'octets différents. L'ordre des octets est détecté automatiquement pour Db2 LUW version 10.5 ou supérieure. Si la détection automatique de la base de données Db2 sur la base de données Db2 LUW 10.5 n'est pas requise, vous pouvez la remplacer en indiquant le paramètre
TRANLOGOPTIONS MIXEDENDIAN [ON|OFF]. Pour Db2 LUW version 10.1, ce paramètre doit être utilisé dans le fichier de paramètres d'extraction pour la capture inter-endienne. Pour plus d'informations, reportez-vous à TRANLOGOPTIONS. -
L'environnement Db2 pureScale est pris en charge.
-
Oracle GoldenGate prend en charge le nombre maximal de colonnes et la taille de colonne par table pris en charge par la base de données.
-
TRUNCATE TABLE. -
Tables multidimensionnelles en cluster (MDC).
-
Tables de requête matérialisées. Oracle GoldenGate ne réplique pas le MQT lui-même, mais uniquement les tables de base. La base de données cible gère automatiquement le contenu du MQT en fonction des modifications appliquées aux tables de base par le processus Replicat.
-
Tables avec
ROW COMPRESSION. Dans Db2 LUW version 10.1 et ultérieure,COMPRESS YES STATICest pris en charge etCOMPRESS YES ADAPTIVEest pris en charge. -
La fonction de taille de ligne étendue est activée par défaut. Il est pris en charge avec une solution de contournement à l'aide de
FETCHCOLS. Pour toutes les valeurs de colonne de typeVARCHARouVARGRAPHICqui sont stockées hors ligne dans la base de données, vous devez extraire ces lignes étendues en indiquant ces colonnes à l'aide de l'optionFETCHCOLSdans le paramètreTABLEdu fichier de paramètres d'extraction. Lorsque cette option est définie, lorsque les valeurs de colonne sont hors ligne, Oracle GoldenGate extrait sa valeur. Si la valeur est hors de et queFETCHCOLSn'est pas indiqué, l'extraction abandonne pour éviter toute perte de données. Si vous ne voulez pas utiliser cette fonctionnalité, définissez le paramètreextended_row_sizesurDISABLE.Par défaut, la fonction de taille de ligne étendue est activée. Il est pris en charge avec une solution de contournement à l'aide de
FETCHCOLSpour Db2 LUW 10.1. Pour toutes les valeurs de colonne de typeVARCHARouVARGRAPHICqui sont stockées hors ligne dans la base de données, vous devez extraire ces lignes étendues en indiquant ces colonnes à l'aide de l'optionFETCHCOLSdans le paramètreTABLEdu fichier de paramètres d'extraction. Lorsque cette option est définie, lorsque les valeurs de colonne sont hors ligne, Oracle GoldenGate extrait sa valeur. Si la valeur est hors de et queFETCHCOLSn'est pas indiqué, l'extraction est abandonnée pour éviter toute perte de données. Si vous ne voulez pas utiliser cette fonctionnalité, définissezextended_row_size parametersurDISABLE. Pour Db2 LUW 10.5 et versions ultérieures, les valeurs hors ligne sont capturées de manière transparente par le processus Extract.FETCHCOLSn'est plus nécessaire pour capturer les colonnes hors ligne à partir de ces versions de base de données. -
Les tables temporelles avec Db2 LUW 10.1 FixPack 2 et versions ultérieures sont prises en charge. Il s'agit de la valeur par défaut pour Replicat.
-
La réplication entre les tables temporelles de période système et les tables temporelles de période 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 temporelles avec le paramètre
INSERTALLRECORDSn'est pas prise en charge. -
La réplication bidirectionnelle est prise en charge uniquement avec la réplication par défaut.
-
Le CDR dans la réplication bidirectionnelle n'est pas pris en charge.
-
Le CDR dans les tables temporelles de période d'application est pris en charge.
-
-
Les options prises en charge avec la commande
SEND EXTRACT SHOWTRANS\SKIPTRANS\FORCETRANSsont les suivantes :Options prises en charge avec la commande
SHOWTRANSSHOWTRANS [transaction_ID] [COUNT n] [DURATION duration unit] [TABULAR][FILE file_name] |Options avec
SKIPTRANSetFORCETRANS.SKIPTRANS transaction_ID [FORCE] FORCETRANS transaction_ID [FORCE] -
Les limites de la prise en charge de la table de signal d'activité automatique sont les suivantes :
-
[THREAD n][DETAIL]n'est pas pris en charge. -
La fréquence et la fréquence de purge des paramètres de signal d'activité Oracle GoldenGate sont acceptées en secondes et en jours. Toutefois, le planificateur de tâches LUW Db2 accepte sa programmation uniquement au format cron, de sorte que la valeur d'entrée Oracle GoldenGate au format cron peut entraîner une perte de précision. Exemple :
-
ADD HEARTBEATTABLE, FREQUENCY 150, PURGE_FREQUENCY 20
This example sets the `FREQUENCY` to 150 seconds, which is converted to the closest minute value of 2 minutes, so the heartbeat table is updated every 120 seconds instead of every 150 seconds. Setting `PURGE_FREQUENCY` to 20 means that the history table is purged at midnight on every 20th day.
-
Les étapes suivantes sont nécessaires à l'exécution des tâches programmées de signal d'activité :
-
Définissez la variable de registre
DB2_ATS_ENABLEsurdb2set DB2_ATS_ENABLE=YES. -
Créez le tablespace
SYSTOOLSPACEs'il n'existe pas déjà :
CREATE TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 4-
Assurez-vous que le propriétaire de l'instance dispose d'une autorité d'administration de base de données (DBADM) :
GRANT DBADM ON DATABASE TOinstance_owner_name
-
Objets et opérations non pris en charge pour Db2 LUW
Les objets et les opérations pour Db2 LUW qui ne sont pas pris en charge par Oracle GoldenGate sont :
-
Noms de schéma, de table ou de colonne comportant des espaces de fin
-
Plusieurs instances d'une base de données
-
Extraction ou réplication d'opérations LDD (langage de définition de données)
-
Colonnes générées (clause
GENERATE ALWAYS) -
DB2 La fonction de partitionnement des données (DPF) n'est pas prise en charge. DPF ne fournit pas un moyen de lire les enregistrements de journal de manière coordonnée sur tous les noeuds d'une partition. Ainsi, il n'y a aucun moyen de s'assurer que même si tous les nœuds sont répliqués avec des extractions distinctes, il serait possible de s'assurer que tous les enregistrements de toutes les transactions sont appliqués dans l'ordre temporel correct. Cela peut se produire en raison d'un certain nombre de facteurs, y compris la mise en cache dans la base de données et le système d'exploitation sous-jacent ne permettant pas aux extractions d'avoir une visibilité sur la présence d'entrées mises en cache et non encore visibles qui peuvent affecter l'ordre des opérations d'enregistrement dans toutes les partitions. En raison de cette incertitude, il n'est pas possible de garantir que les transactions qui couvrent plusieurs partitions ou les mises à jour de clé primaire peuvent être répliquées de manière cohérente.
Schémas système
Les schémas ou objets suivants ne sont pas répliqués automatiquement par Oracle GoldenGate, sauf s'ils sont explicitement indiqués sans caractère générique.
-
"SYSIBM" -
"SYSCAT" -
"SYSSTAT" -
"SYSPROC" -
"SYSFUN" -
"SYSIBMADMIN" -
"SYSTOOLS" -
"SYSPUBLIC"
Noms d'objet pris en charge
Pour obtenir la liste des caractères pris en charge dans les noms d'objet, reportez-vous à Noms d'objet de base de données pris en charge.