Riepilogo dei sottoprogrammi consumatore condivisione

In questa tabella sono elencate le procedure e le funzioni del pacchetto DBMS_SHARE utilizzate per utilizzare le condivisioni.

Sottoprogrammi Descrizione
Procedura ASSERT_SHARING_ID Eseguire i controlli di convalida di base per un ID condivisione e restituirne uno in formato canonico.
CREATE_CREDENTIALS Procedura e funzione Creare una credenziale contenente il token bearer da un profilo delta.
Procedura CREATE_OR_REPLACE_SHARE_LINK Sottoscrivi per condividere da un provider di azioni registrato.
Procedura CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Eseguire la sottoscrizione a un provider condivisione Oracle con un nome locale.
Procedura CREATE_ORACLE_SHARE_PROVIDER Eseguire la sottoscrizione a un provider condivisione Oracle con un nome locale.
Procedura CREATE_SHARE_LINK Sottoscrivi per condividere da un provider di azioni registrato.
Procedura CREATE_SHARE_LINK_VIEW Creare o sostituire una vista denominata che consente di accedere a una tabella condivisa remota.
Procedura CREATE_SHARE_PROVIDER Sottoscrizione a un provider condivisione delta.
Funzione DISCOVER_AVAILABLE_SHARES Restituisce un valore SHARE_AVAILABLE_SHARES_ROW per ogni tabella disponibile dai provider di condivisione sottoscritti.
Funzione DISCOVER_AVAILABLE_TABLES Restituisce un valore SHARE_AVAILABLE_TABLES_ROW per ogni tabella disponibile dai provider di condivisione sottoscritti o da un endpoint delta esplicito.
Procedura DROP_SHARE_LINK Eliminare un collegamento di condivisione creato dalla procedura CREATE_SHARE_LINK.
Procedura DROP_SHARE_PROVIDER Rilasciare un abbonamento a un provider di condivisione.
Procedura ENABLE_DELTA_ENDPOINT Creare le ACL necessarie che consentono all'utente specificato di connettersi a un endpoint delta.
Procedura FLUSH_SHARE_LINK_CACHE Svuota la cache delle condivisioni per un determinato collegamento di condivisione.
Procedura FLUSH_SHARE_PROVIDER_CACHE Svuota la cache delle condivisioni per un determinato provider di azioni.
GENERATE_SHARE_LINK_SELECT Procedura e funzione Generare un'istruzione SELECT che restituisca i dati da una tabella condivisa.
Funzione GET_ORACLE_SHARE_LINK_INFO Recupera il nome del collegamento cloud e lo spazio di nomi per una condivisione da Oracle a Oracle.
Procedura GET_SHARE_LINK_INFO Recupera gli endpoint, il tipo di condivisione e il nome condivisione insieme a eventuali metadati JSON aggiuntivi per un collegamento di condivisione.
Procedura GET_SHARE_PROVIDER_CREDENTIAL Recupera il nome della credenziale da utilizzare dall'utente corrente quando tenta di accedere al provider di condivisione delta specificato.
Procedura GET_SHARE_PROVIDER_INFO Recupera le stringhe degli endpoint e il tipo di condivisione insieme a eventuali metadati JSON aggiuntivi per un provider di condivisione.
Funzione GET_SHARING_ID Restituisce un identificativo che può essere utilizzato come sharing_id nella procedura CREATE_SHARE_RECIPIENT.
Procedura OPEN_SHARE_LINK_CURSOR Aprire un cursore che restituisce i dati di una tabella condivisa.
Procedura REFRESH_BEARER_TOKEN_CREDENTIAL Aggiornare una o più credenziali create da CREATE_BEARER_TOKEN_CREDENTIAL o CREATE_CREDENTIALS.
Procedura RENAME_CLOUD_STORAGE_LINK Rinominare un collegamento di storage cloud registrato.
Procedura RENAME_SHARE_LINK Rinominare un collegamento di condivisione registrato.
Procedura RENAME_SHARE_PROVIDER Rinominare un provider di azioni registrato.
Procedura REMOVE_SHARE_SCHEMA Rimuovere uno schema e tutto il relativo contenuto da una condivisione.
Procedura SET_SHARE_LINK_METADATA Impostare i metadati JSON aggiuntivi per il collegamento di condivisione.
Procedura SET_SHARE_PROVIDER_CREDENTIAL Impostare il nome della credenziale per accedere al provider di condivisione specificato.
Procedura SET_SHARE_PROVIDER_METADATA Impostare metadati JSON aggiuntivi per il provider di condivisione.
Procedura UPDATE_BEARER_TOKEN_CREDENTIAL Modificare un attributo di una credenziale creata da CREATE_CREDENTIALS o CREATE_BEARER_TOKEN_CREDENTIAL.

