Pacchetto DBMS_CLOUD_LINK

Il package DBMS_CLOUD_LINK consente a un utente di registrare una tabella o una vista come data set per l'accesso in sola lettura con i collegamenti cloud.

Panoramica di DBMS_CLOUD_LINK

Descrive l'uso del pacchetto DBMS_CLOUD_LINK.

Il pacchetto DBMS_CLOUD_LINK fornisce la procedura REGISTER che consente di registrare una tabella o una vista come data set da utilizzare con i collegamenti cloud. Prima di poter registrare un data set, l'utente ADMIN deve concedere a un utente l'autorizzazione per registrare un data set utilizzando la procedura DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Dopo l'esecuzione di ADMIN GRANT_REGISTER, un utente può registrare una tabella o una vista di cui è proprietario come data set registrato (o registrare un oggetto in un altro schema se l'utente dispone del privilegio READ WITH GRANT OPTION sull'oggetto). I data set registrati forniscono l'accesso remoto all'oggetto registrato con i collegamenti cloud, in base all'ambito specificato con la procedura REGISTER.

Per eseguire DBMS_CLOUD_LINK.REGISTER, DBMS_CLOUD_LINK.UPDATE_REGISTRATION o DBMS_CLOUD_LINK.UNREGISTER è necessario disporre del privilegio di esecuzione sul pacchetto DBMS_CLOUD_LINK, oltre a eseguire in precedenza DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Per impostazione predefinita, solo l'utente ADMIN e gli schemi con ruolo PDB_DBA dispongono del privilegio di esecuzione su DBMS_CLOUD_LINK.

Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK

Mostra una tabella con un riepilogo dei sottoprogrammi inclusi nel pacchetto DBMS_CLOUD_LINK.

Sottoprogramma Descrizione

Funzione DESCRIBE

Questa funzione recupera la descrizione di un data set. La descrizione viene fornita quando un set di dati viene registrato con DBMS_CLOUD_LINK.REGISTER.

Procedura di ricerca

Recupera lo spazio di nomi, il nome e la descrizione per i data set che corrispondono alla stringa di ricerca. I set di dati corrispondenti vengono visualizzati solo se accessibili all'utente, in base alle limitazioni di accesso.

Funzione GET_DATABASE_ID

Restituisce un identificativo univoco per l'istanza di Autonomous Database. Le chiamate ripetute a DBMS_CLOUD_LINK.GET_DATABASE_ID sulla stessa istanza restituiscono sempre lo stesso valore.

Procedura GRANT_AUTHORIZATION

Concede l'autorizzazione a un database specificato per accedere al set di dati specificato.

REGISTRATI Procedura

Registra una tabella o una vista come set di dati.

Procedura REVOKE_AUTHORIZATION

Revoca l'autorizzazione per un database specificato per accedere al set di dati specificato.

Procedura UNREGISTER

Rimuove un set di dati registrato.

Procedura UPDATE_REGISTRATION

Aggiorna gli attributi di un data set registrato mediante DBMS_CLOUD_LINK.REGISTER.

Funzione DESCRIBE

Questa funzione recupera la descrizione di un data set. La descrizione viene fornita quando un set di dati viene registrato con DBMS_CLOUD_LINK.REGISTER.

Sintassi

DBMS_CLOUD_LINK.DESCRIBE(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
) return CLOB;

Parametri

Parametro Descrizione

namespace

Specifica lo spazio di nomi del set di dati registrato.

name

Specifica il nome di un set di dati registrato.

Nota per l'uso

È possibile utilizzare questa funzione in base alle restrizioni di accesso imposte al momento della registrazione con DBMS_CLOUD_LINK.REGISTER. Se un data set non è accessibile a un database, la relativa descrizione non verrà recuperata.

Procedura di ricerca

Questa procedura recupera lo spazio di nomi, il nome e la descrizione dei set di dati corrispondenti alla stringa di ricerca. I set di dati corrispondenti vengono visualizzati solo se accessibili all'utente, in base alle limitazioni di accesso.

Sintassi

DBMS_CLOUD_LINK.FIND(
      search_string        IN   VARCHAR2,
      search_result        OUT   CLOB
);

Parametri

Parametro Descrizione

search_string

Specifica la stringa di ricerca. La stringa di ricerca non distingue tra maiuscole e minuscole.

search_result

Documento JSON che include lo spazio di nomi, il nome e i valori di descrizione per il data set.

