A propos de l'interrogation des catalogues et des bases de données distantes
Dans ce chapitre, vous allez apprendre à interroger des données externes à l'aide des métadonnées de catalogue à l'aide d'une syntaxe SQL du formulaire : [schema].object@catalog_name.
Ici, la syntaxe [schema].object@catalog_name fait référence à une représentation de l'accès aux objets de base de données.
Le tableau décrit les paramètres et leur description utilisés dans la syntaxe :
Tableau 16-2 Paramètres et descriptions utilisés dans la syntaxe
| Paramètres | Description |
|---|---|
| Schéma |
Ce champ est facultatif et correspond par défaut à l'utilisateur actuel. Un schéma est un espace de noms au sein d'un catalogue qui organise les objets de base de données associés tels que les tables, les vues, les procédures ou les fonctions. Il agit comme un conteneur logique pour ces objets. |
| Objet | Ce champ fait référence à tout objet de base de données contenu dans un schéma, tel que des tables, des vues, des procédures ou des fonctions. |
| Catalogue | Le champ Catalogue affiche le nom du catalogue avec la table référencée. Vous pouvez créer et gérer des catalogues à l'aide du package DBMS_CATALOG ou de l'outil Catalogue de la suite d'outils Data Studio.
|
Remarques :
Vous pouvez également remplacer les catalogues par dbLinks.
Accéder aux tables distantes
- Monter un catalogue : commencez par monter un catalogue sur n'importe quel type de magasin de données pris en charge (par exemple, Iceberg, Delta Lake, etc.). Le montage d'un catalogue standardise les métadonnées, ce qui permet l'accès SQL aux données externes comme s'il s'agissait de tables dans un schéma du catalogue. Pour plus d'informations sur le montage des catalogues, voir Gérer les catalogues. Une fois le catalogue monté et les métadonnées normalisées, vous pouvez interroger directement des données externes à l'aide de SQL. Même si les données externes n'existent pas physiquement en tant que tables traditionnelles, le catalogue les résume sous forme de tableau pour faciliter l'interrogation.
- Référencer la table : une fois montée, vous pouvez référencer la table distante en indiquant le schéma et le catalogue (le cas échéant) suivis du nom de la table à l'aide de la syntaxe suivante :
[remote_schema].table@catalog.
Ici, schema dans cet identificateur est le schéma distant qui contient la table distante. Dans ce cas, Table est le nom de la table dans le catalogue distant.
Remarques :
L'utilisateur doit disposer des informations d'identification appropriées pour accéder à la table et au catalogue spécifiques.
Points clés à prendre en compte
- La fonctionnalité est conçue à l'aide du package
DBMS_CATALOGinstallé dans un environnement ADB-S. - Les opérations LDD (par exemple,
CREATE, ALTER, DROP) ne sont pas autorisées sur les bases de données distantes via des catalogues. Dans ce cas, vous risquez de rencontrer une erreur ORA-02021 : DDL operations are not allowed on a remote database. - Restriction sur le même nom : cette fonctionnalité applique que pour un utilisateur donné, il ne peut pas exister de lien de base de données et de catalogue portant le même nom.
Vous allez utiliser l'éditeur de feuille de calcul SQL de Database Actions pour exécuter des requêtes SQL. Vous devez d'abord vous connecter à votre instance Database Actions et sélectionner SQL sous le menu Développement.
Prérequis :
Vous aurez besoin d'un compte OCI.
En quoi les liens de base de données sont-ils différents des catalogues ?
Liens de base de données : ils sont principalement utilisés pour connecter et interroger une autre base de données directement à l'aide d'une syntaxe.
SELECT *FROM <schema_name>.<table_name>@<dblink_name>;Lorsqu'un catalogue est monté sur une autre base de données via un lien de base de données, il n'est pas nécessaire de définir séparément les métadonnées dans le catalogue car la syntaxe DBLink accède directement aux objets de base de données distants. Fondamentalement, DBLink agit comme une connexion transparente à la base de données distante, permettant aux requêtes de s'exécuter comme si les données étaient locales.
Catalogues : ils servent de couche de métadonnées qui peut être montée sur différents types de banque de données, non seulement des bases de données connectées via des liaisons de données, mais également des catalogues de données externes ou des partages de données tels que des fournisseurs Delta Share ou Live Share. Lorsqu'un catalogue est monté sur un espace de stockage autre que de base de données, la syntaxe @catalog adapte les requêtes pour générer des tables externes incorporées, ce qui permet d'accéder aux données externes sans nécessiter de lien de base de données. Cela signifie que les catalogues résument la gestion des métadonnées et fournissent une interface unifiée pour interroger diverses sources de données, y compris des sources externes.
Rubrique parent : Interrogation des catalogues distants et des bases de données