Procedura ASSERT_SHARING_ID

Eseguire i controlli di convalida di base per un ID condivisione e restituirne uno in formato canonico. Viene generata un'eccezione se l'ID è ovviamente non valido.

Sintassi

PROCEDURE ASSERT_SHARING_ID  
(
    sharing_id              IN OUT NOCOPY VARCHAR2,
    out_sharing_id_type     IN OUT NOCOPY VARCHAR2  
);

Parametri

Parametro Descrizione
sharing_id ID da controllare.
out_sharing_id_type Il tipo dell'ID, se valido. Ad esempio, TENANCY o DATABASE.

CREATE_CREDENTIALS Procedura e funzione

Creare una credenziale contenente il token bearer da un profilo di condivisione delta. Il tipo standard, versione 1, specifica un endpoint e un singolo token bearer a lungo termine.

Sintassi

PROCEDURE CREATE_CREDENTIALS  
(
    credential_base_name IN VARCHAR2,
    delta_profile        IN CLOB,
    out_credential_name  IN OUT NOCOPY VARCHAR2  
);

Di seguito è riportata la versione funzionale del file create_credentials che restituisce il nome delle nuove credenziali in formato JSON.

FUNCTION CREATE_CREDENTIALS 
(
   credential_base_name IN VARCHAR2,
   delta_profile        IN CLOB 
)
RETURN CLOB;

Parametri

Parametro Descrizione
credential_base_name Nome base delle credenziali da creare.
delta_profile Profilo di condivisione delta, in formato JSON, ottenuto dal provider di condivisione.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
Il profilo può inoltre, facoltativamente, includere una proprietà tokenEndpoint insieme a clientID e clientSecret.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
  "tokenEndpoint": "https://<token endpoint>",
  "clientID": "<client id>",
  "clientSecret": "<client secret>"
}

Per ulteriori informazioni, vedere Formato file profilo e Token Bearer.

out_credential_name Nome della credenziale token bearer appena creata.

Procedura CREATE_OR_REPLACE_SHARE_LINK

Sottoscrivi per condividere da un provider di azioni registrato.

Sintassi

PROCEDURE CREATE_OR_REPLACE_SHARE_LINK  
(
    share_link_name        IN VARCHAR2,
    share_provider         IN VARCHAR2,
    share_name             IN VARCHAR2,
    provider_owner         IN VARCHAR2 := NULL,
    link_owner             IN VARCHAR2 := NULL,
    use_default_credential IN BOOLEAN := TRUE,
    metadata               IN SYS.JSON_OBJECT_T := NULL,
    auto_commit            IN BOOLEAN := TRUE  
);

Parametri

Procedura CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER

Eseguire la sottoscrizione a un provider condivisione Oracle con un nome locale.

Verrà quindi visualizzata nella vista ALL_SHARE_PROVIDERS con RECIPIENT_TYPE = 'ORACLE'.

Nota

Per aggiungere una credenziale al collegamento di memorizzazione, utilizzare la procedura SET_STORAGE_CREDENTIAL. Vedere SET_STORAGE_CREDENTIAL Procedura.

Sintassi