Nota per l'uso

La stringa di ricerca non fa distinzione tra maiuscole e minuscole e il pacchetto utilizza la ricerca in formato testo libero mediante Oracle Text.

Funzione GET_DATABASE_ID

La funzione restituisce un identificativo univoco per l'istanza di Autonomous Database. Le chiamate ripetute a DBMS_CLOUD_LINK.GET_DATABASE_ID sulla stessa istanza restituiscono sempre lo stesso valore.

È possibile chiamare questa funzione in un database che accede a un data set registrato in remoto per ottenere l'ID del database. Ciò consente di fornire iD del database in modo che il proprietario di un data set possa utilizzare un controllo dell'accesso ai dati più dettagliato, ad esempio con VPD, basato su ID di database specificati da siti remoti.

Un ID database identifica ogni database remoto che accede a un set di dati registrato, per tenere traccia e sottoporre a audit l'accesso nelle viste V$CLOUD_LINK_ACCESS_STATS e GV$CLOUD_LINK_ACCESS_STATS del database proprietario di un set di dati registrato.

Sintassi

DBMS_CLOUD_LINK.GET_DATABASE_ID()
  RETURN VARCHAR2;

Note sull'uso

I collegamenti cloud utilizzano l'identificativo univoco restituito da DBMS_CLOUD_LINK.GET_DATABASE_ID per identificare i singoli database che accedono a un data set in remoto. Il database proprietario del data set registrato tiene traccia e verifica l'ID del database come record dell'origine per l'accesso al data set nelle viste V$CLOUD_LINK_ACCESS_STATS e GV$CLOUD_LINK_ACCESS_STATS.

L'identificativo DBMS_CLOUD_LINK.GET_DATABASE_ID è disponibile come valore SYS_CONTEXT in modo da poter ottenere a livello di programmazione queste informazioni su una sessione remota di connessione mediante SYS_CONTEXT per limitare e controllare ulteriormente i dati specifici a cui possono accedere in remoto le singole istanze di Autonomous Database con VPD (Virtual Private Databases).

Valori restituiti

Identificativo univoco per l'istanza di Autonomous Database di VARCHAR2.

Procedura GRANT_AUTHORIZATION

Questa procedura concede l'autorizzazione a un database specificato per accedere al set di dati specificato.

Sintassi

DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Parametri

Parametro Descrizione

database_id

Specifica l'ID del database per un'istanza di Autonomous Database. Usare DBMS_CLOUD_LINK.GET_DATABASE_ID per ottenere l'ID del database.

namespace

Specifica lo spazio di nomi del set di dati per concedere l'autorizzazione di accesso per il file database_id specificato.

name

Specifica il nome del data set per concedere l'autorizzazione di accesso per il file database_id specificato.

REGISTRATI Procedura

La procedura registra una tabella o una vista come set di dati per consentire l'accesso in sola lettura remoto, fatte salve le limitazioni imposte dal parametro scope.

Sintassi

DBMS_CLOUD_LINK.REGISTER(
     schema_name      IN VARCHAR2,
     schema_object    IN VARCHAR2,
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB,
     scope            IN CLOB,
     auth_required    IN BOOLEAN DEFAULT,
     data_set_owner   IN VARCHAR2 DEFAULT,
     offload_targets  IN CLOB DEFAULT

);

Parametri

Parametro Descrizione

schema_name

Specifica il proprietario della tabella o della vista specificata con il parametro schema_object.

schema_object

Specifica il nome di una tabella o di una vista. Gli oggetti validi sono:

  • Tabelle (incluse heap, esterne o ibride)
  • Viste
  • Viste materializzate
  • Tabelle cloud

Altri oggetti, ad esempio viste analitiche o sinonimi, non sono supportati.

namespace

Specifica lo spazio di nomi per il data set.

Un valore NULL specifica un valore namespace generato dal sistema, univoco per l'istanza di Autonomous Database.

name

Specifica il nome del data set.

description

Specifica il testo per descrivere i dati.

scope

