Cette section contient des informations sur les éléments suivants :
- Comportement de Datastream gérant 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 concernant l'utilisation d'une base de données Oracle en tant que source
Comportement
La base de données Oracle source s'appuie sur sa fonctionnalité Oracle Logminer pour exposer les modifications apportées aux données.
- 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 apportées au langage de manipulation de données (LMD), telles que les insertions, les mises à jour et les suppressions des bases de données et 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 opposée. Par exemple, en cas de rollback d'une opération
INSERT
, les enregistrements de sortie contiendront également l'opérationDELETE
correspondante. Dans ce cas, l'événement apparaîtra en tant qu'événementDELETE
avec uniquement l'événementROWID
.
Remplissage basé sur ROWID
Dans Oracle, ROWID
est une pseudo-colonne qui stocke des identifiants uniques pour les lignes d'une table. Datastream utilise les valeurs ROWID
pour ses opérations de remplissage. C'est pourquoi nous vous recommandons de n'effectuer aucune action susceptible 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.
Voici les actions qui peuvent modifier les valeurs ROWID
:
Déplacement physique des lignes:
- Opérations d'exportation et d'importation: lorsque vous exportez une table, puis que vous la réimportez, l'emplacement physique des lignes peut changer, ce qui génère de nouvelles valeurs
ROWID
. - Commande
ALTER TABLE (...) MOVE
: déplacer une table vers un autre espace de table peut modifier le stockage physique et entraîner des modifications deROWID
. - Commande
ALTER TABLE (...) SHRINK SPACE
: cette commande compresse la table, 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 la réimportez, l'emplacement physique des lignes peut changer, ce qui génère de nouvelles valeurs
Opérations de flashback:
- Commande
FLASHBACK TABLE
: restaurer l'é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
. Effectuer le rollback d'une transaction peut entraîner des modifications deROWID
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
- 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 sur n'importe quel fournisseur de services cloud
- Amazon RDS pour Oracle
- Oracle Cloud
- Oracle Exadata
- Oracle RAC
Préparation
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, définir une règle de conservation, etc.
Pour savoir comment configurer cette base de données afin que Datastream puisse extraire ses données vers une destination, consultez 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 :
- Une table de plus de 500 millions de lignes ne peut être remplie que si les conditions suivantes sont remplies :
- La table possède un index unique.
- Cet index doit également être B-tree, qui est l'index par défaut. L'index peut être composite.
- L'index ne peut pas être inversé.
- L'index ne peut pas contenir de colonne basée sur une fonction.
- Aucune des colonnes de l'index ne peut avoir une valeur nulle.
- L'index n'inclut pas de colonne de type
DATE
contenant des dates négatives en tant que valeurs. - Toutes les colonnes de l'index sont incluses dans le flux.
- Les flux sont limités à 10 000 tables.
- Datastream est compatible avec l'architecture mutualisée Oracle (CDB/PDB). Toutefois, 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 qui n'ont pas de clé primaire, Datastream utilise le
ROWID
de la ligne pour effectuer une opération de fusion côté consommateur. Notez que leROWID
peut ne pas être unique. Si vous supprimez et réinsérez une ligne à l'aide de l'utilitaire d'exportation/d'importation d'Oracle, par exemple, il se peut que sonROWID
soit modifié. Si vous supprimez une ligne, Oracle peut réattribuer sonROWID
à une nouvelle ligne insérée ultérieurement. - Les tables organisées en index ne sont pas acceptées.
- Les tableaux temporaires ne sont pas acceptés.
- Pour les colonnes de type
BFILE
, seul le chemin d'accès au fichier est répliqué. Le contenu du fichier n'est pas répliqué. - Les colonnes des types de données
ANYDATA
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
etXMLTYPE
ne sont pas acceptées. Elles sont remplacées par des valeursNULL
. - Pour diffuser des colonnes contenant des types de données d'objets volumineux, tels que les grands objets binaires (
BLOB
), les grands objets à caractères (CLOB
) et les grands objets en caractères nationaux (NCLOB
), vous devez inclure l'indicateurstreamLargeObjects
dans la configuration du flux. Si vous n'incluez pas cet indicateur, Datastream ne diffuse pas ces colonnes et elles sont remplacées par les valeursNULL
dans la destination. Pour en savoir plus, consultez la section Activer le streaming d'objets volumineux pour les sources Oracle. - Pour Oracle 11g, les tables comportant des colonnes de types de données
ANYDATA
ouUDT
ne sont pas compatibles, et la table entière ne sera pas répliquée. - Oracle Label Security (OLS) n'est pas répliqué.
- Datastream récupère périodiquement le dernier schéma de la source à mesure que les événements sont traités. Si un schéma est modifié, certains événements du nouveau schéma peuvent être lus pendant que l'ancien schéma est toujours appliqué. Dans ce cas, Datastream détecte la modification du schéma, déclenche une récupération de schéma et traite à nouveau 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 de vues.
- Datastream est compatible avec les vues matérialisées. Toutefois, les vues créées pendant l'exécution du flux ne sont pas remplies automatiquement.
- Les instructions
SAVEPOINT
ne sont pas acceptées et peuvent entraîner des écarts de données en cas d'annulation. - Datastream est compatible avec les encodages de jeux 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 de 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 une expiration du délai de Datastream, ce qui peut entraîner un échec du flux. La taille recommandée pour un 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, nom d'accès client unique) dans les environnements Oracle Real Application Clusters (RAC). Pour en savoir plus sur les solutions potentielles, consultez la page Comportement et limites des sources Oracle.