Partager via


Configurer la base de données Oracle dans une activité de copie

Cet article explique comment utiliser l’activité de copie dans un pipeline de données pour copier des données depuis et vers la base de données Oracle.

Configuration prise en charge

Pour la configuration de chaque onglet sous l’activité de copie, accédez respectivement aux sections suivantes.

Général

Reportez-vous aux instructions relatives aux paramètres Général pour configurer l’onglet Paramètres Général .

Source

Les propriétés suivantes sont prises en charge pour la base de données Oracle sous l’onglet Source d’une activité de copie.

Capture d'écran montrant l’onglet source et la liste des propriétés.

Les propriétés suivantes sont requises :

  • Connexion : sélectionnez une connexion de base de données Oracle dans la liste des connexions. Si aucune connexion n’existe, créez une connexion de base de données Oracle en sélectionnant Plus au bas de la liste des connexions.
  • Utiliser la requête : sélectionnez Table ou Requête.
    • Si vous sélectionnez Table :

      • Table : spécifiez le nom de la table dans la base de données Oracle pour lire les données. Sélectionnez la table dans la liste déroulante ou sélectionnez Saisir manuellement pour spécifier le nom du schéma et de la table.

        Capture d’écran montrant : Utiliser la requête - Table.

    • Si vous sélectionnez Requête :

      • Requête : spécifie la requête SQL personnalisée pour lire les données. Par exemple : SELECT * FROM MyTable.

        Lorsque vous activez la charge partitionnée, vous devez utiliser les paramètres de partition intégrés correspondants dans votre requête. Pour consulter des exemples, consultez la section Copie en parallèle à partir de la base de données Oracle.

        Capture d’écran montrant, Utilisation de la requête – Requête.

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Option de partition : spécifiez les options de partitionnement des données utilisées pour charger des données à partir de la base de données Oracle. Lorsqu’une option de partition est activée (autrement dit, pas Aucun), le degré de parallélisme pour charger simultanément les données à partir d’une base de données Oracle est contrôlé par le Degré de parallélisme de copie sous l’onglet des paramètres de l’activité de copie.

    Si vous sélectionnez Aucun, vous choisissez de ne pas utiliser la partition.

    Si vous sélectionnez Partitions physiques de la table :

    • Noms de partition : Spécifiez la liste des partitions physiques qui doivent être copiées.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfTabularPartitionName dans la clause WHERE. Pour consulter un exemple, consultez la section Copie en parallèle à partir de la base de données Oracle.

      Capture d’écran montrant la configuration lorsque vous sélectionnez Partitions physiques de la table.

    Si vous sélectionnez Plage dynamique :

    • Nom de la colonne de partition : indiquez le nom de la colonne source au format entier qui sera utilisée par le partitionnement par plages de valeurs pour la copie parallèle. S’il n’est pas spécifié, la clé primaire de la table sera automatiquement détectée et utilisée en tant que colonne de partition.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionColumnName dans la clause WHERE. Pour consulter un exemple, consultez la section Copie en parallèle à partir de la base de données Oracle.

    • Limite supérieure de la partition : spécifiez la valeur maximale de la colonne de partition pour la copie des données.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionUpbound dans la clause WHERE. Pour consulter un exemple, consultez la Copie en parallèle dans la section Copie en parallèle à partir de la base de données Oracle.

    • Limite inférieure de la partition : spécifiez la valeur minimale de la colonne de partition pour la copie des données.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionLowbound dans la clause WHERE. Pour consulter un exemple, consultez la Copie en parallèle dans la section Copie en parallèle à partir de la base de données Oracle.

      Capture d’écran montrant la configuration lorsque vous sélectionnez Plage dynamique.

  • Délai d’expiration de la requête (minutes) : spécifiez le délai d’expiration pour l’exécution de la commande de requête, la valeur par défaut étant de 120 minutes. Si un paramètre est défini pour cette propriété, les valeurs autorisées sont un intervalle de temps, par exemple « 02:00:00 » (120 minutes).

  • Colonnes supplémentaires: Ajoutez des colonnes de données supplémentaires pour stocker le chemin relatif ou la valeur statique des fichiers sources. L'expression est prise en charge pour ce dernier.

Destination

Les propriétés suivantes sont prises en charge pour la base de données Oracle sous l’onglet Destination d’une activité de copie.

Capture d'écran montrant l'onglet de destination.