Descrive chi è autorizzato ad accedere al data set. Il valore è un elenco separato da virgole costituito da uno o più dei seguenti elementi:

  • OCID database: l'accesso al data set è consentito per le specifiche istanze di Autonomous Database identificate dall'OCID.

  • OCID compartimento: l'accesso al data set è consentito per i database nei compartimenti identificati dall'OCID compartimento.

  • OCID tenancy: l'accesso al data set è consentito per i database nelle tenancy identificate dall'OCID tenancy.

  • Nome area: l'accesso al data set è consentito per i database nell'area identificata dall'area denominata. In base all'ambito, l'accesso ai collegamenti cloud è limitato all'interno di una singola area e non è tra più aree. Un consumer di un'area diversa può accedere a un data set solo quando esiste una copia aggiornabile tra più aree del database che è il proprietario del data set nell'area del database consumer.

    Per ulteriori informazioni, vedere Registrare o annullare la registrazione di un data set in un'area diversa.

  • MY$COMPARTMENT: l'accesso al data set è consentito per i database nello stesso compartimento del proprietario del data set.

  • MY$TENANCY: l'accesso al data set è consentito per i database nella stessa tenancy del proprietario del data set.

  • MY$REGION: l'accesso al data set è consentito per i database nella stessa area del proprietario del data set.

  • Lista di aree: l'accesso al data set è consentito per i database nelle aree specificate

    Ad esempio:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Un consumer di un'area diversa può accedere a un data set solo quando esiste una copia aggiornabile tra più aree del database che è il proprietario del data set nell'area del database consumer.

I valori di ambito, MY$REGION, MY$TENANCY e MY$COMPARTMENT, sono variabili che fungono da macro utili e vengono risolte in OCID.

auth_required

Specifica che è richiesta un'autorizzazione aggiuntiva per la lettura dei database dal data set. Sono possibili i seguenti casi:

  • I database che si trovano all'interno del SCOPE specificato e che sono stati autorizzati con DBMS_CLOUD_LINK.GRANT_AUTHORIZATION possono visualizzare le righe dal data set.

  • I database che si trovano all'interno del file SCOPE specificato ma non sono stati autorizzati con DBMS_CLOUD_LINK.GRANT_AUTHORIZATION non possono visualizzare le righe del set di dati. In questo caso, i consumer senza autorizzazione visualizzano il set di dati come vuoto.

  • I database che non rientrano nel SCOPE specificato visualizzano un errore durante il tentativo di accedere al data set.

data_set_owner

Specifica il proprietario del set di dati. Indica a chi appartiene il set di dati o chi è responsabile dell'aggiornamento e della gestione del set di dati. Ad esempio, è possibile impostare data_set_owner sull'indirizzo e-mail della persona che ha registrato il set di dati.

offload_targets

Specifica uno o più OCID Autonomous Database di copie aggiornabili in cui l'accesso ai data set è scaricato, da Autonomous Database in cui il data set è registrato.

Il valore offload_targets è un documento JSON che definisce una o più coppie di valori chiave CLOUD_LINK_DATABASE_ID e OFFLOAD_TARGET:

  • CLOUD_LINK_DATABASE_ID è uno dei seguenti:

    • ID database: specifica un ID database per il consumer del data set la cui richiesta viene scaricata nella copia aggiornabile corrispondente specificata con il valore OFFLOAD_TARGET.

      Ottenere l'ID del database eseguendo DBMS_CLOUD_LINK.GET_DATABASE_ID. Per ulteriori informazioni, vedere GET_DATABASE_ID Function.

    • ANY: specifica che la richiesta del consumer del set di dati viene scaricata nella destinazione di scarico corrispondente. La richiesta del data set di un consumatore verrà instradata alla destinazione di scarico corrispondente.

      Se si specifica ANY senza specificare gli ID di database, tutte le richieste di set di dati dai consumer vengono scaricate nella copia aggiornabile specificata con il valore OFFLOAD_TARGET.

      Se si specificano sia gli ID di database che ANY, le richieste di set di dati dai consumer che non corrispondono a un ID di database vengono scaricate nella copia aggiornabile specificata con il valore OFFLOAD_TARGET.

  • OFFLOAD_TARGET è l'OCID di un'istanza di Autonomous Database che è una copia aggiornabile.

Ad esempio, viene mostrato un esempio JSON con tre coppie di valori OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Quando un consumer di set di dati richiede l'accesso a un data set registrato con offload_targets con la parola chiave ANY, qualsiasi richiesta di accesso viene scaricata nella copia aggiornabile identificata con OFFLOAD_TARGET nel file JSON fornito (ad eccezione delle richieste che hanno una voce esplicita nel file JSON fornito).

Ad esempio, di seguito viene mostrato un esempio JSON con una coppia di valori OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID esplicita e una voce ANY:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

