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.

DBMS_CLOUD_LINK Panoramica

Descrive l'uso del pacchetto DBMS_CLOUD_LINK.

Il package 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 GRANT_REGISTER da parte di ADMIN, un utente può registrare una tabella o una vista di cui è proprietario come data set registrato oppure 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 Cloud Links, soggetto 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 package DBMS_CLOUD_LINK, oltre all'esecuzione precedente di 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.

Programma secondario descrizione;

Funzione DESCRIBE

Questa funzione recupera la descrizione di un data set. La descrizione viene fornita quando un data set 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 data set corrispondenti vengono visualizzati solo se sono 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 nella stessa istanza restituiscono sempre lo stesso valore.

GRANT_AUTHORIZATION Procedura

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

Procedura di registrazione

Registra una tabella o una vista come data set.

REVOKE_AUTHORIZATION Procedura

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

Procedura UNREGISTER

Rimuove un data set registrato.

UPDATE_REGISTRATION Procedura

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 data set 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 data set registrato.

name

Specifica il nome di un data set registrato.

Nota per l'uso

È possibile utilizzare questa funzione soggetta 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 per i data set che corrispondono alla stringa di ricerca. I data set corrispondenti vengono visualizzati solo se sono 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 da cercare. La stringa di ricerca non distingue tra casi.

search_result

Documento JSON che include i valori di spazio di nomi, nome e 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 di 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 nella stessa istanza restituiscono sempre lo stesso valore.

È possibile chiamare questa funzione in un database che sta accedendo 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, in base a ID di database specificati da siti remoti.

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

Sintassi

DBMS_CLOUD_LINK.GET_DATABASE_ID()
  RETURN VARCHAR2;

Note per 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 controlla 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 utilizzando SYS_CONTEXT, per limitare ulteriormente e controllare a quali dati specifici è possibile accedere in remoto da singole istanze di Autonomous Database con VPD (Virtual Private Databases).

Valori restituiti

Un identificativo univoco per l'istanza di Autonomous Database di VARCHAR2.

GRANT_AUTHORIZATION Procedura

Questa procedura concede l'autorizzazione a un database specificato per accedere al data set 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 database per un'istanza Autonomous Database. Utilizzare DBMS_CLOUD_LINK.GET_DATABASE_ID per ottenere l'ID del database.

namespace

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

name

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

Procedura di registrazione

La procedura registra una tabella o una vista come data set per consentire l'accesso in sola lettura remota, 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 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

Non sono supportati altri oggetti, ad esempio viste analitiche o sinonimi.

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 gli utenti autorizzati 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 specificata. Per ambito, l'accesso ai collegamenti cloud è limitato a un'unica area e non è tra più aree. Un consumer in un'area diversa può accedere a un data set solo quando nell'area del database del consumer esiste una copia aggiornabile tra più aree del database che è il proprietario del data set.

    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 set di dati è consentito per i database nella stessa area del proprietario del set di dati.

  • 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 in un'area diversa può accedere a un data set solo quando nell'area del database del consumer esiste una copia aggiornabile tra più aree del database che è il proprietario del data set.

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

auth_required

Specifica che è necessaria un'autorizzazione aggiuntiva per consentire ai database di leggere dal data set. Di seguito sono riportati i 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 data set. In questo caso, i consumer senza autorizzazione visualizzano il set di dati come vuoto.

  • I database che non si trovano all'interno del file SCOPE specificato visualizzano un errore durante il tentativo di accedere al data set.

data_set_owner

Specifica il proprietario del data set. Indica a chi appartiene il set di dati o chi è responsabile dell'aggiornamento e della manutenzione 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 delle copie aggiornabili in cui viene scaricato l'accesso ai data set, da Autonomous Database in cui è registrato il data set.

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 di 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 qualsiasi richiesta del consumer di set di dati viene scaricata nella destinazione di scarico corrispondente. La richiesta del data set di un consumer verrà instradata alla destinazione di scarico corrispondente.

      Se si specifica ANY senza specificare gli ID del database, tutte le richieste del data set 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 data set da parte dei consumer che non corrispondono a un ID di database vengono scaricate sulla copia aggiornabile specificata con il valore OFFLOAD_TARGET.

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

Ad esempio, l'esempio riportato di seguito mostra 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 sulla copia aggiornabile identificata con OFFLOAD_TARGET nella notazione JSON fornita (ad eccezione delle richieste con voce esplicita nella notazione JSON fornita).

