Cette section contient des informations sur les éléments suivants :
- Comportement de Datastream concernant les données extraites d'une base de données Oracle source
- Versions de la base de données Oracle compatibles avec Datastream
- Présentation de la configuration d'une base de données Oracle source afin que les données puissent être diffusées en streaming vers une destination
- Limites connues de l'utilisation de la base de données Oracle en tant que source
Comportement
Datastream propose deux méthodes d'extraction des modifications apportées aux données à partir des fichiers journaux de rétablissement en ligne: le lecteur de journaux binaires Oracle (Aperçu) et Oracle LogMiner.
Avec la méthode du lecteur de journaux binaires (Aperçu), le comportement suivant est observé:
En cas de retard de lecture lors de l'extraction des modifications à partir des fichiers journaux en ligne, Datastream extrait les modifications à partir des fichiers journaux archivés.
Datastream ne réplique que les modifications validées dans la destination. Les transactions non validées ou annulées ne sont pas répliquées.
Le lecteur binaire permet de répliquer des colonnes
VARCHAR2
Oracle de plus de 4 000 caractères.
Datastream est également compatible avec la fonctionnalité Oracle LogMiner pour exposer les modifications apportées aux données. La méthode présente le comportement suivant:
- Vous pouvez sélectionner tous les schémas ou des schémas spécifiques d'une base de données donnée, ainsi que toutes les tables des schémas ou des tables spécifiques.
- Toutes les données historiques sont répliquées.
- Toutes les modifications du langage de manipulation de données (LMD), telles que les insertions, les mises à jour et les suppressions des bases de données et des tables spécifiées, sont répliquées.
- Datastream réplique les modifications validées et, dans certains cas, non validées dans la destination. Datastream lit les modifications non validées. En cas de rollback, les enregistrements de sortie Datastream incluent également l'opération inverse. Par exemple, si une opération
INSERT
est annulée, les enregistrements de sortie contiennent également une opérationDELETE
correspondante. Dans ce cas, l'événement apparaîtra sous la forme d'un événementDELETE
avec uniquement leROWID
.
Remplissage basé sur ROWID
Dans Oracle, ROWID
est une pseudocolonne qui stocke les identifiants uniques des lignes d'une table. Datastream utilise les valeurs ROWID
pour ses opérations de remplissage. Par conséquent, nous vous recommandons de ne pas effectuer d'actions susceptibles de modifier les valeurs ROWID
dans votre base de données Oracle source tant que l'opération de remplissage n'est pas terminée.
Les actions pouvant modifier les valeurs ROWID
sont les suivantes:
Déplacement physique des lignes:
- Opérations d'exportation et d'importation: lorsque vous exportez une table, puis que vous l'importez à nouveau, l'emplacement physique des lignes peut changer, ce qui entraîne de nouvelles valeurs
ROWID
. - Commande
ALTER TABLE (...) MOVE
: le déplacement d'une table vers un autre espace de table peut modifier le stockage physique et entraîner des modificationsROWID
. - Commande
ALTER TABLE (...) SHRINK SPACE
: cette commande compresse le tableau, ce qui peut déplacer des lignes et affecter leurs valeursROWID
. - Opérations de partitionnement: le fractionnement, la fusion ou le déplacement de partitions peuvent modifier l'emplacement physique des lignes et leurs valeurs
ROWID
.
- Opérations d'exportation et d'importation: lorsque vous exportez une table, puis que vous l'importez à nouveau, l'emplacement physique des lignes peut changer, ce qui entraîne de nouvelles valeurs
Opérations de flashback:
- Commande
FLASHBACK TABLE
: la restauration d'un état précédent d'une table implique la suppression et la réinsertion de lignes, ce qui crée de nouvelles valeursROWID
. FLASHBACK_TRANSACTION_QUERY
: semblable àFLASHBACK TABLE
. La réinitialisation d'une transaction peut entraîner des modificationsROWID
si des lignes ont été supprimées ou mises à jour dans la transaction.
- Commande
Versions
Datastream est compatible avec les versions suivantes de la base de données Oracle :
- Oracle 11g, version 11.2.0.4 (compatible uniquement avec la méthode CDC Logminer)
- Oracle 12c, version 12.1.0.2
- Oracle 12c, version 12.2.0.1
- Oracle 18c
- Oracle 19c
- Oracle 21c
Datastream est compatible avec les types de bases de données Oracle suivants:
- Auto-hébergé sur site ou chez un fournisseur cloud
- Amazon RDS pour Oracle
- Oracle Cloud
- Oracle Exadata
- Oracle RAC
- Base de données de secours Oracle Active Data Guard
Configuration
Pour configurer une base de données Oracle source afin que ses données puissent être diffusées vers une destination, vous devez configurer la base de données pour accorder l'accès, configurer la journalisation et définir une règle de conservation.
Pour savoir comment configurer cette base de données afin que Datastream puisse en extraire des données dans une destination, consultez la section Configurer une base de données Oracle source.
Limitations connues
Les limites connues d'utilisation de la base de données Oracle en tant que source incluent les suivantes :
- Les flux sont limités à 10 000 tables. Si un flux inclut plus de 10 000 tables, des erreurs peuvent se produire.
- Datastream est compatible avec l'architecture multitenancy d'Oracle (CDB/PDB), mais vous ne pouvez répliquer qu'une seule base de données connectable dans un flux.
- Oracle Autonomous Database n'est pas compatible.
- Pour les tables sans clé primaire, Datastream utilise le
ROWID
de la ligne pour effectuer une opération de fusion côté consommateur. Notez que l'ROWID
n'est pas nécessairement unique. Si vous supprimez et réinsérez une ligne à l'aide de l'utilitaire d'exportation/d'importation d'Oracle, par exemple, la valeurROWID
de la ligne peut changer. Si vous supprimez une ligne, Oracle peut réattribuer sonROWID
à une nouvelle ligne insérée ultérieurement. - Les tables organisées en index (IOT) ne sont pas acceptées.
- Les tables temporaires ne sont pas acceptées.
- Les colonnes des types de données
ANYDATA
,BFILE
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
etXMLTYPE
ne sont pas acceptées et sont remplacées par des valeursNULL
. - Pour diffuser des colonnes de types de données d'objets volumineux, tels que des objets volumineux binaires (
BLOB
), des objets volumineux à caractères (CLOB
) et des objets volumineux à caractères nationaux (NCLOB
), vous devez inclure l'indicateurstreamLargeObjects
dans la configuration de votre flux. Si vous n'incluez pas l'indicateur, Datastream ne lit pas ces colonnes et elles sont remplacées par des valeursNULL
dans la destination. Pour en savoir plus, consultez Activer le streaming d'objets volumineux pour les sources Oracle. - Pour Oracle 11g, les tables contenant des colonnes de types de données
ANYDATA
ouUDT
ne sont pas acceptées, et l'ensemble de la table ne sera pas répliqué. - Oracle Label Security (OLS) n'est pas répliqué.
- Datastream extrait régulièrement le dernier schéma de la source à mesure que les événements sont traités. Si un schéma change, certains événements du nouveau schéma peuvent être lus alors que l'ancien schéma est toujours appliqué. Dans ce cas, Datastream détecte la modification de schéma, déclenche une récupération de schéma et réexécute les événements ayant échoué.
- Certaines modifications apportées au schéma source ne peuvent pas être détectées automatiquement, ce qui peut provoquer une corruption des données. Les modifications de schéma suivantes peuvent entraîner une corruption des données ou l'échec du traitement des événements en aval :
- Supprimer des colonnes
- Ajout de colonnes au milieu d'une table
- Changement du type de données d'une colonne
- Réorganisation des colonnes
- Suppression de tables (pertinente si la même table est ensuite recréée avec de nouvelles données ajoutées)
- Troncation de tables
- Datastream n'est pas compatible avec la réplication des vues.
- Datastream est compatible avec les vues matérialisées. Toutefois, les nouvelles vues créées pendant la diffusion ne sont pas automatiquement renseignées.
- Lorsque vous utilisez la méthode Oracle LogMiner, les instructions
SAVEPOINT
ne sont pas prises en charge et peuvent entraîner des différences de données en cas de rollback. - Datastream est compatible avec les encodages de jeu de caractères suivants pour les bases de données Oracle :
AL16UTF16
AL32UTF8
IN8ISCII
JA16SJIS
JA16SJISTILDE
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
- Datastream n'est pas compatible avec la réplication des valeurs de date nulles. Ces dates sont remplacées par des valeurs
NULL
. - La génération de fichiers journaux très volumineux peut entraîner l'expiration de Datastream, ce qui peut entraîner l'échec du flux. La taille recommandée du fichier journal de rétablissement est inférieure à 1 Go.
- Datastream n'est pas compatible avec la connectivité directe aux bases de données à l'aide de la fonctionnalité SCAN (Single Client Access Name) dans les environnements Oracle Real Application Clusters (RAC). Pour en savoir plus sur les solutions possibles, consultez la section Comportement et limites des sources Oracle.
- Si la source est une base de données de secours Oracle Active Data Guard, Datastream ne permet pas de répliquer les données chiffrées.
Autres limites lors de l'utilisation du lecteur de binaires
Le lecteur de binaires n'est pas compatible avec les fonctionnalités suivantes:
- Chiffrement transparent de base de données (TDE)
- Compression en colonnes hybrides
- Fichiers sécurisés
- La méthode CDC du lecteur binaire n'est pas compatible avec la récupération de flux.
- ASM n'est pas compatible avec les sources Amazon RDS.
- La méthode CDC du lecteur binaire n'est pas compatible avec Oracle 11g et les versions antérieures.
Étape suivante
- Découvrez comment configurer une source Oracle pour l'utiliser avec Datastream.