A propos de l'interrogation des catalogues distants et des bases de données

Cette rubrique explique comment 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 :

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

Vous pouvez également remplacer les catalogues par dbLinks.

Accéder aux tables distantes

Pour accéder à une table à partir d'un schéma distant à l'aide d'un catalogue, procédez comme suit :
  1. Montage d'un catalogue : commencez par monter un catalogue sur tout 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.
  2. 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.

Remarque

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_CATALOG installé 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 du 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.

Conditions préalables :

Vous aurez besoin d'un compte OCI.

En quoi DBlinks est-il différent des catalogues ?

DBLinks : ils sont principalement utilisés pour connecter et interroger une autre base de données directement à l'aide d'une syntaxe.

Par exemple :
SELECT * FROM <schema_name>.<table_name>@<dblink_name>;

Lorsqu'un catalogue est monté sur une autre base de données via un élément DBLink, il n'est pas nécessaire de définir séparément les métadonnées du catalogue car la syntaxe DBLink accède directement aux objets de base de données distants. Essentiellement, 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 les bases de données connectées via DBLinks, mais également les catalogues de données externes ou les partages de données tels que les fournisseurs Delta Share ou Live Share. Lorsqu'un catalogue est monté sur un emplacement 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 d'élément DBLink. 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.