Zusammenfassung der Unterprogramme des Share Consumer

In dieser Tabelle werden die Prozeduren und Funktionen des Packages DBMS_SHARE aufgeführt, die zum Konsumieren von Shares verwendet werden.

Unterprogramme Beschreibung
Prozedur ASSERT_SHARING_ID Führen Sie grundlegende Validierungsprüfungen für eine Freigabe-ID aus, und geben Sie eine in kanonischer Form zurück.
CREATE_CREDENTIALS Prozedur und Funktion Erstellen Sie Zugangsdaten mit dem Bearer-Token aus einem Delta-Profil.
Prozedur CREATE_OR_REPLACE_SHARE_LINK Abonnieren Sie die Freigabe von einem registrierten Freigabeprovider.
Prozedur CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Abonnieren Sie einen Oracle Share Provider mit einem lokalen Namen.
Prozedur CREATE_ORACLE_SHARE_PROVIDER Abonnieren Sie einen Oracle Share Provider mit einem lokalen Namen.
Prozedur CREATE_SHARE_LINK Abonnieren Sie die Freigabe von einem registrierten Freigabeprovider.
Prozedur CREATE_SHARE_LINK_VIEW Erstellen oder ersetzen Sie eine benannte View, die Zugriff auf eine Remote Shared Table gewährt.
Prozedur CREATE_SHARE_PROVIDER Abonnieren Sie einen Delta Share Provider.
Funktion DISCOVER_AVAILABLE_SHARES Geben Sie eine SHARE_AVAILABLE_SHARES_ROW für jede verfügbare Tabelle von den abonnierten Shareprovidern zurück.
Funktion DISCOVER_AVAILABLE_TABLES Gibt eine SHARE_AVAILABLE_TABLES_ROW für jede verfügbare Tabelle von den abonnierten Shareprovidern oder von einem expliziten Deltaendpunkt zurück.
Prozedur DROP_SHARE_LINK Löschen Sie einen Share-Link, der von der Prozedur CREATE_SHARE_LINK erstellt wurde.
Prozedur DROP_SHARE_PROVIDER Abonnement für einen Share-Provider löschen.
Prozedur ENABLE_DELTA_ENDPOINT Erstellen Sie erforderliche ACLs, mit denen der angegebene Benutzer eine Verbindung zu einem Delta-Endpunkt herstellen kann.
Prozedur FLUSH_SHARE_LINK_CACHE Leeren Sie den Cache der Shares für einen bestimmten Share-Link.
Prozedur FLUSH_SHARE_PROVIDER_CACHE Leeren Sie den Cache der Shares für einen bestimmten Share-Provider.
GENERATE_SHARE_LINK_SELECT Prozedur und Funktion Generieren Sie eine SELECT-Anweisung, die Daten aus einer gemeinsamen Tabelle zurückgibt.
Funktion GET_ORACLE_SHARE_LINK_INFO Rufen Sie den Cloud-Linknamen und den Namespace für eine Oracle-zu-Oracle-Freigabe ab.
Prozedur GET_SHARE_LINK_INFO Rufen Sie die Endpunkte, den Freigabetyp und den Freigabenamen zusammen mit allen zusätzlichen JSON-Metadaten für einen Freigabelink ab.
Prozedur GET_SHARE_PROVIDER_CREDENTIAL Rufen Sie den Zugangsdatennamen ab, der vom aktuellen Benutzer verwendet werden soll, wenn er versucht, auf den angegebenen Delta Share Provider zuzugreifen.
Prozedur GET_SHARE_PROVIDER_INFO Rufen Sie die Endpunktzeichenfolge(en) und den Freigabetyp zusammen mit zusätzlichen JSON-Metadaten für einen Shareprovider ab.
Funktion GET_SHARING_ID Gibt eine ID zurück, die als sharing_id in der Prozedur CREATE_SHARE_RECIPIENT verwendet werden kann.
Prozedur OPEN_SHARE_LINK_CURSOR Öffnen Sie einen Cursor, der Daten aus einer gemeinsam verwendeten Tabelle zurückgibt.
Prozedur REFRESH_BEARER_TOKEN_CREDENTIAL Aktualisieren Sie mindestens eine Zugangsdaten, die von CREATE_BEARER_TOKEN_CREDENTIAL oder CREATE_CREDENTIALS erstellt wurden.
Prozedur RENAME_CLOUD_STORAGE_LINK Benennen Sie einen registrierten Cloud-Speicherlink um.
Prozedur RENAME_SHARE_LINK Benennen Sie einen registrierten Share-Link um.
Prozedur RENAME_SHARE_PROVIDER Benennen Sie einen registrierten Freigabeprovider um.
Prozedur REMOVE_SHARE_SCHEMA Entfernen Sie ein Schema und seinen gesamten Inhalt aus einem Share.
Prozedur SET_SHARE_LINK_METADATA Legen Sie die zusätzlichen JSON-Metadaten für den Share-Link fest.
Prozedur SET_SHARE_PROVIDER_CREDENTIAL Legen Sie den Zugangsdatennamen für den Zugriff auf den angegebenen Share-Provider fest.
Prozedur SET_SHARE_PROVIDER_METADATA Legen Sie zusätzliche JSON-Metadaten für den Share-Provider fest.
Prozedur UPDATE_BEARER_TOKEN_CREDENTIAL Ändern Sie ein Attribut einer Zugangsdaten, die von CREATE_CREDENTIALS oder CREATE_BEARER_TOKEN_CREDENTIAL erstellt wurden.

