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.
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.
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.
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.
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.
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.
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 |