Limitations du connecteur CDC intégré Oracle
Bêta
Cette fonctionnalité est en version Bêta. Les administrateurs de workspace peuvent contrôler l'accès à cette fonctionnalité depuis la page Aperçus . Consultez Gérer les aperçus Databricks.
Cette page répertorie les limitations et les considérations relatives à l'ingestion Oracle à l'aide de Databricks Lakeflow Connect.
Limitations générales des connecteurs de base de données
Les limitations de cette section s'appliquent à tous les connecteurs de base de données dans Lakeflow Connect. Continuez votre lecture pour connaître les limitations spécifiques au connecteur.
-
Lorsque vous exécutez un pipeline planifié, les alertes ne Trigger pas immédiatement. Au lieu de cela, elles Trigger lors de l'exécution de la mise à jour suivante.
-
Lorsqu'une table source est supprimée, la table de destination n'est pas automatiquement supprimée. Vous devez supprimer manuellement la table de destination. Ce comportement n'est pas cohérent avec le comportement de Spark Declarative Pipelines sur Lakeflow.
-
Le catalogue de préproduction ne peut pas être un catalogue étranger.
-
Pendant les périodes de maintenance de la source, Databricks pourrait ne pas être en mesure d'accéder à vos données.
-
Si un nom de table source est en conflit avec un nom de table de destination existant, la mise à jour du pipeline échoue.
-
La prise en charge des pipelines multi-destinations est disponible uniquement via l’API.
-
Vous pouvez éventuellement renommer une table que vous ingérez. Si vous renommez une table dans votre pipeline, celui-ci devient un pipeline accessible uniquement par API et vous ne pouvez plus le modifier dans l'interface utilisateur.
-
Si vous sélectionnez une colonne après qu’un pipeline a déjà start, le connecteur ne remplit pas automatiquement les données pour la nouvelle colonne. Pour ingérer des données historiques, exécutez manuellement un refresh complet sur la table.
-
Databricks ne peut pas ingérer deux tables ou plus portant le même nom dans le même pipeline, même si elles proviennent de schémas sources différents.
-
Le système source suppose que les colonnes de curseur augmentent de façon monotone.
-
Les instantanés de la passerelle ne peuvent pas être repris. Si vous mettez à jour le pipeline pendant qu’un instantané est en cours (par exemple, en ajoutant de nouvelles tables), l’instantané actuel est annulé et un nouvel instantané start. [[ ## completed ##]] Le nouvel instantané inclut l’union des tables de l’instantané annulé et de toutes les tables nouvellement ajoutées.
-
Le connecteur ingère des données brutes sans transformations. Utilisez des Spark Declarative Pipelines en aval sur les LakeFlow Pipelines pour les Transformations.
Authentification
- Le connecteur prend uniquement en charge l'authentification de base (nom d'utilisateur et mot de passe).
Variantes de base de données
- Le connecteur prend en charge les versions d'Oracle 12c et supérieures (12c, 18c, 19c, 21c, 23ai et 26ai).
- Le connecteur prend en charge Amazon RDS pour Oracle et Oracle s’exécutant sur des machines virtuelles (VM) Amazon EC2 ou Azure, ou sur Oracle Cloud (OCI). Le connecteur prend également en charge Oracle on-premise via Azure ExpressRoute, AWS Direct Connect ou un VPN. Pour plus de détails sur la connectivité inter-cloud, consultez Connectivité réseau.
- Oracle Real Application Clusters (RAC) n’est pas pris en charge, y compris Exadata dans une configuration RAC. Connectez-vous à une base de données Oracle à instance unique.
- Les déploiements Oracle suivants ne sont pas non plus pris en charge : physical standby, Oracle Autonomous Database et les instances Amazon RDS for Oracle multi-tenant.
- Les données chiffrées par Transparent Data Encryption (TDE) ne sont prises en charge que lorsque le portefeuille de chiffrement (keystore) est ouvert. Avec un portefeuille fermé, LogMiner signale
Unsupported Typepour les colonnes chiffrées.
Données sources
- Types de données non pris en charge :
XML(XMLTYPE),JSON,BFILE,VECTOR,BOOLEANet types de données spatiales. BLOB,CLOBetNCLOBvaleurs sont partiellement prises en charge. LogMiner fournit la plupart des valeurs en ligne avec l’instruction SQL dans le journal des changements, et le connecteur les lit directement à partir du changement. Les valeurs d’objets volumineux (LOB) qui sont écrites hors ligne, et que LogMiner n’inclut donc pas dans l’enregistrement de redo, ne sont pas capturées. Voir Colonnes d’objets volumineux (LOB).- LogMiner ignore toute table contenant
BFILE, des tables imbriquées, des collectionsVARRAY, des colonnes d'identité, des colonnes de validité temporelle, des colonnesPKREFou des colonnesPKOID. Consultez les limitations de LogMiner. - LogMiner exige que les noms de table ou de colonne ne dépassent pas 30 caractères.
- Oracle stocke les identifiants sans guillemets en majuscules. Les noms
source_catalog(nom du service),source_schemaetsource_tablesont sensibles à la casse et doivent correspondre à la façon dont Oracle les stocke.
évolution des schémas
Le connecteur gère automatiquement les changements de schéma suivants :
- Nouvelles colonnes. Lorsqu’une nouvelle colonne apparaît dans la source, Databricks l’ingère lors de la prochaine exécution du pipeline.
- Colonnes supprimées. Lorsqu'une colonne est supprimée de la source, le connecteur la marque
inactivedans la destination au lieu de la supprimer. Si une autre colonne apparaît ultérieurement avec un nom en conflit avec la colonneinactive, le pipeline échoue. Dans ce cas, exécutez un refresh complet de la table ou supprimez manuellement la colonne inactive. - Élargissement du type de données (par exemple,
NUMBER(10)versNUMBER(20), ouVARCHAR2(50)versVARCHAR2(100)). - Nouvelles tables, si vous ingérez le schéma entier.
Les changements de schéma suivants ne sont pas gérés automatiquement et nécessitent un refresh complet des tables concernées :
- Renommages de colonnes. Un renommage est appliqué comme une suppression et un ajout de colonne ; les valeurs historiques ne sont donc pas conservées sous le nouveau nom.
- Renommages de tables.
- Modifications de type de données non élargissantes (rétrécissantes).
- Ajout d’une contrainte
NOT NULLà une colonne existante.
Pour récupérer de ces changements sans intervention manuelle, activez le refresh complet automatique, qui effectue automatiquement un refresh complet des tables affectées. Voir Politique de refresh complet automatique.
pipeline
- Le connecteur CDC intégré Oracle utilise un pipeline CDC intégré qui combine l'extraction et l'application en un seul pipeline. Voir Créer un pipeline CDC intégré pour Oracle.
- Si Oracle purge les Logs d'archive avant que le pipeline ne puisse les traiter, effectuez un refresh complet des tables concernées.
Mise en staging
- Le catalogue de préproduction ne peut pas être un catalogue étranger.
Tables
- Le nombre maximal de tables par pipeline est identique à la limite pour les Spark Declarative Pipelines.