Prozedur ASSERT_SHARING_ID

Führen Sie grundlegende Validierungsprüfungen für eine Freigabe-ID aus, und geben Sie eine in kanonischer Form zurück. Eine Ausnahme wird ausgelöst, wenn die ID offensichtlich ungültig ist.

Syntax

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

Parameter

Parameter Beschreibung
sharing_id Die zu prüfende ID.
out_sharing_id_type Der Typ der ID, sofern gültig. Beispiel: TENANCY oder DATABASE.

CREATE_CREDENTIALS Prozedur und Funktion

Erstellen Sie Zugangsdaten mit dem Bearer-Token aus einem Delta-Sharing-Profil. Der Standardtyp, Version 1, gibt einen Endpunkt und ein einzelnes langfristiges Bearer-Token an.

Syntax

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

Im Folgenden finden Sie die funktionale Version von create_credentials, die den Namen der neuen Zugangsdaten im JSON-Formular zurückgibt.

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

Parameter

Parameter Beschreibung
credential_base_name Der Basisname der zu erstellenden Zugangsdaten.
delta_profile Das Delta-Sharing-Profil im JSON-Format, das vom Share-Provider abgerufen wird.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
Das Profil kann optional auch eine tokenEndpoint-Eigenschaft zusammen mit einem clientID und einem clientSecret enthalten.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
  "tokenEndpoint": "https://<token endpoint>",
  "clientID": "<client id>",
  "clientSecret": "<client secret>"
}

Weitere Informationen finden Sie unter Profildateiformat und Bearertoken.

out_credential_name Der Name der neu erstellten Zugangsdaten für das Bearer-Token.

Prozedur CREATE_OR_REPLACE_SHARE_LINK

Abonnieren Sie die Freigabe von einem registrierten Freigabeprovider.

Syntax

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  
);

Parameter

Prozedur CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER

Abonnieren Sie einen Oracle Share Provider mit einem lokalen Namen.

Er wird dann in der Ansicht ALL_SHARE_PROVIDERS mit RECIPIENT_TYPE = 'ORACLE' angezeigt.

Hinweis

Verwenden Sie die Prozedur SET_STORAGE_CREDENTIAL, um dem Speicherlink Zugangsdaten hinzuzufügen. Siehe Prozedur SET_STORAGE_CREDENTIAL.

Syntax

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  
);

Parameter

Prozedur CREATE_ORACLE_SHARE_PROVIDER

Abonnieren Sie einen Oracle Share Provider mit einem lokalen Namen.

Er wird dann in der Ansicht ALL_SHARE_PROVIDERS mit RECIPIENT_TYPE = 'ORACLE' angezeigt.

Syntax

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  
);

Parameter

Parameter Beschreibung
oracle_provider_id Die Provider-ID, die aus der Ansicht ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS abgerufen wird.

Siehe Ansicht ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.

provider_name Ein lokaler Name für den Provider
owner Der Eigentümer des neuen Freigabeproviders. Lassen Sie für den aktuellen Benutzer den Wert NULL.
metadata Optionale JSON-Metadaten, die mit dem Provider verknüpft werden sollen.
auto_commit Wenn TRUE, werden die Änderungen nach dem Erstellen des Links automatisch festgeschrieben. Der Standardwert ist TRUE.

Prozedur CREATE_SHARE_LINK

Abonnieren Sie die Freigabe von einem registrierten Freigabeprovider. Die verfügbaren Share-Namen finden Sie unter DISCOVER_AVAILABLE_SHARES.

Syntax

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  
);

Parameter

Prozedur CREATE_SHARE_LINK_VIEW