DBMS_CLOUD_LINK.REGISTER segnala un errore se l'OCID fornito come valore OFFLOAD_TARGET non è un OCID di una copia aggiornabile nella stessa area.

Per informazioni sull'uso di copie aggiornabili, vedere Usa copie aggiornabili con Autonomous Database.

Note sull'uso

  • Dopo aver registrato un oggetto, gli utenti potrebbero dover attendere fino a dieci (10) minuti per accedere all'oggetto con i collegamenti cloud.

  • Utilizzare la procedura DBMS_CLOUD_LINK.UPDATE_REGISTRATION per modificare gli attributi di un data set esistente.

    Il tempo di attesa per il completamento dell'aggiornamento può essere massimo di 10 minuti affinché una modifica alla registrazione venga propagata e accessibile tramite i collegamenti cloud. Questo ritardo può influire sull'accuratezza dei dati nelle viste DBA_CLOUD_LINK_REGISTRATIONS e DBA_CLOUD_LINK_ACCESS.

  • È possibile registrare una tabella o una vista che si trova nello schema di un altro utente quando si dispone dei privilegi READ WITH GRANT OPTION per la tabella o la vista.

  • L'ambito impostato quando si registra un set di dati viene rispettato solo quando corrisponde o è più restrittivo del set di valori con DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Ad esempio, si supponga che ADMIN abbia concesso l'ambito 'MY$TENANCY' con GRANT_REGISTER e che l'utente specifichi 'MY$REGION' quando registra un set di dati con DBMS_CLOUD_LINK.REGISTER. In questo caso vedrebbero un errore come il seguente:

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Al momento della registrazione non è possibile eseguire alcuni controlli di validità gerarchici per la registrazione. Le registrazioni non valide non saranno visibili, individuabili o accessibili a nessuno.

  • Per utilizzare DBMS_CLOUD_LINK.REGISTER, è necessario disporre del privilegio di esecuzione sul pacchetto DBMS_CLOUD_LINK, oltre al privilegio di registrazione assegnato con DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Per impostazione predefinita, solo l'utente ADMIN e gli schemi con PDB_DBA dispongono di questo privilegio.

  • Quando si registra un data set in una copia aggiornabile in un'area remota, il richiamo di DBMS_CLOUD_LINK.REGISTER nella copia dell'area remota deve utilizzare gli stessi parametri con gli stessi valori del database di origine, ad eccezione del parametro offload_targets.

    Ad esempio, quando si esegue DBMS_CLOUD_LINK.REGISTER con ambito impostato su MY$COMPARTMENT nell'istanza di Autonomous Database di origine, eseguire di nuovo la procedura nella copia aggiornabile tra più aree con lo stesso valore del parametro di ambito (MY$COMPARTMENT).

  • Se si specifica il parametro offload_targets con DBMS_CLOUD_LINK.REGISTER nell'origine, è necessario omettere questo parametro quando si registra il data set in una copia aggiornabile tra più aree.

Procedura REVOKE_AUTHORIZATION

Questa procedura revoca l'autorizzazione per un database specificato ad accedere al set di dati specificato.

Sintassi

DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Parametri

Parametro Descrizione

database_id

Specifica l'ID del database per un'istanza di Autonomous Database. Usare DBMS_CLOUD_LINK.GET_DATABASE_ID per ottenere l'ID del database.

namespace

Specifica lo spazio di nomi del set di dati per revocare l'autorizzazione di accesso per il file database_id specificato.

name

Specifica il nome del data set per revocare l'autorizzazione di accesso per il file database_id specificato.

Procedura UNREGISTER

La procedura consente a un utente che ha registrato in precedenza una tabella o una vista con la procedura REGISTER di annullare la registrazione della tabella o della vista in modo che non sia più disponibile per l'accesso remoto.

Sintassi

DBMS_CLOUD_LINK.UNREGISTER(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
);

Parametri

Parametro Descrizione

namespace

Specifica un nome utente.

name

Specifica il nome del data set.

Nota per l'uso

DBMS_CLOUD_LINK.UNREGISTER può anche richiedere fino a dieci (10) minuti per la propagazione completa, dopodiché è possibile accedere più a lungo ai dati da remoto.

Procedura UPDATE_REGISTRATION

La procedura aggiorna uno o più attributi per un data set registrato mediante DBMS_CLOUD_LINK.REGISTER.

Sintassi

DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB      DEFAULT,
     scope            IN CLOB      DEFAULT,
     auth_required    IN BOOLEAN   DEFAULT,
     data_set_owner   IN VARCHAR2  DEFAULT,
     offload_targets  IN CLOB      DEFAULT

);

Parametri

Parametro Descrizione
namespace

Specifica lo spazio di nomi del data set da aggiornare.

name

Specifica il nome del data set da aggiornare.

description

Specifica il testo aggiornato per descrivere i dati.

Se viene passato NULL per questo valore di parametro, l'attributo non viene modificato.

Per impostazione predefinita, questo attributo non è aggiornato.

scope

Aggiornare l'ambito con il valore specificato. L'ambito descrive chi è autorizzato ad accedere al data set. Il valore è un elenco separato da virgole costituito da uno o più dei seguenti elementi:

  • OCID database: l'accesso al data set è consentito per le specifiche istanze di Autonomous Database identificate dall'OCID.

  • OCID compartimento: l'accesso al data set è consentito per i database nei compartimenti identificati dall'OCID compartimento.

  • OCID tenancy: l'accesso al data set è consentito per i database nelle tenancy identificate dall'OCID tenancy.

  • Nome area: l'accesso al data set è consentito per i database nell'area identificata dall'area denominata. In base all'ambito, l'accesso ai collegamenti cloud è limitato all'interno di una singola area e non è tra più aree. Un consumer di un'area diversa può accedere a un data set solo quando esiste una copia aggiornabile tra più aree del database che è il proprietario del data set nell'area del database consumer.

    Per ulteriori informazioni, vedere Registrare o annullare la registrazione di un data set in un'area diversa.

  • MY$COMPARTMENT: l'accesso al data set è consentito per i database nello stesso compartimento del proprietario del data set.

  • MY$TENANCY: l'accesso al data set è consentito per i database nella stessa tenancy del proprietario del data set.

  • MY$REGION: l'accesso al data set è consentito per i database nella stessa area del proprietario del data set.

  • Lista di aree: l'accesso al data set è consentito per i database nelle aree specificate

    Ad esempio:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Un consumer di un'area diversa può accedere a un data set solo quando esiste una copia aggiornabile tra più aree del database che è il proprietario del data set nell'area del database consumer.

I valori di ambito, MY$REGION, MY$TENANCY e MY$COMPARTMENT, sono variabili che fungono da macro utili e vengono risolte in OCID.

Se viene passato NULL per questo valore di parametro, l'attributo non viene modificato.

Per impostazione predefinita, questo attributo non è aggiornato.

auth_required

Specifica che è richiesta un'autorizzazione aggiuntiva per la lettura dei database dal data set. Sono possibili i seguenti casi:

  • I database che si trovano all'interno del SCOPE specificato e che sono stati autorizzati con DBMS_CLOUD_LINK.GRANT_AUTHORIZATION possono visualizzare le righe dal data set.

  • I database che si trovano all'interno del file SCOPE specificato ma non sono stati autorizzati con DBMS_CLOUD_LINK.GRANT_AUTHORIZATION non possono visualizzare le righe del set di dati. In questo caso, i consumer senza autorizzazione visualizzano il set di dati come vuoto.

  • I database che non rientrano nel SCOPE specificato visualizzano un errore durante il tentativo di accedere al data set.

Se viene passato NULL per questo valore di parametro, l'attributo non viene modificato.

Per impostazione predefinita, questo attributo non è aggiornato.

data_set_owner

Specifica il proprietario del set di dati. Indica a chi appartiene il set di dati o chi è responsabile dell'aggiornamento e della gestione del set di dati. Ad esempio, è possibile impostare data_set_owner sull'indirizzo e-mail della persona che ha registrato il set di dati.

Se viene passato NULL per questo valore di parametro, l'attributo non viene modificato.

Per impostazione predefinita, questo attributo non viene aggiornato.

offload_targets

Specifica uno o più OCID Autonomous Database di copie aggiornabili in cui l'accesso ai data set è scaricato, da Autonomous Database in cui il data set è registrato.

