Présentation des transferts de données Oracle

Vous pouvez charger des données depuis votre base de données Oracle vers BigQuery à l'aide du service de transfert de données BigQuery pour le connecteur Oracle. Ce document fournit des options de configuration pour votre transfert Oracle, ainsi que des informations sur le mappage des types de données et le transfert des métadonnées.

Pour savoir comment planifier un transfert Oracle, consultez Charger des données Oracle dans BigQuery.

Options d'ingestion de données

Les sections suivantes fournissent plus d'informations sur les options d'ingestion de données lorsque vous configurez un transfert de données Oracle.

Configuration TLS

Le connecteur Oracle est compatible avec la configuration de la sécurité au niveau du transport (TLS) pour chiffrer vos transferts de données vers BigQuery. Le connecteur Oracle est compatible avec les configurations TLS suivantes :

  • Mode Chiffrer les données et valider l'autorité de certification et le nom d'hôte. Dans ce mode, le serveur est entièrement validé à l'aide du protocole TLS sur TCPS. Il chiffre toutes les données en transit et vérifie que le certificat du serveur de base de données est signé par une autorité de certification (CA) de confiance. Ce mode vérifie également que le nom d'hôte auquel vous vous connectez correspond exactement au nom commun (CN) ou à un autre nom de l'objet (SAN) du certificat du serveur. Ce mode empêche les pirates informatiques d'utiliser un certificat valide pour un autre domaine afin d'usurper l'identité de votre serveur de base de données.

    Si votre nom d'hôte ne correspond pas au CN ou au SAN du certificat, la connexion échoue. Vous devez configurer une résolution DNS correspondant au certificat ou utiliser un autre mode de sécurité. Utilisez ce mode pour bénéficier de l'option la plus sécurisée et éviter les attaques de type "person in the middle" (PITM).

  • Le mode Chiffrer les données et valider uniquement l'autorité de certification. Ce mode chiffre toutes les données à l'aide de TLS sur le protocole TCPS et vérifie que le certificat du serveur est signé par une autorité de certification à laquelle le client fait confiance. Toutefois, ce mode ne valide pas le nom d'hôte du serveur. Ce mode permet d'établir une connexion tant que le certificat est valide et émis par une autorité de certification de confiance, que le nom d'hôte du certificat corresponde ou non à celui auquel vous vous connectez.

    Utilisez ce mode si vous souhaitez vous assurer de vous connecter à un serveur dont le certificat est signé par une autorité de certification de confiance, mais dont le nom d'hôte n'est pas vérifiable ou dont vous ne contrôlez pas la configuration.

  • Le mode Chiffrement uniquement. Dans ce mode, toutes les données transférées entre le client et le serveur sont chiffrées à l'aide du chiffrement de réseau natif d'Oracle sur le port TCP standard. Il n'effectue aucune validation de certificat ni de nom d'hôte.

    Ce mode offre un certain niveau de sécurité en protégeant les données en transit, mais il peut être vulnérable aux attaques PITM.

    Utilisez ce mode si vous devez vous assurer que toutes les données sont chiffrées, mais que vous ne pouvez pas ou ne souhaitez pas vérifier l'identité du serveur. Nous vous recommandons d'utiliser ce mode lorsque vous travaillez avec des VPC privés.

  • Mode Aucun chiffrement ni aucune validation Ce mode ne chiffre aucune donnée et n'effectue aucune validation de certificat ni de nom d'hôte. Toutes les données sont envoyées en texte brut.

    Nous vous déconseillons d'utiliser ce mode dans un environnement où des données sensibles sont traitées. Nous vous recommandons d'utiliser ce mode uniquement à des fins de test sur un réseau isolé où la sécurité n'est pas un problème.

Certificat de serveur approuvé (PEM)

