Informazioni sull'esecuzione di query su cataloghi e database remoti

Questo argomento descrive come eseguire query sui dati esterni utilizzando i metadati del catalogo utilizzando una sintassi SQL del modulo: [schema].object@catalog_name.

Qui la sintassi [schema].object@catalog_name si riferisce a una rappresentazione di accesso agli oggetti di database

La tabella descrive i parametri e le relative descrizioni utilizzati nella sintassi:

Parametri Descrizione
Schema

Questo campo è facoltativo e viene impostato automaticamente sull'utente corrente. Uno schema è uno spazio di nomi all'interno di un catalogo che organizza oggetti di database correlati quali tabelle, viste, procedure o funzioni. Funge da contenitore logico per questi oggetti.

Oggetto Questo campo fa riferimento a qualsiasi oggetto di database contenuto in uno schema, ad esempio tabelle, viste, procedure o funzioni.
Catalog Nel campo Catalogo viene visualizzato il nome del catalogo con la tabella di riferimento. È possibile creare e gestire i cataloghi utilizzando il pacchetto DBMS_CATALOG o lo strumento Catalogo della suite di strumenti Data Studio.
Nota

È possibile sostituire i cataloghi con dbLinks.

Accesso alle tabelle remote

Per accedere a una tabella da uno schema remoto utilizzando un catalogo, è necessario effettuare le operazioni riportate di seguito.
  1. Montare un catalogo: iniziare attivando un catalogo su qualsiasi tipo di data store supportato (ad esempio Iceberg, Delta Lake e così via). Il MOUNT di un catalogo standardizza i metadati, consentendo l'accesso SQL ai dati esterni come se fossero tabelle all'interno di uno schema nel catalogo. Fare riferimento alla sezione Gestisci cataloghi per i passi dettagliati sul montaggio dei cataloghi. Una volta eseguito il MOUNT del catalogo e standardizzato il metadati, è possibile eseguire direttamente query sui dati esterni utilizzando SQL. Anche se i dati esterni non esistono fisicamente come tabelle tradizionali, il catalogo li astrae in un formato tabulare per semplificare l'esecuzione delle query.
  2. Fare riferimento alla tabella: una volta eseguito il MOUNT, è possibile fare riferimento alla tabella remota specificando lo schema e il catalogo (se applicabile) seguiti dal nome della tabella utilizzando la sintassi seguente: [remote_schema].table@catalog.

Qui schema in questo identificativo è lo schema remoto che contiene la tabella remota. Table, in questo caso, è il nome della tabella nel catalogo remoto.

Nota

L'utente deve disporre delle credenziali appropriate per accedere alla tabella e al catalogo specifici.

Punti fondamentali da considerare

  • La funzione è progettata utilizzando il pacchetto DBMS_CATALOG installato in un ambiente ADB-S.
  • Le operazioni DDL (ad esempio, CREATE, ALTER, DROP) non sono consentite sui database remoti tramite cataloghi. In questo caso, potrebbe verificarsi un errore "ORA-02021: le operazioni DDL non sono consentite in un database remoto" .
  • Restrizione con lo stesso nome: questa funzione applica che per un determinato utente non possano esistere un collegamento DB e un catalogo con lo stesso nome.

Si utilizzerà SQL Worksheet Editor di Database Actions per eseguire query SQL. È innanzitutto necessario connettersi all'istanza di Database Actions e selezionare SQL nel menu Sviluppo.

Requisiti indispensabili:

Sarà necessario un account OCI.

In che modo DBlinks è diverso dai cataloghi?

DBLinks: vengono utilizzati principalmente per connettersi ed eseguire query su un altro database direttamente utilizzando una sintassi.

Ad esempio:
SELECT * FROM <schema_name>.<table_name>@<dblink_name>;

Quando viene eseguito il MOUNT di un catalogo su un altro database tramite un DBLink, non è necessario definire separatamente i metadati nel catalogo perché la sintassi DBLink accede direttamente agli oggetti di database remoti. In sostanza, DBLink funge da connessione trasparente al database remoto, consentendo l'esecuzione delle query come se i dati fossero locali.

Catalog: fungono da livello di metadati che possono essere attivati su diversi tipi di data store, non solo i database connessi tramite DBLinks, ma anche i data catalog esterni o le condivisioni di dati come i provider Delta Share o Live Share. Quando viene eseguito il MOUNT di un catalogo su un'area di memorizzazione non di database, la sintassi @catalog adatta le query per generare tabelle esterne in linea, consentendo l'accesso ai dati esterni senza richiedere un DBLink. Ciò significa che i cataloghi estraggono la gestione dei metadati e forniscono un'interfaccia unificata per eseguire query su diverse origini dati, incluse quelle esterne.