Il valore offload_targets è un documento JSON che definisce una o più coppie di valori chiave CLOUD_LINK_DATABASE_ID e OFFLOAD_TARGET:

  • CLOUD_LINK_DATABASE_ID è uno dei seguenti:

    • ID database: specifica un ID database per il consumer del data set la cui richiesta viene scaricata nella copia aggiornabile corrispondente specificata con il valore OFFLOAD_TARGET.

      Ottenere l'ID del database eseguendo DBMS_CLOUD_LINK.GET_DATABASE_ID. Per ulteriori informazioni, vedere GET_DATABASE_ID Function.

    • ANY: specifica che la richiesta del consumer del set di dati viene scaricata nella destinazione di scarico corrispondente. La richiesta del data set di un consumatore verrà instradata alla destinazione di scarico corrispondente.

      Se si specifica ANY senza specificare gli ID di database, tutte le richieste di set di dati dai consumer vengono scaricate nella copia aggiornabile specificata con il valore OFFLOAD_TARGET.

      Se si specificano sia gli ID di database che ANY, le richieste di set di dati dai consumer che non corrispondono a un ID di database vengono scaricate nella copia aggiornabile specificata con il valore OFFLOAD_TARGET.

  • OFFLOAD_TARGET è l'OCID di un'istanza di Autonomous Database che è una copia aggiornabile.

Ad esempio, viene mostrato un esempio JSON con tre coppie di valori OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Quando un consumer di set di dati richiede l'accesso a un data set registrato con offload_targets con la parola chiave ANY, qualsiasi richiesta di accesso viene scaricata nella copia aggiornabile identificata con OFFLOAD_TARGET nel file JSON fornito (ad eccezione delle richieste che hanno una voce esplicita nel file JSON fornito).

Ad esempio, di seguito viene mostrato un esempio JSON con una coppia di valori OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID esplicita e una voce ANY:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

DBMS_CLOUD_LINK.REGISTER segnala un errore se l'OCID fornito come valore OFFLOAD_TARGET non è un OCID di una copia aggiornabile nella stessa area.

Per informazioni sull'uso di copie aggiornabili, vedere Usa copie aggiornabili con Autonomous Database.

Se viene passato NULL per questo valore di parametro, l'attributo non viene modificato.

Per impostazione predefinita, questo attributo non è aggiornato.

Note sull'uso

  • Impossibile aggiornare gli attributi schema_name e schema_object per un data set.

  • Dopo aver aggiornato la registrazione di un oggetto, gli utenti potrebbero dover attendere fino a dieci (10) minuti per accedere all'oggetto utilizzando gli attributi aggiornati con i collegamenti cloud.

  • È possibile aggiornare la registrazione per una tabella o una vista che risiede nello schema di un altro utente quando si dispone dei privilegi READ WITH GRANT OPTION per la tabella o la vista.

  • L'ambito impostato quando si aggiorna la registrazione di un data set viene rispettato solo quando corrisponde o è più restrittivo del valore impostato con DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Ad esempio, si supponga che ADMIN abbia concesso l'ambito 'MY$TENANCY' con GRANT_REGISTER e che l'utente specifichi 'MY$REGION' quando aggiorna la registrazione per il set di dati con DBMS_CLOUD_LINK.UPDATE_REGISTRATION. In questo caso vedrebbero un errore come il seguente:

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Alcuni controlli di validità gerarchici per una registrazione aggiornata non possono verificarsi quando la registrazione viene aggiornata. Le registrazioni non valide non saranno visibili, individuabili o accessibili a nessuno.

  • L'utente che ha registrato un data set può aggiornare i relativi attributi con DBMS_CLOUD_LINK.UPDATE_REGISTRATION. È inoltre necessario disporre del privilegio di esecuzione sul pacchetto DBMS_CLOUD_LINK e del privilegio di registrazione assegnato con DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Per impostazione predefinita, solo l'utente ADMIN e gli schemi con PDB_DBA dispongono di questo privilegio.

  • Quando si aggiorna la registrazione di un data set in una copia aggiornabile in un'area remota, il richiamo di DBMS_CLOUD_LINK.UPDATE_REGISTRATION nella copia dell'area remota deve utilizzare gli stessi parametri con gli stessi valori del database di origine, ad eccezione del parametro offload_targets.

    Ad esempio, quando si esegue DBMS_CLOUD_LINK.UPDATE_REGISTRATION con ambito impostato su MY$COMPARTMENT nell'istanza di Autonomous Database di origine, eseguire di nuovo la procedura nella copia aggiornabile tra più aree con lo stesso valore del parametro di ambito (MY$COMPARTMENT).

  • Se si specifica il parametro offload_targets con DBMS_CLOUD_LINK.REGISTER nell'origine, è necessario omettere questo parametro quando si registra il data set in una copia aggiornabile tra più aree.