PROCEDURE CREATE_OR_REPLACE_CLOUD_STORAGE_LINK  
(
    storage_link_name    IN VARCHAR2,
    uri                  IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parametri

Procedura CREATE_ORACLE_SHARE_PROVIDER

Eseguire la sottoscrizione a un provider condivisione Oracle con un nome locale.

Verrà quindi visualizzata nella vista ALL_SHARE_PROVIDERS con RECIPIENT_TYPE = 'ORACLE'.

Sintassi

PROCEDURE CREATE_ORACLE_SHARE_PROVIDER  
(
    oracle_provider_id   IN VARCHAR2,
    provider_name        IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parametri

Parametro Descrizione
oracle_provider_id L'ID provider ottenuto dalla vista ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.

Vedere ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS View.

provider_name Nome locale del provider
owner Il proprietario del nuovo provider condivisione. Lasciare NULL per l'utente corrente.
metadata Metadati JSON facoltativi da associare al provider.
auto_commit Se TRUE, il commit delle modifiche viene eseguito automaticamente dopo la creazione del collegamento. Il valore predefinito è TRUE.

Procedura CREATE_SHARE_LINK

Sottoscrivi per condividere da un provider di azioni registrato. I nomi di condivisione disponibili sono disponibili chiamando il numero DISCOVER_AVAILABLE_SHARES.

Sintassi

PROCEDURE CREATE_SHARE_LINK  
(
    share_link_name      IN VARCHAR2,
    share_provider       IN VARCHAR2,
    share_name           IN VARCHAR2,
    provider_owner       IN VARCHAR2 := NULL,
    link_owner           IN VARCHAR2 := NULL,
    use_default_credential IN BOOLEAN := TRUE,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parametri

Procedura CREATE_SHARE_LINK_VIEW

Creare o sostituire una vista denominata che consente di accedere a una tabella condivisa remota.

Sintassi

PROCEDURE CREATE_SHARE_LINK_VIEW  
(
    view_name            IN VARCHAR2,
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    view_owner           IN VARCHAR2 := NULL,
    share_link_owner     IN VARCHAR2 := NULL  
);

Parametri

Procedura CREATE_SHARE_PROVIDER

Sottoscrizione a un provider condivisione delta.

Sintassi

PROCEDURE CREATE_SHARE_PROVIDER
(
  provider_name        IN VARCHAR2,
  endpoint             IN VARCHAR2,
  token_endpoint       IN VARCHAR2 := NULL,
  share_type           IN VARCHAR2 := 'DELTA',
  owner                IN VARCHAR2 := NULL,
  metadata             IN SYS.JSON_OBJECT_T := NULL,
  auto_commit          IN BOOLEAN := TRUE
);

Parametri

Parametro Descrizione
provider_name Il nome locale di questo provider condivisione.
endpoint Endpoint delta, dal profilo di condivisione delta.
token_endpoint Questo parametro viene ignorato.
share_type Tipo di provider condivisione. Lascia questo come DELTA.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.
metadata Metadati JSON facoltativi da associare al provider di condivisione.
auto_commit Se TRUE (impostazione predefinita), questa chiamata di procedura esegue il commit delle modifiche non visibili esternamente fino a quando non viene eseguito il commit. Se FALSE, l'utente deve eseguire il COMMIT dopo aver eseguito questa chiamata per rendere visibile la modifica.

Funzione DISCOVER_AVAILABLE_SHARES

Restituisce un valore SHARE_AVAILABLE_SHARES_ROW per ogni tabella disponibile dai provider di condivisione sottoscritti.

Sintassi

FUNCTION DISCOVER_AVAILABLE_SHARES  
(
    share_provider       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL  
) RETURN share_available_shares_tbl PIPELINED;

Parametri

Parametro Descrizione
share_provider Il nome del provider condivisione.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.

Esempio: ricerca di un elenco di condivisioni disponibili da un determinato provider

SQL> select available_share_name
  2    from dbms_share.discover_available_shares('share_prov')
  3   order by available_share_name;

AVAILABLE_SHARE_NAME
--------------------------------------------------------------------------------
BURLINGTON_EXPEDITION_2022 

EGYPT_EXPEDITION_2022

Funzione DISCOVER_AVAILABLE_TABLES

Restituisce un valore SHARE_AVAILABLE_TABLES_ROW per ogni tabella disponibile dai provider di condivisione sottoscritti.

Sintassi

FUNCTION DISCOVER_AVAILABLE_TABLES
(
  share_provider       IN VARCHAR2 := NULL,
  share_name           IN VARCHAR2 := NULL,
  owner                IN VARCHAR2 := NULL,
  endpoint             IN VARCHAR2 := NULL,
  credential_name      IN VARCHAR2 := NULL
) RETURN share_available_tables_tbl PIPELINED;

Parametri

Parametro Descrizione
share_provider Nome facoltativo del provider di condivisione. Se NULL, cercare tutti i provider di condivisione sottoscritti.
share_name Nome di condivisione facoltativo. Se NULL, cercare tutte le condivisioni trovate.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.
endpoint Endpoint delta facoltativo.
credential_name Credenziale token bearer opzionale per accedere all'endpoint.

Esempio: elencare le condivisioni disponibili da tutti i provider di azioni sottoscritti

SQL> select * from dbms_share.discover_available_tables()
  2  order by share_name, schema_name, table_name;

 PROVIDER_NAME             PROVIDER_OWNER  SHARE_NAME
------------------------- --------------- ------------------------------
SCHEMA_NAME               TABLE_NAME
------------------------- -------------------------
My Test Oracle Provider   ADP_SHARE_TEST  BURLINGTON_EXPEDITION_2022
SH                        COUNTRIES 

My Test Oracle Provider   ADP_SHARE_TEST  BURLINGTON_EXPEDITION_2022
SH                        SH_COUNTRIES 

My Test Oracle Provider   ADP_SHARE_TEST  EGYPT_EXPEDITION_2022
SHARED_SCHEMA             SHARED_VIEW_1 

My Test Oracle Provider   ADP_SHARE_TEST  EGYPT_EXPEDITION_2022
SHARED_SCHEMA             SHARED_VIEW_2

Esempio: elencare le tabelle disponibili da un endpoint non sottoscritto

SQL> exec dbms_cloud.create_credential('MY_CRED', 'BEARER_TOKEN', '123456') 
PL/SQL procedure successfully completed. 
SQL> column share_name format a13
SQL> column table_name format a20
SQL> column schema_name format a10 
SQL> select share_name, schema_name, table_name 
2   from dbms_share.discover_available_tables( 
3     endpoint=>'https://my_endpoint', 
4     credential_name=>'MY_CRED') 
5   order by 1, 2, 3; 

SHARE_NAME SCHEMA_NAM TABLE_NAME
------------- ---------- --------------------
DELTA_SHARING DEFAULT BOSTON-HOUSING
DELTA_SHARING DEFAULT COVID_19_NYT
DELTA_SHARING DEFAULT FLIGHT-ASA_2008
DELTA_SHARING DEFAULT LENDING_CLUB
DELTA_SHARING DEFAULT NYCTAXI_2019
DELTA_SHARING DEFAULT NYCTAXI_2019_PART
DELTA_SHARING DEFAULT OWID-COVID-DATA 

7 rows selected.

Procedura DROP_SHARE_LINK

Eliminare un collegamento di condivisione creato dalla procedura CREATE_SHARE_LINK.

Per ulteriori informazioni, vedere CREATE_SHARE_LINK Procedure.

Sintassi

PROCEDURE DROP_SHARE_LINK  
(
    link_name            IN VARCHAR2,
    link_owner           IN VARCHAR2 := NULL  
);

Parametri

Procedura DROP_SHARE_PROVIDER

Rilasciare un abbonamento a un provider di condivisione.

Sintassi

PROCEDURE DROP_SHARE_PROVIDER  
(
    provider_name        IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    drop_credentials     IN BOOLEAN := FALSE  
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione da eliminare.
owner Il proprietario del provider azioni da eliminare. Il valore predefinito è lo schema corrente.
drop_credentials Se TRUE, le credenziali associate al provider vengono eliminate. Se FALSE, le credenziali non vengono eliminate.

Procedura ENABLE_DELTA_ENDPOINT

Creare le ACL necessarie che consentono all'utente specificato di connettersi a un endpoint delta. Per questa procedura sono richiesti i privilegi di amministratore.

Sintassi

PROCEDURE ENABLE_DELTA_ENDPOINT  
(
    schema_name          IN VARCHAR2,
    delta_profile        IN CLOB,
    enabled              IN BOOLEAN := TRUE  
);

Parametri

Parametro Descrizione
schema_name Schema da abilitare o disabilitare.
delta_profile Il profilo delta. Sono necessari solo l'endpoint e tokenEndpoint.
enabled TRUE per abilitare questa modalità e FALSE per disabilitarla.

Procedura FLUSH_SHARE_LINK_CACHE

Svuota la cache delle condivisioni per un determinato collegamento di condivisione. La lista di condivisioni per gli endpoint remoti viene recuperata invece di basarsi sui valori inseriti nella cache.

Sintassi

PROCEDURE FLUSH_SHARE_LINK_CACHE  
(
    link_name            IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parametri

Procedura FLUSH_SHARE_PROVIDER_CACHE

Svuota la cache delle condivisioni per un determinato provider di azioni. La lista di condivisioni per gli endpoint remoti viene recuperata invece di basarsi sui valori inseriti nella cache.

Sintassi

PROCEDURE FLUSH_SHARE_PROVIDER_CACHE
(
  provider_name        IN VARCHAR2,
  owner                IN VARCHAR2 := NULL,
  auto_commit          IN BOOLEAN := TRUE
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.
auto_commit Se TRUE, il commit delle modifiche viene eseguito automaticamente. Il valore predefinito è TRUE.

GENERATE_SHARE_LINK_SELECT Procedura e funzione

Generare un'istruzione SELECT che restituisca i dati da una tabella condivisa.

Sintassi

Versione della procedura GENERATE_SHARE_LINK_SELECT.

PROCEDURE GENERATE_SHARE_LINK_SELECT  
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    stmt                 IN OUT NOCOPY CLOB,
    share_link_owner     IN VARCHAR2 := NULL  
);
Versione della funzione GENERATE_SHARE_LINK_SELECT.
 FUNCTION GENERATE_SHARE_LINK_SELECT  
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_link_owner     IN VARCHAR2 := NULL  
)  
RETURN CLOB;

Parametri

Funzione GET_ORACLE_SHARE_LINK_INFO

Recupera il nome del collegamento cloud e lo spazio di nomi per una condivisione da Oracle a Oracle.

Sintassi

FUNCTION GET_ORACLE_SHARE_LINK_INFO
(
  oracle_provider_id   IN VARCHAR2,
  share_name           IN VARCHAR2,
  share_schema_name    IN VARCHAR2,
  share_table_name     IN VARCHAR2
) 
RETURN CLOB;

Parametri

Reso

Il valore restituito è un oggetto JSON contenente tre proprietà: schema, tabella e blink. Il chiamante può utilizzare queste tre proprietà per recuperare i dati utilizzando una query del seguente modulo:

SELECT *
FROM <schema>.<table>@<dblink>

Procedura GET_SHARE_LINK_INFO

Recupera gli endpoint, il tipo di condivisione e il nome condivisione insieme a eventuali metadati JSON aggiuntivi per un collegamento di condivisione.

Sintassi

PROCEDURE GET_SHARE_LINK_INFO  
(
    link_name            IN VARCHAR2,
    endpoint             IN OUT NOCOPY VARCHAR2,
    share_type           IN OUT NOCOPY VARCHAR2,
    share_name           IN OUT NOCOPY VARCHAR2,
    token_endpoint       IN OUT NOCOPY VARCHAR2,
    metadata             IN OUT NOCOPY BLOB,
    link_owner           IN VARCHAR2 := NULL  
);

Parametri

Procedura GET_SHARE_PROVIDER_CREDENTIAL

Recupera il nome della credenziale da utilizzare dall'utente corrente quando tenta di accedere al provider di condivisione delta specificato.

Sintassi

PROCEDURE GET_SHARE_PROVIDER_CREDENTIAL  
(
    provider_name        IN VARCHAR2,
    share_credential     IN OUT NOCOPY VARCHAR2,
    get_token_credential IN OUT NOCOPY VARCHAR2,
    owner                IN VARCHAR2 := NULL  
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione.
share_credential OUT: il nome della credenziale associata al provider. Il nome della credenziale viene restituito senza virgolette doppie, come apparirebbe nella colonna CREDENTIAL_NAME della vista USER_CREDENTIALS.

Vedere ALL_CREDENTIALS View.

get_token_credential Questo parametro non è utilizzato.
owner Il proprietario è il nome dello schema in cui è stato registrato il provider condivisione e non il proprietario della credenziale. Il valore predefinito è lo schema corrente.

Procedura GET_SHARE_PROVIDER_INFO

Recupera le stringhe degli endpoint e il tipo di condivisione insieme a eventuali metadati JSON aggiuntivi per un provider di condivisione. Per i provider condivisione ORACLE, l'ID provider Oracle viene restituito nell'argomento endpoint.

Sintassi

PROCEDURE GET_SHARE_PROVIDER_INFO  
(
    provider_name        IN VARCHAR2,
    endpoint             IN OUT NOCOPY VARCHAR2,
    share_type           IN OUT NOCOPY VARCHAR2,
    token_endpoint       IN OUT NOCOPY VARCHAR2,
    metadata             IN OUT NOCOPY BLOB,
    owner                IN VARCHAR2 := NULL  
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione.
endpoint Endpoint delta.
share_type Il tipo di condivisione: DELTA o ORACLE.
token_endpoint Questo parametro non è utilizzato.
metadata Metadati facoltativi associati al provider di condivisione.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.

Funzione GET_SHARING_ID

Restituisce un identificativo che può essere utilizzato come sharing_id nella procedura CREATE_SHARE_RECIPIENT. Questa funzione può essere utilizzata per condividere i dati tra due utenti, il "fornitore" e il "destinatario", in diversi database.

Per ulteriori informazioni, vedere CREATE_SHARE_RECIPIENT Procedure.

Sintassi

FUNCTION GET_SHARING_ID  
(
    sharing_id_type      IN VARCHAR2 := SHARING_ID_TYPE_DATABASE  
)
  RETURN VARCHAR2;

Parametri

Parametro Descrizione
sharing_id_type Tipo di ID condivisione.

Uso

Il flusso è il seguente:

  1. Il destinatario chiama DBMS_SHARE.GET_SHARING_ID per ottenere un identificativo univoco.
  2. Il destinatario invia questo identificativo (ad esempio via e-mail) al provider.
  3. Il provider chiama DBMS_SHARE.CREATE_SHARE_RECIPIENT, passando l'identificativo come sharing_id.
  4. Il provider chiama DBMS_SHARE.GRANT_TO_RECIPIENT per concedere al destinatario l'accesso ai dati condivisi.

Il parametro sharing_id_type viene utilizzato per specificare gli utenti del database che possono accedere alla condivisione seguendo la sequenza precedente.

  • DATABASE La condivisione sarà visibile a qualsiasi utente amministratore nel DATABASE in cui è stato chiamato GET_SHARING_ID.
  • COMPARTMENT La condivisione sarà visibile a qualsiasi utente amministratore in qualsiasi database nello stesso compartimento in cui è stato chiamato GET_SHARING_ID.
  • TENANCY La condivisione sarà visibile a qualsiasi utente amministratore in qualsiasi database nella stessa TENANCY in cui è stato chiamato GET_SHARING_ID.
  • REGIONE La condivisione sarà visibile a qualsiasi utente amministratore in qualsiasi database nella stessa area in cui è stato chiamato GET_SHARING_ID.

Procedura OPEN_SHARE_LINK_CURSOR

Aprire un cursore che restituisce i dati di una tabella condivisa.

Sintassi

PROCEDURE OPEN_SHARE_LINK_CURSOR  
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    table_cursor         IN OUT NOCOPY SYS_REFCURSOR,
    share_link_owner     IN VARCHAR2 := NULL  
);

Parametri

Parametro Descrizione
share_link_name Il nome del collegamento di condivisione.
share_schema_name Il nome dello schema condiviso.
share_table_name Il nome della tabella condivisa.
table_cursor Il cursore.
share_link_owner Il proprietario del collegamento. Il valore predefinito è lo schema corrente.

Procedura REFRESH_BEARER_TOKEN_CREDENTIAL

Aggiornare una o più credenziali create da CREATE_BEARER_TOKEN_CREDENTIAL o CREATE_CREDENTIALS richiamando gli endpoint del token registrato e recuperando i nuovi token bearer. Si noti che questa procedura viene richiamata automaticamente da un job dello scheduler, ADP$BEARER_REFRESH_JOB, che viene eseguito ogni 50 minuti.

Sintassi

PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL  
(
    credential_name           IN VARCHAR2 := NULL  
);

Parametri

Parametro Descrizione
credential_name Il nome della credenziale da aggiornare.

Procedura RENAME_CLOUD_STORAGE_LINK

Rinominare un collegamento di storage cloud registrato.

Sintassi

PROCEDURE RENAME_CLOUD_STORAGE_LINK  
( 
    old_name             IN VARCHAR2,
    new_name             IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parametri

Procedura RENAME_SHARE_PROVIDER

Rinominare un provider di azioni registrato.

Sintassi

PROCEDURE RENAME_SHARE_PROVIDER
(
  old_name             IN VARCHAR2,
  new_name             IN VARCHAR2,
  owner                IN VARCHAR2 := NULL
);

Parametri

Parametro Descrizione
old_name Il nome corrente del provider condivisione.
new_name Il nuovo nome del provider condivisione.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.

Procedura REMOVE_SHARE_SCHEMA

Rimuovere uno schema e tutto il relativo contenuto da una condivisione.

Sintassi

PROCEDURE REMOVE_SHARE_SCHEMA  
(
    share_name           IN VARCHAR2,
    schema_name          IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

Parametri

Parametro Descrizione
share_name Il nome della condivisione.
schema_name Il nome dello schema da rimuovere.
share_owner Il proprietario della quota.
auto_commit Se TRUE, il commit delle modifiche viene eseguito automaticamente. L'impostazione predefinita è FALSE.

Procedura SET_SHARE_LINK_METADATA

Impostare i metadati JSON aggiuntivi per il collegamento di condivisione.

Sintassi

PROCEDURE SET_SHARE_LINK_METADATA  
(
    link_name            IN VARCHAR2,
    metadata             IN SYS.JSON_OBJECT_T,
    replace_existing     IN BOOLEAN := FALSE,
    link_owner           IN VARCHAR2 := NULL  
);

Parametri

Procedura SET_SHARE_PROVIDER_CREDENTIAL

Impostare il nome della credenziale da utilizzare per l'utente corrente quando tenta di accedere al provider di condivisione specificato.

Sintassi

PROCEDURE SET_SHARE_PROVIDER_CREDENTIAL  
(
    provider_name        IN VARCHAR2,
    share_credential     IN VARCHAR2,
    get_token_credential IN VARCHAR2 := NULL,
    owner                IN VARCHAR2 := NULL,
    check_if_exists      IN BOOLEAN := TRUE  
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione.
share_credential Credenziale del token bearer.
get_token_credential Questo argomento viene ignorato.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.
check_if_exists Se TRUE (impostazione predefinita), convalidare l'esistenza della credenziale.

Procedura SET_SHARE_PROVIDER_METADATA

Impostare metadati JSON aggiuntivi per il provider di condivisione.

Sintassi

PROCEDURE SET_SHARE_PROVIDER_METADATA  
(
    provider_name        IN VARCHAR2,
    metadata             IN SYS.JSON_OBJECT_T,
    replace_existing     IN BOOLEAN := FALSE,
    owner                IN VARCHAR2 := NULL  
);

Parametri

Parametro Descrizione
provider_name Il nome del provider condivisione.
metadata I nuovi metadati.
replace_existing Se TRUE, tutti i metadati esistenti vengono sostituiti dalla nuova versione. Se FALSE, il nuovo valore viene unito a qualsiasi metadati esistente.
owner Il proprietario del provider azioni. Il valore predefinito è lo schema corrente.

Procedura UPDATE_BEARER_TOKEN_CREDENTIAL

Modificare un attributo di una credenziale creata da CREATE_CREDENTIALS o CREATE_BEARER_TOKEN_CREDENTIAL.

Sintassi

PROCEDURE UPDATE_BEARER_TOKEN_CREDENTIAL  
(
     credential_name           IN VARCHAR2,
     attribute                 IN VARCHAR2,
     new_value                 IN VARCHAR2  
);

Parametri

Parametro Descrizione
credential_name Nome della credenziale da aggiornare.
attribute Attributo da aggiornare. Una delle opzioni "BEARER_TOKEN", "CLIENT_ID", "CLIENT_SECRET", "TOKEN_REFRESH_RATE". Impossibile modificare l'endpoint del token.
new_value Nuovo valore.

Esempio: aggiornare il CLIENT_ID di una credenziale

SQL> BEGIN
  2    dbms_share.create_bearer_token_credential(
  3      credential_name=>'MY_RENEWABLE_CREDENTIAL',
  4      token_endpoint=>'https://myserver/ords/share_provider/oauth/token',
  5      client_id=>'VXGQ_44s6qJ-K4WHUNM2yQ..',
  6      client_secret=>'y9ddppgwEmZl7adDHFQndw..');
  7  END;
  8  /
PL/SQL procedure successfully completed.
SQL> select credential_name, username from user_credentials where credential_name LIKE 'MY_RENEWABLE_CREDENTIAL%';
CREDENTIAL_NAME
------------------------------------------                           
USERNAME
-------------------------------------
MY_RENEWABLE_CREDENTIAL
BEARER_TOKEN
MY_RENEWABLE_CREDENTIAL$TOKEN_REFRESH_CRED
ABCDEF