Erstellen oder ersetzen Sie eine benannte View, die Zugriff auf eine Remote Shared Table gewährt.

Syntax

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  
);

Parameter

Prozedur CREATE_SHARE_PROVIDER

Abonnieren Sie einen Delta Share Provider.

Syntax

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
);

Parameter

Parameter Beschreibung
provider_name Der lokale Name dieses Share-Providers.
endpoint Der Deltaendpunkt aus dem Delta-Sharingprofil.
token_endpoint Dieser Parameter wird ignoriert.
share_type Der Typ des Share Providers. Lassen Sie dies als DELTA.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.
metadata Optionale JSON-Metadaten, die mit dem Shareprovider verknüpft werden sollen.
auto_commit Bei 'Wahr' (Standardwert) werden bei diesem Prozeduraufruf Änderungen festgeschrieben, die bis zum Festschreiben extern nicht sichtbar sind. Bei FALSE muss der Benutzer nach der Ausführung dieses Aufrufs COMMIT ausführen, um die Änderung sichtbar zu machen.

Funktion DISCOVER_AVAILABLE_SHARES

Geben Sie eine SHARE_AVAILABLE_SHARES_ROW für jede verfügbare Tabelle von den abonnierten Shareprovidern zurück.

Syntax

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

Parameter

Parameter Beschreibung
share_provider Der Name des Shareproviders.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.

Beispiel: Eine Liste der von einem bestimmten Provider verfügbaren Shares ermitteln

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

Funktion DISCOVER_AVAILABLE_TABLES

Geben Sie eine SHARE_AVAILABLE_TABLES_ROW für jede verfügbare Tabelle von den abonnierten Shareprovidern zurück.

Syntax

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;

Parameter

Parameter Beschreibung
share_provider Ein optionaler Share-Providername. Wenn NULL, alle abonnierten Freigabeprovider durchsuchen.
share_name Optionaler Share-Name. Wenn NULL, suchen Sie alle erkannten Shares.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.
endpoint Ein optionaler Delta-Endpunkt.
credential_name Ein optionaler Bearer-Token-Zugang für den Zugriff auf den Endpunkt.

Beispiel: Von allen abonnierten Share-Providern verfügbare Shares auflisten

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

Beispiel: Tabellen auflisten, die von einem abgemeldeten Endpunkt verfügbar sind

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.

Prozedur DROP_SHARE_LINK

Löschen Sie einen Share-Link, der von der Prozedur CREATE_SHARE_LINK erstellt wurde.

Weitere Informationen finden Sie unter Prozedur CREATE_SHARE_LINK.

Syntax

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

Parameter

Prozedur DROP_SHARE_PROVIDER

Abonnement für einen Share-Provider löschen.

Syntax

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

Parameter

Parameter Beschreibung
provider_name Der Name des zu löschenden Share-Providers.
owner Der Eigentümer des zu löschenden Share-Providers. Der Standardwert ist das aktuelle Schema.
drop_credentials Wenn TRUE, werden alle mit dem Provider verknüpften Zugangsdaten gelöscht. Bei FALSE werden die Zugangsdaten nicht gelöscht.

Prozedur ENABLE_DELTA_ENDPOINT

Erstellen Sie erforderliche ACLs, mit denen der angegebene Benutzer eine Verbindung zu einem Delta-Endpunkt herstellen kann. Für diese Prozedur sind Administratorberechtigungen erforderlich.

Syntax

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

Parameter

Parameter Beschreibung
schema_name Das zu aktivierende oder zu deaktivierende Schema.
delta_profile Das Delta-Profil. Nur der Endpunkt und tokenEndpoint sind erforderlich.
enabled TRUE zum Aktivieren und FALSE zum Deaktivieren.

Prozedur FLUSH_SHARE_LINK_CACHE

Leeren Sie den Cache der Shares für einen bestimmten Share-Link. Die Liste der Shares für die Remoteendpunkte wird abgerufen, anstatt sich auf gecachte Werte zu verlassen.

Syntax

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

Parameter

Prozedur FLUSH_SHARE_PROVIDER_CACHE

Leeren Sie den Cache der Shares für einen bestimmten Share-Provider. Die Liste der Shares für die Remoteendpunkte wird abgerufen, anstatt sich auf gecachte Werte zu verlassen.

Syntax

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

Parameter

Parameter Beschreibung
provider_name Der Name des Shareproviders.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.
auto_commit Bei 'Wahr' werden die Änderungen automatisch festgeschrieben. Der Standardwert ist TRUE.

GENERATE_SHARE_LINK_SELECT Prozedur und Funktion

