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
Verrà descritto l'uso del pacchettoDBMS_CLOUD_LINK
. - Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Mostra una tabella con un riepilogo dei sottoprogrammi inclusi nel packageDBMS_CLOUD_LINK
.
Argomento padre: riferimento al package fornito da Autonomous Database
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
.
Argomento padre: DBMS_CLOUD_LINK Package
Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Mostra una tabella con un riepilogo dei sottoprogrammi inclusi nel pacchetto DBMS_CLOUD_LINK
.
Programma secondario | descrizione; |
---|---|
Questa funzione recupera la descrizione di un data set. La descrizione viene fornita quando un data set viene registrato con |
|
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. |
|
Restituisce un identificativo univoco per l'istanza di Autonomous Database. Le chiamate ripetute a |
|
Concede l'autorizzazione a un database specificato per accedere al data set specificato. |
|
Registra una tabella o una vista come data set. |
|
Revoca l'autorizzazione per un database specificato per accedere al data set specificato. |
|
Rimuove un data set registrato. |
|
Aggiorna gli attributi di un data set registrato mediante |
- Funzione DESCRIBE
Questa funzione recupera la descrizione di un data set. La descrizione viene fornita quando un data set viene registrato conDBMS_CLOUD_LINK.REGISTER
. - TROVA procedura
Questa procedura recupera lo spazio dei 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. - GET_DATABASE_ID Funzione
La funzione restituisce un identificativo univoco per l'istanza di Autonomous Database. Le chiamate ripetute aDBMS_CLOUD_LINK.GET_DATABASE_ID
nella stessa istanza restituiscono sempre lo stesso valore. - GRANT_AUTHORIZATION Procedura
Questa procedura concede l'autorizzazione a un database specificato per accedere al data set specificato. - Procedura REGISTER
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 parametroscope
. - REVOKE_AUTHORIZATION Procedura
Questa procedura revoca l'autorizzazione per un database specificato per accedere al data set specificato. - Procedura UNREGISTER
La procedura consente a un utente che ha registrato in precedenza una tabella o una vista con la proceduraREGISTER
di annullare la registrazione della tabella o della vista in modo che non sia più disponibile per l'accesso remoto. - UPDATE_REGISTRATION Procedura
La procedura aggiorna uno o più attributi per un data set registrato medianteDBMS_CLOUD_LINK.REGISTER
.
Argomento padre: DBMS_CLOUD_LINK Package
Funzione DESCRIBE
DBMS_CLOUD_LINK.REGISTER
.
Sintassi
DBMS_CLOUD_LINK.DESCRIBE
(
namespace IN VARCHAR2,
name IN VARCHAR2
) return CLOB;
Parametri
Parametro | descrizione; |
---|---|
|
Specifica lo spazio di nomi del data set registrato. |
|
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.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Procedura di ricerca
Sintassi
DBMS_CLOUD_LINK.FIND
(
search_string IN VARCHAR2,
search_result OUT CLOB
);
Parametri
Parametro | descrizione; |
---|---|
|
Specifica la stringa da cercare. La stringa di ricerca non distingue tra casi. |
|
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.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Funzione GET_DATABASE_ID
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
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
GRANT_AUTHORIZATION Procedura
Sintassi
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Parametri
Parametro | descrizione; |
---|---|
|
Specifica l'ID database per un'istanza Autonomous Database. Utilizzare |
|
Specifica lo spazio di nomi del data set per concedere l'autorizzazione di accesso per l' |
|
Specifica il nome del data set per concedere l'autorizzazione di accesso per l' |
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Procedura di registrazione
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; |
---|---|
|
Specifica il proprietario della tabella o vista specificata con il parametro |
schema_object |
Specifica il nome di una tabella o di una vista. Gli oggetti validi sono:
Non sono supportati altri oggetti, ad esempio viste analitiche o sinonimi. |
namespace |
Specifica lo spazio di nomi per il data set. Un valore |
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:
I valori di ambito, |
|
Specifica che è necessaria un'autorizzazione aggiuntiva per consentire ai database di leggere dal data set. Di seguito sono riportati i casi.
|
|
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 |
|
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
Ad esempio, l'esempio riportato di seguito mostra un esempio JSON con tre coppie di valori
Quando un consumer di set di dati richiede l'accesso a un data set registrato con Ad esempio, l'esempio seguente mostra un esempio JSON con una coppia di valori
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
eDBA_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'
conGRANT_REGISTER
e che l'utente specifichi'MY$REGION'
quando registra un data set conDBMS_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 pacchettoDBMS_CLOUD_LINK
, oltre al privilegio di registrazione assegnato conDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Solo l'utente ADMIN e gli schemi conPDB_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 parametrooffload_targets
.Ad esempio, quando si esegue
DBMS_CLOUD_LINK.REGISTER
con l'ambito impostato suMY$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
conDBMS_CLOUD_LINK.REGISTER
nell'origine, è necessario omettere questo parametro quando si registra il data set in una copia aggiornabile tra più aree.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
REVOKE_AUTHORIZATION Procedura
Sintassi
DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Parametri
Parametro | descrizione; |
---|---|
|
Specifica l'ID database per un'istanza Autonomous Database. Utilizzare |
|
Specifica lo spazio di nomi del data set per revocare l'autorizzazione di accesso per l' |
|
Specifica il nome del set di dati per revocare l'autorizzazione di accesso per l' |
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
Procedura UNREGISTER
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; |
---|---|
|
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.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK
UPDATE_REGISTRATION Procedura
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 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:
I valori di ambito, Se per questo valore di parametro viene passato Questo attributo non viene aggiornato per default. |
|
Specifica che è necessaria un'autorizzazione aggiuntiva per consentire ai database di leggere dal data set. Sono possibili i seguenti casi:
Se per questo valore di parametro viene passato Questo attributo non viene aggiornato per default. |
|
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 Se per questo valore di parametro viene passato Questo attributo non viene aggiornato per default. |
|
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
Ad esempio, l'esempio riportato di seguito mostra un esempio JSON con tre coppie di valori
Quando un consumer di set di dati richiede l'accesso a un data set registrato con Ad esempio, l'esempio seguente mostra un esempio JSON con una coppia di valori
Per informazioni sull'uso delle copie aggiornabili, vedere Usa copie aggiornabili con Autonomous Database. Se per questo valore di parametro viene passato Questo attributo non viene aggiornato per default. |
Note per l'uso
-
Impossibile aggiornare gli attributi
schema_name
eschema_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'
conGRANT_REGISTER
e che l'utente specifichi'MY$REGION'
quando aggiorna la registrazione per il set di dati conDBMS_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 pacchettoDBMS_CLOUD_LINK
e del privilegio di registrazione assegnato conDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Solo l'utente ADMIN e gli schemi conPDB_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 parametrooffload_targets
.Ad esempio, quando si esegue
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
con l'ambito impostato suMY$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
conDBMS_CLOUD_LINK.REGISTER
nell'origine, è necessario omettere questo parametro quando si registra il data set in una copia aggiornabile tra più aree.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_LINK