Base de données Oracle source

Cette section contient des informations sur les éléments suivants :

  • Comportement de la manière dont Datastream gère 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 de la 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 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, s'il existe une opération INSERT annulée, les enregistrements de sortie contiennent également une opération DELETE correspondante. Dans ce cas, l'événement s'affiche en tant qu'événement DELETE avec uniquement ROWID.

Annonces de remplissage basées sur ROWID

Dans Oracle, ROWID est une pseudo-colonne qui stocke les identifiants uniques des lignes d'une table. Datastream utilise les valeurs ROWID pour ses opérations de remplissage. C'est pourquoi 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 qui peuvent modifier les valeurs ROWID sont les suivantes:

  • Mouvement 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 de ROWID.
    • ALTER TABLE (...) SHRINK SPACE: cette commande compresse la table, ce qui peut entraîner le déplacement de lignes et affecter leurs valeurs ROWID.
    • Opérations de partitionnement: la division, la fusion ou le déplacement de partitions peut modifier l'emplacement physique des lignes et leurs valeurs ROWID.
  • Opérations de flashback:

    • FLASHBACK TABLE: restaurer une table à un état antérieur implique de supprimer et de réinsérer des lignes, créant ainsi de nouvelles valeurs ROWID.
    • FLASHBACK_TRANSACTION_QUERY: semblable à FLASHBACK TABLE. Le rollback d'une transaction peut entraîner des modifications de ROWID si des lignes ont été supprimées ou mises à jour dans la transaction.

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 base de données Oracle suivants:

  • Auto-hébergé sur site ou auprès de n'importe quel fournisseur de services cloud
  • Amazon RDS pour Oracle
  • Oracle Cloud
  • Oracle Exadata
  • Oracle RAC
  • Base de données de secours Oracle Active Data Guard

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 :

  • Les flux sont limités à 10 000 tables. Si un flux comprend plus de 10 000 tables, des erreurs peuvent se produire.
  • 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 sans clé primaire, Datastream utilise la valeur ROWID de la ligne pour effectuer une opération de fusion côté consommateur. Notez que ROWID peut ne pas être unique. Par exemple, si vous supprimez et réinsérez une ligne avec l'utilitaire d'exportation/importation d'Oracle, son ROWID peut changer. Si vous supprimez une ligne, Oracle peut réattribuer son ROWID à une nouvelle ligne insérée ultérieurement.
  • Les tables organisées par index (IOT) 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 de types de données ANYDATA, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID et XMLTYPE ne sont pas acceptées. Elles sont remplacées par les valeurs NULL.
  • Pour diffuser des colonnes contenant des types de données d'objets volumineux, tels que les objets binaires volumineux (BLOB), les objets de grande taille (CLOB) et les grands objets de type national (NCLOB), vous devez inclure l'option streamLargeObjects dans votre configuration de flux. Si vous n'incluez pas l'option, Datastream ne diffuse pas ces colonnes et celles-ci sont remplacées par des valeurs NULL dans la destination. Pour en savoir plus, consultez Activer la diffusion en continu d'objets volumineux pour les sources Oracle.
  • Pour Oracle 11g, les tables comportant des colonnes de types de données ANYDATA ou UDT ne sont pas acceptées, et la table entière ne sera pas répliquée.
  • Oracle Label Security (OLS) n'est pas répliqué.
  • Datastream récupère régulièrement 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 alors que l'ancien schéma est toujours appliqué. Dans ce cas, Datastream détecte la modification du schéma, déclenche une extraction 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 des vues.
  • Datastream est compatible avec les vues matérialisées. Toutefois, les vues créées pendant la diffusion ne sont pas remplies automatiquement.
  • Les instructions SAVEPOINT ne sont pas compatibles et peuvent entraîner des écarts de données en cas de rollback.
  • 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 ne permet pas de répliquer 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 du délai de Datastream, ce qui peut entraîner des échecs de flux. La taille recommandée pour un fichier journal de rétablissement est inférieure à 1 Go.
  • Datastream ne prend pas en charge la connectivité directe aux bases de données à l'aide de la fonctionnalité Single Client Access Name (SCAN) dans les environnements Oracle Real Application Clusters (RAC). Pour en savoir plus sur les solutions potentielles, consultez 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.