Les propriétés suivantes sont requises :

  • Connexion : sélectionnez une connexion de base de données Oracle dans la liste des connexions. Si la connexion n’existe pas, créez une connexion de base de données Oracle en sélectionnant Plus au bas de la liste de connexions.
  • Table : sélectionnez la table dans votre base de données dans la liste déroulante. Sinon, vous pouvez cocher Saisir manuellement pour saisir le nom du schéma et de la table.

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Script de précopie : spécifiez une requête SQL pour l’activité de copie à exécuter avant d’écrire des données dans la base de données Oracle à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées.
  • Délai d’attente du lot d’écriture : temps d’attente pour que l’opération d’insertion par lot soit terminée avant d’expirer. La valeur autorisée est timespan. Exemple : 00:30:00 (30 minutes).
  • Taille de lot d’écriture : spécifiez le nombre de lignes à insérer dans la table de la base de données Oracle par lot. La valeur autorisée est integer (nombre de lignes). La valeur par défaut est 10 000.
  • Nombre maximal de connexions simultanées : la limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées.

Mappage

Pour la configuration de l’onglet Mappage, accédez à Configurer vos mappages sous l’onglet Mappage.

Paramètres

Pour la configuration de l’onglet Paramètres, consultez Configurer vos autres paramètres sous l’onglet Paramètres.

Copie en parallèle à partir de la base de données Oracle

Le connecteur de base de données Oracle propose un partitionnement de données intégré pour copier des données à partir d’Oracle en parallèle. Vous trouverez des options de partitionnement de données dans l’onglet Source de l’activité de copie.

Lorsque vous activez la copie partitionnée, le service exécute des requêtes en parallèle sur votre source de base de données Oracle pour charger des données par partitions. Le degré de parallélisme est contrôlé par le paramètre Degré de parallélisme de copie sous l’onglet des paramètres de l’activité de copie. Par exemple, si vous définissez Degré de parallélisme de copie sur quatre, le service génère et exécute simultanément quatre requêtes en fonction de l’option et des paramètres de votre partition spécifiée, et chaque requête récupère une partie des données de votre serveur Oracle.

Il vous est recommandé d’activer la copie en parallèle avec partitionnement des données notamment lorsque vous chargez une grande quantité de données à partir de votre base de données Oracle. Voici quelques suggestions de configurations pour différents scénarios. Lors de la copie de données dans un magasin de données basé sur un fichier, il est recommandé d’écrire les données dans un dossier sous la forme de plusieurs fichiers (spécifiez uniquement le nom du dossier). Les performances seront meilleures qu’avec l’écriture de données dans un seul fichier.

Scénario Paramètres suggérés
Chargement complet à partir d’une table volumineuse, avec des partitions physiques. Option de partition : Partitions physiques de la table.

Pendant l’exécution, le service détecte automatiquement les partitions physiques et copie les données par partition.
Chargement complet d’une table volumineuse, sans partitions physiques, avec une colonne entière pour le partitionnement des données. Options de partition : Partition dynamique par spécification de plages de valeurs.
Colonne de partition : Spécifiez la colonne utilisée pour partitionner les données. Si la valeur n’est pas spécifiée, la colonne de la clé primaire est utilisée.
Chargement d’une grande quantité de données à l’aide d’une requête personnalisée, avec des partitions physiques. Option de partition : partitions physiques de la table.
Requête: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause>.

Nom de la partition : Spécifiez le(s) nom(s) de partition à copier. Si ce n’est pas spécifié, le service détecte automatiquement les partitions physiques de la table que vous avez spécifiée dans les données de base de données Oracle.
Pendant l’exécution, le service remplace ?DfTabularPartitionName par le nom de la partition réel et l’envoie à la base de données Oracle.
Chargement d’une grande quantité de données à l’aide d’une requête personnalisée, sans partitions physiques, et avec une colonne entière pour le partitionnement des données. Options de partition : Partition dynamique par spécification de plages de valeurs.
Requête: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause>.
Colonne de partition : Spécifiez la colonne utilisée pour partitionner les données. Vous pouvez procéder au partitionnement par rapport à la colonne avec le type de données entier.
Limite supérieure de partition et limite inférieure de partition : Indiquez si vous souhaitez filtrer le contenu par rapport à la colonne de partition pour récupérer uniquement les données entre les plages inférieure et supérieure.

