Sources

Présentation

Datastream peut extraire des modifications des données d'une base de données Oracle sur site, d'un service de base de données relationnelle Oracle (RDS) hébergé sur le cloud ou d'une base de données MySQL source.

Base de données Oracle source

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

  • Comportement de Datastream concernant la gestion des 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 d'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 de l'historique 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 opposée. 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 apparaît comme un événement DELETE avec uniquement les événements ROWID.

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

Prérequis

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 en extraire des données dans une destination, consultez la section Configurer votre base de données Oracle source.

Limites connues

Les limites connues d'utilisation de la base de données Oracle en tant que source incluent les suivantes :

  • Les tables contenant plus de 100 millions de lignes ne peuvent pas être remplies.
  • Les flux sont limités à 10 000 tables.
  • L'architecture mutualisée Oracle (CDB/PDB) n'est pas compatible.
  • Oracle Autonomous Database n'est pas compatible.
  • L'authentification SSL (Secure Sockets Layer) n'est pas compatible.
  • Les événements des tables qui n'ont pas de clé primaire ne contiendront pas les informations requises pour effectuer une mise à jour côté client.
  • La taille d'un événement est limitée à 3 Mo.
  • Les tables organisées par index (IOT) ne sont pas compatibles.
  • Les tables temporaires ne sont pas compatibles.
  • Pour les colonnes de type BFILE, seul le chemin d'accès au fichier est répliqué. Le contenu du fichier ne sera pas répliqué.
  • Les colonnes des types de données ANYDATA, BLOB, CLOB, LONG/LONG RAW, NCLOB, UDT, UROWID et XMLTYPE ne sont pas acceptées et seront seront remplacées par des valeurs NULL.
  • Pour Oracle 11g, les tables contenant des colonnes de types de données ANYDATA ou UDT 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 lors du traitement des événements. Si un schéma change, certains événements du nouveau schéma peuvent être lus tandis 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 ne permet pas la réplication des vues.
  • Datastream est compatible avec les vues matérialisées. Cependant, les nouvelles vues créées pendant l'exécution du flux ne sont pas remplies automatiquement.

Base de données MySQL source

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

  • Comportement de Datastream pour gérer les données extraites d'une base de données MySQL source
  • Versions de la base de données MySQL compatibles avec Datastream
  • Présentation de la configuration d'une base de données MySQL source afin que les données puissent être diffusées en streaming vers une destination
  • Limites connues d'utilisation de la base de données MySQL en tant que source

Comportement

La base de données MySQL source s'appuie sur sa fonctionnalité de journal binaire pour exposer les modifications aux données.

  • Vous pouvez sélectionner toutes les bases de données ou certaines bases de données d'une source MySQL donnée, ainsi que toutes les tables des bases de données ou de tables spécifiques.
  • Toutes les données de l'historique 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.
  • Seules les modifications validées sont répliquées.

Versions

Datastream est compatible avec les versions suivantes de la base de données MySQL :

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

Datastream est compatible avec les types de base de données MySQL suivants :

  • MySQL auto-hébergé
  • Cloud SQL pour MySQL
  • Amazon RDS pour MySQL
  • Amazon Aurora MySQL
  • MariaDB

Limites connues

Les limites connues d'utilisation de la base de données MySQL en tant que source incluent les suivantes :

  • Les flux sont limités à 10 000 tables.
  • La taille d'un événement est limitée à 3 Mo.
  • Les tables contenant plus de 100 millions de lignes et qui ne possèdent pas de clé primaire numérique ne peuvent pas être remplies.
  • Les tables dont la clé primaire est définie sur INVISIBLE ne peuvent pas être remplies.
  • Datastream récupère périodiquement le dernier schéma de la source lors du traitement des événements. 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 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 ne permet pas la réplication des vues.
  • Datastream n'est pas compatible avec les colonnes du type de données Polygon. Les valeurs de ces colonnes seront remplacées par des valeurs NULL.
  • Datastream n'accepte pas la valeur zéro (0000-00-00 00:00:00) dans les colonnes des types de données DATETIME, DATE ou TIMESTAMP. La valeur nulle sera remplacée par la valeur NULL.