Generieren Sie eine SELECT-Anweisung, die Daten aus einer gemeinsamen Tabelle zurückgibt.

Syntax

Prozedurversion von 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  
);
Funktionsversion von 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;

Parameter

Funktion GET_ORACLE_SHARE_LINK_INFO

Rufen Sie den Cloud-Linknamen und den Namespace für eine Oracle-zu-Oracle-Freigabe ab.

Syntax

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;

Parameter

Zurückgehen

Der Rückgabewert ist ein JSON-Objekt, das drei Eigenschaften enthält: Schema, Tabelle und dblink. Der Aufrufer kann diese drei Eigenschaften verwenden, um Daten mit einer Abfrage der folgenden Form abzurufen:

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

Prozedur GET_SHARE_LINK_INFO

Rufen Sie die Endpunkte, den Freigabetyp und den Freigabenamen zusammen mit allen zusätzlichen JSON-Metadaten für einen Freigabelink ab.

Syntax

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  
);

Parameter

Prozedur GET_SHARE_PROVIDER_CREDENTIAL

Rufen Sie den Zugangsdatennamen ab, der vom aktuellen Benutzer verwendet werden soll, wenn er versucht, auf den angegebenen Delta Share Provider zuzugreifen.

Syntax

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  
);

Parameter

Parameter Beschreibung
provider_name Der Name des Shareproviders.
share_credential OUT: Der Name der Zugangsdaten, die mit dem Provider verknüpft sind. Der Zugangsdatenname wird ohne doppelte Anführungszeichen zurückgegeben, wie er in der Spalte CREDENTIAL_NAME der View USER_CREDENTIALS angezeigt würde.

Siehe Ansicht ALL_CREDENTIALS.

get_token_credential Dieser Parameter wird nicht verwendet.
owner Der Eigentümer ist der Name des Schemas, in dem der Shareprovider registriert wurde, nicht der Eigentümer der Zugangsdaten. Der Standardwert ist das aktuelle Schema.

Prozedur GET_SHARE_PROVIDER_INFO

Rufen Sie die Endpunktzeichenfolge(en) und den Freigabetyp zusammen mit zusätzlichen JSON-Metadaten für einen Shareprovider ab. Bei ORACLE-Freigabeprovidern wird die Oracle-Provider-ID im Endpunktargument zurückgegeben.

Syntax

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  
);

Parameter

Parameter Beschreibung
provider_name Der Name des Shareproviders.
endpoint Der Delta-Endpunkt.
share_type Der Freigabetyp: DELTA oder ORACLE.
token_endpoint Dieser Parameter wird nicht verwendet.
metadata Die optionalen Metadaten, die mit dem Shareprovider verknüpft waren.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.

Funktion GET_SHARING_ID

Gibt eine ID zurück, die als sharing_id in der Prozedur CREATE_SHARE_RECIPIENT verwendet werden kann. Diese Funktion kann verwendet werden, um Daten zwischen zwei Benutzern, dem "Provider" und dem "Empfänger", in verschiedenen Datenbanken zu teilen.

Weitere Informationen finden Sie unter Prozedur CREATE_SHARE_RECIPIENT.

Syntax

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

Parameter

Parameter Beschreibung
sharing_id_type Der Typ der Freigabe-ID.

Nutzung

Der Ablauf sieht folgendermaßen aus:

  1. Der Empfänger ruft DBMS_SHARE.GET_SHARING_ID auf, um eine eindeutige ID abzurufen.
  2. Der Empfänger sendet diese Kennung (z.B. per E-Mail) an den Anbieter.
  3. Der Provider ruft DBMS_SHARE.CREATE_SHARE_RECIPIENT auf und übergibt die ID als sharing_id.
  4. Der Provider ruft DBMS_SHARE.GRANT_TO_RECIPIENT auf, um dem Empfänger Zugriff auf freigegebene Daten zu gewähren.

Mit dem Parameter sharing_id_type wird angegeben, welche Datenbankbenutzer auf das Share gemäß der obigen Sequenz zugreifen können.

  • DATABASE Die Freigabe ist für alle Admin-Benutzer in der Datenbank sichtbar, in der GET_SHARING_ID aufgerufen wurde.
  • COMPARTMENT Die Freigabe wird jedem Admin-Benutzer in jeder Datenbank in demselben COMPARTMENT angezeigt, in dem GET_SHARING_ID aufgerufen wurde.
  • TENANCY Die Freigabe wird jedem Admin-Benutzer in jeder Datenbank in demselben Mandanten angezeigt, in dem GET_SHARING_ID aufgerufen wurde.
  • REGION Die Freigabe ist für jeden Admin-Benutzer in jeder Datenbank in derselben REGION sichtbar, in der GET_SHARING_ID aufgerufen wurde.