Lors de l’exécution, le service remplace ?DfRangePartitionColumnName, ?DfRangePartitionUpbound et ?DfRangePartitionLowbound par le nom réel de la colonne et les plages de valeurs de chaque partition et les envoie à la base de données Oracle.
Par exemple, si votre colonne de partition « ID » est définie sur une limite inférieure de 1 et une limite supérieure de 80, avec une copie en parallèle définie sur 4, le service récupère les données via 4 partitions. Les ID sont inclus entre [1,20], [21, 40], [41, 60] et [61, 80], respectivement.`

Conseil

Lorsque vous copiez des données à partir d’une table non partitionnée, vous pouvez utiliser l’option de partition « Plage dynamique » afin de partitionner par rapport à une colonne d’entiers. Si vos données sources n’incluent pas un tel type de colonne, vous pouvez tirer parti de la fonction ORA_HASH dans une requête source pour générer une colonne et l’utiliser comme colonne de partition.

Résumé du tableau

Les tableaux suivants contiennent plus d’informations sur l’activité Copy dans la base de données Oracle.

Informations sur la source

Nom Description Valeur Obligatoire Propriété de script JSON
Connection Votre connexion au magasin de données source. <votre connexion de base de données Oracle> Oui connection
Utiliser la requête La façon de lire des données à partir la base de données Oracle. Appliquez Table pour lire des données à partir de la table spécifiée ou appliquez Requête pour lire des données à l’aide de requêtes SQL. Table
Requête
Oui /
Pour les Tables
nom de schéma Nom du schéma. < nom de votre schéma > Non schéma
nom de la table Nom de la table. < nom de votre table > Non table
Pour Requête
Requête Utiliser la requête SQL personnalisée pour lire les données. par exemple SELECT * FROM MyTable.
Lorsque vous activez la charge partitionnée, vous devez utiliser les paramètres de partition intégrés correspondants dans votre requête. Pour consulter des exemples, consultez la section Copie en parallèle à partir de la base de données Oracle.
< requêtes SQL > Non oracleReaderQuery
Option de partition Options de partitionnement des données utilisées pour charger des données à partir de la base de données Oracle. • Aucun (valeur par défaut)
• Partitions physiques de la table
• Plage dynamique
Non /
Pour Partitions physiques de la table
Noms de partition La liste des partitions physiques qui doivent être copiées. Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfTabularPartitionName dans la clause WHERE. < vos noms de partition > Non partitionNames
Pour Plage dynamique
Nom de la colonne de partition Spécifiez le nom de la colonne source dans type entier qu’utilisera le partitionnement par plages de valeurs pour la copie en parallèle. S’il n’est pas spécifié, la clé primaire de la table sera automatiquement détectée et utilisée en tant que colonne de partition.
Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionColumnName dans la clause WHERE. Pour consulter un exemple, consultez la section Copie en parallèle à partir de la base de données Oracle.
< vos noms de colonne de partition > Non partitionColumnName
Limite supérieure de partition Spécifiez la valeur maximale de la colonne de partition à partir de laquelle copier des données. Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionUpbound dans la clause WHERE. Pour consulter un exemple, consultez la Copie en parallèle dans la section Copie en parallèle à partir de la base de données Oracle. < votre limite supérieure de partition > Non partitionUpperBound
Limite inférieure de partition Spécifiez la valeur minimale de la colonne de partition à partir de laquelle copier des données. Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfRangePartitionLowbound dans la clause WHERE. Pour consulter un exemple, consultez la Copie en parallèle dans la section Copie en parallèle à partir de la base de données Oracle. < votre limite inférieure de partition > Non partitionLowerBound
Délai de requête Le délai d’expiration pour l’exécution de la commande de requête ( par défaut est de 120 minutes). intervalle de temps Non queryTimeout
Colonnes supplémentaires Ajouter les colonnes de données supplémentaires pour stocker le chemin d’accès relatif ou la valeur statique des fichiers sources. L’expression est prise en charge pour ce dernier. • Nom
• Valeur
Non additionalColumns :
• nom
• valeur

Informations de destination

Nom Description Valeur Obligatoire Propriété de script JSON
Connection Votre connexion au magasin de données de destination. <votre connexion de base de données Oracle> Oui connection
Enregistrement Votre table de données de destination. <nom de votre table de destination> Oui /
nom de schéma Nom du schéma. < nom de votre schéma > Oui schéma
nom de la table Nom de la table. < nom de votre table > Oui table
Script de pré-copie Une requête SQL pour l’activité de copie à exécuter avant l’écriture de données dans la base de données Oracle à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées. < votre script de pré-copie> Non preCopyScript
Délai d’expiration du lot d’écriture Temps d’attente avant expiration de l’opération d’insertion de lot. intervalle de temps Non writeBatchTimeout
Taille de lot d’écriture Nombre de lignes à insérer dans la table SQL par lot. entier
(la valeur par défaut est 10 000)
Non writeBatchSize
Connexions simultanées maximales La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. <connexions simultanées maximales> Non maxConcurrentConnections