Ad esempio, l'esempio seguente mostra 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 delle copie aggiornabili, vedere Usa copie aggiornabili con Autonomous Database.

Note per 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 per un data set esistente.

    Il tempo di attesa per il completamento dell'aggiornamento può essere fino a 10 minuti per la propagazione e l'accesso di una modifica alla registrazione tramite i collegamenti cloud. Questo ritardo può influire sulla precisione 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 se si dispone dei privilegi READ WITH GRANT OPTION per la tabella o la vista.

  • L'ambito impostato durante 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 registra un data set con DBMS_CLOUD_LINK.REGISTER. In questo caso viene visualizzato 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à gerarchica per la registrazione non possono essere eseguiti al momento della 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. Solo l'utente ADMIN e gli schemi con PDB_DBA dispongono di questo privilegio per impostazione predefinita.

  • Quando si registra un data set su 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 l'ambito impostato su MY$COMPARTMENT nell'istanza di Autonomous Database di origine, eseguire di nuovo la procedura sulla 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.

REVOKE_AUTHORIZATION Procedura

Questa procedura revoca l'autorizzazione per un database specificato per accedere al data set 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 database per un'istanza Autonomous Database. Utilizzare DBMS_CLOUD_LINK.GET_DATABASE_ID per ottenere l'ID del database.

namespace

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

name

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

Procedura UNREGISTER

La procedura consente a un utente che ha precedentemente registrato 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

La propagazione completa di DBMS_CLOUD_LINK.UNREGISTER può richiedere fino a dieci (10) minuti, dopodiché è possibile accedere più a lungo ai dati in remoto.

UPDATE_REGISTRATION Procedura

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 per questo valore di parametro viene passato NULL, l'attributo non viene modificato.

Questo attributo non viene aggiornato per default.

scope

Aggiornare l'ambito con il valore specificato. L'ambito descrive gli utenti autorizzati 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 specificata. Per ambito, l'accesso ai collegamenti cloud è limitato a un'unica area e non è tra più aree. Un consumer in un'area diversa può accedere a un data set solo quando nell'area del database del consumer esiste una copia aggiornabile tra più aree del database che è il proprietario del data set.

    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 in un'area diversa può accedere a un data set solo quando nell'area del database del consumer esiste una copia aggiornabile tra più aree del database che è il proprietario del data set.

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

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

Questo attributo non viene aggiornato per default.

auth_required

Specifica che è necessaria un'autorizzazione aggiuntiva per consentire ai database di leggere 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 data set. In questo caso, i consumer senza autorizzazione visualizzano il set di dati come vuoto.

  • I database che non si trovano all'interno del file SCOPE specificato visualizzano un errore durante il tentativo di accedere al data set.

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

Questo attributo non viene aggiornato per default.

data_set_owner

Specifica il proprietario del data set. Indica a chi appartiene il set di dati o chi è responsabile dell'aggiornamento e della manutenzione 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 per questo valore di parametro viene passato NULL, l'attributo non viene modificato.

Questo attributo non viene aggiornato per default.

offload_targets

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

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 di 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 Funzione.

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

      Se si specifica ANY senza specificare gli ID del database, tutte le richieste del data set 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 data set da parte dei consumer che non corrispondono a un ID di database vengono scaricate sulla copia aggiornabile specificata con il valore OFFLOAD_TARGET.

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

Ad esempio, l'esempio riportato di seguito mostra 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 sulla copia aggiornabile identificata con OFFLOAD_TARGET nella notazione JSON fornita (ad eccezione delle richieste con voce esplicita nella notazione JSON fornita).

Ad esempio, l'esempio seguente mostra 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 delle copie aggiornabili, vedere Usa copie aggiornabili con Autonomous Database.

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

Questo attributo non viene aggiornato per default.

Note per l'uso

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

  • Dopo aver aggiornato la registrazione per 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 si trova nello schema di un altro utente se 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. Si supponga, ad esempio, che l'amministratore 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 viene visualizzato 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à gerarchica per una registrazione aggiornata non possono essere eseguiti al momento dell'aggiornamento della registrazione. Le registrazioni non valide non saranno visibili, individuabili o accessibili a nessuno.

  • L'utente che ha registrato un data set può aggiornare i propri 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. Solo l'utente ADMIN e gli schemi con PDB_DBA dispongono di questo privilegio per impostazione predefinita.

  • Quando si aggiorna la registrazione di un data set su 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 l'ambito impostato su MY$COMPARTMENT nell'istanza di Autonomous Database di origine, eseguire di nuovo la procedura sulla 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.