Prozedur OPEN_SHARE_LINK_CURSOR

Öffnen Sie einen Cursor, der Daten aus einer gemeinsam verwendeten Tabelle zurückgibt.

Syntax

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  
);

Parameter

Parameter Beschreibung
share_link_name Der Name des Share-Links.
share_schema_name Der Name des gemeinsam verwendeten Schemas.
share_table_name Der Name der gemeinsamen Tabelle.
table_cursor Der Cursor.
share_link_owner Der Linkeigentümer. Der Standardwert ist das aktuelle Schema.

Prozedur REFRESH_BEARER_TOKEN_CREDENTIAL

Aktualisieren Sie mindestens eine Zugangsdaten, die von CREATE_BEARER_TOKEN_CREDENTIAL oder CREATE_CREDENTIALS erstellt wurden, indem Sie die registrierten Tokenendpunkte aufrufen und neue Bearer-Token abrufen. Beachten Sie, dass diese Prozedur automatisch von einem Scheduler-Job, ADP$BEARER_REFRESH_JOB, aufgerufen wird, der alle 50 Minuten ausgeführt wird.

Syntax

PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL  
(
    credential_name           IN VARCHAR2 := NULL  
);

Parameter

Parameter Beschreibung
credential_name Der Name der zu aktualisierenden Zugangsdaten.

Prozedur RENAME_CLOUD_STORAGE_LINK

Benennen Sie einen registrierten Cloud-Speicherlink um.

Syntax

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

Parameter

Prozedur RENAME_SHARE_PROVIDER

Benennen Sie einen registrierten Freigabeprovider um.

Syntax

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

Parameter

Parameter Beschreibung
old_name Der aktuelle Name des Shareproviders.
new_name Der neue Name des Freigabeproviders.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.

Prozedur REMOVE_SHARE_SCHEMA

Entfernen Sie ein Schema und seinen gesamten Inhalt aus einem Share.

Syntax

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

Parameter

Parameter Beschreibung
share_name Der Name des Shares.
schema_name Der Name des zu entfernenden Schemas.
share_owner Der Eigentümer der Aktie.
auto_commit Bei 'Wahr' werden die Änderungen automatisch festgeschrieben. Der Standardwert ist FALSE.

Prozedur SET_SHARE_LINK_METADATA

Legen Sie die zusätzlichen JSON-Metadaten für den Share-Link fest.

Syntax

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  
);

Parameter

Prozedur SET_SHARE_PROVIDER_CREDENTIAL

Legen Sie den Zugangsdatennamen fest, der vom aktuellen Benutzer verwendet werden soll, wenn er versucht, auf den angegebenen Share-Provider zuzugreifen.

Syntax

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  
);

Parameter

Parameter Beschreibung
provider_name Der Name des Shareproviders.
share_credential Die Zugangsdaten für das Bearer-Token.
get_token_credential Dieses Argument wird ignoriert.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.
check_if_exists Wenn TRUE (Standard) gilt, prüfen Sie, ob die Zugangsdaten vorhanden sind.

Prozedur SET_SHARE_PROVIDER_METADATA

Legen Sie zusätzliche JSON-Metadaten für den Share-Provider fest.

Syntax

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

Parameter

Parameter Beschreibung
provider_name Der Name des Shareproviders.
metadata Die neuen Metadaten.
replace_existing Wenn TRUE, werden alle vorhandenen Metadaten durch die neue Version ersetzt. Bei FALSE wird der neue Wert mit allen vorhandenen Metadaten zusammengeführt.
owner Der Eigentümer des Share-Providers. Der Standardwert ist das aktuelle Schema.

Prozedur UPDATE_BEARER_TOKEN_CREDENTIAL

Ändern Sie ein Attribut einer Zugangsdaten, die von CREATE_CREDENTIALS oder CREATE_BEARER_TOKEN_CREDENTIAL erstellt wurden.

Syntax

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

Parameter

Parameter Beschreibung
credential_name Der Name der zu aktualisierenden Zugangsdaten.
attribute Das zu aktualisierende Attribut. Eine der Optionen "BEARER_TOKEN", "CLIENT_ID", "CLIENT_SECRET", "TOKEN_REFRESH_RATE". Der Tokenendpunkt kann nicht geändert werden.
new_value Der neue Wert.

Beispiel: Aktualisieren Sie die CLIENT_ID einer Zugangsdaten

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