Si vous utilisez le mode Chiffrer les données et valider l'autorité de certification et le nom d'hôte ou le mode Chiffrer les données et valider l'autorité de certification, vous pouvez également fournir un ou plusieurs certificats encodés au format PEM. Ces certificats sont requis dans certains cas où le service de transfert de données BigQuery doit vérifier l'identité de votre serveur de base de données lors de la connexion TLS :

  • Si vous utilisez un certificat signé par une autorité de certification privée au sein de votre organisation ou un certificat autosigné, vous devez fournir la chaîne de certificats complète ou le certificat autosigné unique. Cela est nécessaire pour les certificats émis par les autorités de certification internes des services de fournisseur de cloud gérés, tels qu'Amazon Relational Database Service (RDS).
  • Si le certificat de votre serveur de base de données est signé par une autorité de certification publique (par exemple, Let's Encrypt, DigiCert ou GlobalSign), vous n'avez pas besoin de fournir de certificat. Les certificats racine de ces autorités de certification publiques sont préinstallés et approuvés par le service de transfert de données BigQuery.

Vous pouvez spécifier des certificats encodés au format PEM dans le champ Certificat PEM approuvé de la configuration du transfert, en respectant les exigences suivantes :

  • Le certificat doit être une chaîne de certificats valide encodée au format PEM.
  • Le certificat doit être entièrement correct. Toute absence de certificat dans la chaîne ou tout contenu incorrect entraîne l'échec de la connexion TLS.
  • Pour un seul certificat, vous pouvez fournir un seul certificat autosigné à partir du serveur de base de données.
  • Pour une chaîne de certificats complète émise par une AC privée, vous devez fournir la chaîne de confiance complète. Cela inclut le certificat du serveur de base de données, ainsi que tous les certificats CA intermédiaires et racines.

Transferts complets ou incrémentiels

Vous pouvez spécifier la façon dont les données sont chargées dans BigQuery en sélectionnant la préférence d'écriture Complète ou Incrémentielle dans la configuration du transfert lorsque vous configurez un transfert Oracle. Les transferts incrémentiels sont disponibles en version preview.

Vous pouvez configurer un transfert de données complet pour transférer toutes les données de vos ensembles de données Oracle à chaque transfert de données.

Vous pouvez également configurer un transfert de données incrémentiel (aperçu) pour ne transférer que les données modifiées depuis le dernier transfert de données, au lieu de charger l'intégralité de l'ensemble de données à chaque transfert. Si vous sélectionnez Incrémentiel pour votre transfert de données, vous devez spécifier les modes d'écriture Ajouter ou Upsert pour définir la façon dont les données sont écrites dans BigQuery lors d'un transfert de données incrémentiel. Les sections suivantes décrivent les modes d'écriture disponibles.

Mode d'écriture "Ajouter"

Le mode d'écriture "Ajouter" n'insère que de nouvelles lignes dans votre table de destination. Cette option ajoute strictement les données transférées sans vérifier s'il existe des enregistrements, ce qui peut entraîner une duplication des données dans la table de destination.

Lorsque vous sélectionnez le mode "Ajouter", vous devez sélectionner une colonne de filigrane. Une colonne de filigrane est requise pour que le connecteur Oracle puisse suivre les modifications apportées à la table source.

Pour les transferts Oracle, nous vous recommandons de sélectionner une colonne qui n'est mise à jour que lorsque l'enregistrement a été créé et qui ne changera pas lors des mises à jour ultérieures. Par exemple, la colonne CREATED_AT.

Mode d'écriture "Upsert"

Le mode d'écriture "upsert" met à jour une ligne ou en insère une nouvelle dans votre table de destination en recherchant une clé primaire. Vous pouvez spécifier une clé primaire pour permettre au connecteur Oracle de déterminer les modifications nécessaires pour que votre table de destination reste à jour par rapport à votre table source. Si la clé primaire spécifiée est présente dans la table BigQuery de destination lors d'un transfert de données, le connecteur Oracle met à jour cette ligne avec les nouvelles données de la table source. Si aucune clé primaire n'est présente lors d'un transfert de données, le connecteur Oracle insère une nouvelle ligne.

Lorsque vous sélectionnez le mode "Upsert", vous devez sélectionner une colonne de filigrane et une clé primaire :

  • Une colonne de filigrane est requise pour que le connecteur Oracle puisse suivre les modifications apportées à la table source.
    • Sélectionnez une colonne de filigrane qui est mise à jour chaque fois qu'une ligne est modifiée. Nous vous recommandons d'utiliser des colonnes semblables à celles de UPDATED_AT ou LAST_MODIFIED.
  • La clé primaire peut être une ou plusieurs colonnes de votre tableau. Elle est nécessaire pour que le connecteur Oracle puisse déterminer s'il doit insérer ou mettre à jour une ligne.

    Sélectionnez les colonnes contenant des valeurs non nulles uniques pour toutes les lignes du tableau. Nous vous recommandons d'utiliser des colonnes qui incluent des identifiants générés par le système, des codes de référence uniques (par exemple, des ID à incrémentation automatique) ou des ID de séquence immuables basés sur le temps.

    Pour éviter toute perte ou corruption de données, les colonnes de clé primaire que vous sélectionnez doivent contenir des valeurs uniques. Si vous avez des doutes sur l'unicité de la colonne de clé primaire choisie, nous vous recommandons d'utiliser plutôt le mode d'écriture "Ajouter".

Comportement d'ingestion incrémentielle

Lorsque vous modifiez le schéma de table dans votre source de données, les transferts de données incrémentiels à partir de ces tables sont reflétés dans BigQuery de la manière suivante :

Modifications apportées à la source de données Comportement d'ingestion incrémentielle
Ajouter une colonne Une colonne est ajoutée à la table BigQuery de destination. Les enregistrements précédents pour cette colonne auront des valeurs nulles.
Supprimer une colonne La colonne supprimée reste dans la table BigQuery de destination. Les nouvelles entrées de cette colonne supprimée sont remplies avec des valeurs nulles.
Modifier le type de données d'une colonne Le connecteur n'accepte que les conversions de types de données compatibles avec l'instruction LDD ALTER COLUMN. Toute autre conversion de type de données entraînera l'échec du transfert de données.

Si vous rencontrez des problèmes, nous vous recommandons de créer une configuration de transfert.

Renommer une colonne La colonne d'origine reste telle quelle dans la table BigQuery de destination, tandis qu'une nouvelle colonne est ajoutée à la table de destination avec le nom modifié.

Mappage des types de données

Le tableau suivant mappe les types de données Oracle aux types de données BigQuery correspondants :

Type de donnée Oracle Type de données BigQuery
BFILE BYTES
BINARY_DOUBLE FLOAT
BINARY_FLOAT FLOAT
BLOB BYTES
CHAR STRING
CLOB STRING
DATE DATETIME
FLOAT FLOAT
INTERVAL DAY TO SECOND STRING
INTERVAL YEAR TO MONTH STRING
LONG STRING
LONG RAW BYTES
NCHAR STRING
NCLOB STRING
NUMBER (without precision and scale) STRING
NUMBER (with precision and scale lower than the BigQuery Numeric range) NUMERIC
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) BIGNUMERIC
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) STRING
NVARCHAR2 STRING
RAW BYTES
ROWID STRING
TIMESTAMP DATETIME
TIMESTAMP WITH LOCAL TIME ZONE DATETIME
TIMESTAMP WITH TIME ZONE TIMESTAMP
UROWID STRING
VARCHAR STRING
VARCHAR2 STRING

Transférer les métadonnées

Vous pouvez également utiliser le connecteur Oracle pour transférer des métadonnées vers Knowledge Catalog. Pour en savoir plus, consultez Charger des métadonnées Oracle dans Knowledge Catalog.

Tarifs

Pour en savoir plus sur les tarifs des transferts Oracle, consultez la page Tarifs du service de transfert de données.

Étapes suivantes