Resumen de Subprogramas de Consumidores Compartidos

En esta tabla, se muestran las funciones y los procedimientos del paquete DBMS_SHARE utilizados para consumir recursos compartidos.

Subprogramas Descripción
Procedimiento ASSERT_SHARING_ID Ejecute comprobaciones de validación básicas en un ID de uso compartido y devuelva una en formato canónico.
CREATE_CREDENTIALS Procedimiento y función Cree una credencial que contenga el token de portador a partir de un perfil delta.
Procedimiento CREATE_OR_REPLACE_SHARE_LINK Suscribirse a un recurso compartido de un proveedor de recursos compartidos registrado.
Procedimiento CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Suscríbase a un proveedor de recursos compartidos de Oracle con un nombre local.
Procedimiento CREATE_ORACLE_SHARE_PROVIDER Suscríbase a un proveedor de recursos compartidos de Oracle con un nombre local.
Procedimiento CREATE_SHARE_LINK Suscribirse a un recurso compartido de un proveedor de recursos compartidos registrado.
Procedimiento CREATE_SHARE_LINK_VIEW Cree o sustituya una vista con nombre que proporcione acceso a una tabla compartida remota.
Procedimiento CREATE_SHARE_PROVIDER Suscribirse a un proveedor de recursos compartidos delta.
Función DISCOVER_AVAILABLE_SHARES Devuelva un valor SHARE_AVAILABLE_SHARES_ROW para cada tabla disponible de los proveedores de recursos compartidos suscritos.
Función DISCOVER_AVAILABLE_TABLES Devuelva un valor SHARE_AVAILABLE_TABLES_ROW para cada tabla disponible de los proveedores de recursos compartidos suscritos o de un punto final delta explícito.
Procedimiento DROP_SHARE_LINK Borre un enlace de recurso compartido creado por el procedimiento CREATE_SHARE_LINK.
Procedimiento DROP_SHARE_PROVIDER Soltar una suscripción a un proveedor de recursos compartidos.
Procedimiento ENABLE_DELTA_ENDPOINT Cree las ACL necesarias que permitan al usuario especificado conectarse a un punto final delta.
Procedimiento FLUSH_SHARE_LINK_CACHE Vacíe la caché de recursos compartidos para un enlace de recurso compartido determinado.
Procedimiento FLUSH_SHARE_PROVIDER_CACHE Vacíe la caché de recursos compartidos para un proveedor de recursos compartidos determinado.
GENERATE_SHARE_LINK_SELECT Procedimiento y función Generar una sentencia SELECT que devuelva datos de una tabla compartida.
Función GET_ORACLE_SHARE_LINK_INFO Recupere el nombre y el espacio de nombres del enlace en la nube para un recurso compartido de Oracle a Oracle.
Procedimiento GET_SHARE_LINK_INFO Obtenga los puntos finales, el tipo de recurso compartido y el nombre del recurso compartido junto con los metadatos JSON adicionales para un enlace de recurso compartido.
Procedimiento GET_SHARE_PROVIDER_CREDENTIAL Obtenga el nombre de credencial que utilizará el usuario actual cuando intente acceder al proveedor de recursos compartidos delta proporcionado.
Procedimiento GET_SHARE_PROVIDER_INFO Obtenga las cadenas de punto final y el tipo de recurso compartido junto con los metadatos JSON adicionales para un proveedor de recursos compartidos.
Función GET_SHARING_ID Devuelve un identificador que se puede utilizar como sharing_id en el procedimiento CREATE_SHARE_RECIPIENT.
Procedimiento OPEN_SHARE_LINK_CURSOR Abra un cursor que devuelva datos de una tabla compartida.
Procedimiento REFRESH_BEARER_TOKEN_CREDENTIAL Actualice una o más credenciales creadas por CREATE_BEARER_TOKEN_CREDENTIAL o CREATE_CREDENTIALS.
Procedimiento RENAME_CLOUD_STORAGE_LINK Cambie el nombre de un enlace de almacenamiento en la nube registrado.
Procedimiento RENAME_SHARE_LINK Cambie el nombre de un enlace de recurso compartido registrado.
Procedimiento RENAME_SHARE_PROVIDER Cambie el nombre de un proveedor de recursos compartidos registrado.
Procedimiento REMOVE_SHARE_SCHEMA Elimine un esquema y todo su contenido de un recurso compartido.
Procedimiento SET_SHARE_LINK_METADATA Defina los metadatos JSON adicionales para el enlace de recurso compartido.
Procedimiento SET_SHARE_PROVIDER_CREDENTIAL Defina el nombre de la credencial para acceder al proveedor de recursos compartidos proporcionado.
Procedimiento SET_SHARE_PROVIDER_METADATA Defina metadatos JSON adicionales para el proveedor de recursos compartidos.
Procedimiento UPDATE_BEARER_TOKEN_CREDENTIAL Modifique un atributo de una credencial creada por CREATE_CREDENTIALS o CREATE_BEARER_TOKEN_CREDENTIAL.

Procedimiento ASSERT_SHARING_ID

Ejecute comprobaciones de validación básicas en un ID de uso compartido y devuelva una en formato canónico. Se emite una excepción si el ID obviamente no es válido.

Sintaxis

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

Parámetros

parámetro Descripción
sharing_id El ID que se va a comprobar.
out_sharing_id_type Tipo de ID, si es válido. Por ejemplo, TENANCY o DATABASE.

CREATE_CREDENTIALS Procedimiento y función

Cree una credencial que contenga el token de portador a partir de un perfil de uso compartido delta. El tipo estándar, versión 1, especifica un punto final y un único token de portador a largo plazo.

Sintaxis

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

A continuación se muestra la versión funcional de create_credentials que devuelve el nombre de las nuevas credenciales en formato JSON.

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

Parámetros

parámetro Descripción
credential_base_name Nombre base de las credenciales que se van a crear.
delta_profile Perfil de uso compartido delta, en formato JSON, obtenido del proveedor de recursos compartidos.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
El perfil también puede, opcionalmente, incluir una propiedad tokenEndpoint junto con clientID y clientSecret.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
  "tokenEndpoint": "https://<token endpoint>",
  "clientID": "<client id>",
  "clientSecret": "<client secret>"
}

Consulte Formato de archivo de perfil y Token de portador para obtener más información.

out_credential_name Nombre de la credencial de token de portador recién creada.

Procedimiento CREATE_OR_REPLACE_SHARE_LINK

Suscribirse a un recurso compartido de un proveedor de recursos compartidos registrado.

Sintaxis

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

Parámetros

Procedimiento CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER

Suscríbase a un proveedor de recursos compartidos de Oracle con un nombre local.

A continuación, aparecerá en ALL_SHARE_PROVIDERS View con RECIPIENT_TYPE = 'ORACLE'.

Nota

Utilice el procedimiento SET_STORAGE_CREDENTIAL para agregar una credencial al enlace de almacenamiento. Consulte Procedimiento SET_STORAGE_CREDENTIAL.

Sintaxis

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

Parámetros

Procedimiento CREATE_ORACLE_SHARE_PROVIDER

Suscríbase a un proveedor de recursos compartidos de Oracle con un nombre local.

A continuación, aparecerá en ALL_SHARE_PROVIDERS View con RECIPIENT_TYPE = 'ORACLE'.

Sintaxis

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

Parámetros

parámetro Descripción
oracle_provider_id ID de proveedor obtenido de la vista ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.

Consulte ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS View.

provider_name Un nombre local para el profesional asistencial
owner Propietario del nuevo proveedor de recursos compartidos. Deje NULL para el usuario actual.
metadata Metadatos JSON opcionales para asociar al proveedor.
auto_commit Si es TRUE, los cambios se confirman automáticamente después de crear el enlace. El valor por defecto es TRUE.

Procedimiento CREATE_SHARE_LINK

Suscribirse a un recurso compartido de un proveedor de recursos compartidos registrado. Los nombres de recursos compartidos disponibles se pueden encontrar llamando a DISCOVER_AVAILABLE_SHARES.

Sintaxis

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

Parámetros

Procedimiento CREATE_SHARE_LINK_VIEW

Cree o sustituya una vista con nombre que proporcione acceso a una tabla compartida remota.

Sintaxis

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

Parámetros

Procedimiento CREATE_SHARE_PROVIDER

Suscribirse a un proveedor de recursos compartidos delta.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name Nombre local de este proveedor de recursos compartidos.
endpoint El punto final delta, del perfil de delta sharing.
token_endpoint Este parámetro se ignora.
share_type Tipo de proveedor de recursos compartidos. Deje esto como DELTA.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.
metadata Metadatos JSON opcionales para asociar con el proveedor de recursos compartidos.
auto_commit Si es TRUE (valor por defecto), esta llamada de procedimiento confirma los cambios que no son visibles externamente hasta que se realiza la confirmación. Si es FALSE, el usuario debe COMMIT después de ejecutar esta llamada para que el cambio sea visible.

Función DISCOVER_AVAILABLE_SHARES

Devuelva un valor SHARE_AVAILABLE_SHARES_ROW para cada tabla disponible de los proveedores de recursos compartidos suscritos.

Sintaxis

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

Parámetros

parámetro Descripción
share_provider El nombre del proveedor de recursos compartidos.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.

Ejemplo: detección de una lista de recursos compartidos disponibles de un proveedor determinado

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

Función DISCOVER_AVAILABLE_TABLES

Devuelva un valor SHARE_AVAILABLE_TABLES_ROW para cada tabla disponible de los proveedores de recursos compartidos suscritos.

Sintaxis

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;

Parámetros

parámetro Descripción
share_provider Nombre de proveedor de recursos compartidos opcional. Si es NULL, busque todos los proveedores de recursos compartidos suscritos.
share_name Nombre de recurso compartido opcional. Si es NULL, busque todos los recursos compartidos detectados.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.
endpoint Punto final delta opcional.
credential_name Credencial de token de portador opcional para acceder al punto final.

Ejemplo: lista de recursos compartidos disponibles de todos los proveedores de recursos compartidos suscritos

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

Ejemplo: lista de tablas disponibles de un punto final no suscrito

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.

Procedimiento DROP_SHARE_LINK

Borre un enlace de recurso compartido creado por el procedimiento CREATE_SHARE_LINK.

Consulte Procedimiento CREATE_SHARE_LINK para obtener más información.

Sintaxis

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

Parámetros

Procedimiento DROP_SHARE_PROVIDER

Soltar una suscripción a un proveedor de recursos compartidos.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name Nombre del proveedor de recursos compartidos que se va a borrar.
owner Propietario del proveedor de recursos compartidos que se va a borrar. Se define por defecto en el esquema actual.
drop_credentials Si es TRUE, se borran las credenciales asociadas al proveedor. Si es FALSE, las credenciales no se borran.

Procedimiento ENABLE_DELTA_ENDPOINT

Cree las ACL necesarias que permitan al usuario especificado conectarse a un punto final delta. Se necesitan privilegios de administrador para este procedimiento.

Sintaxis

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

Parámetros

parámetro Descripción
schema_name Esquema que se va a activar o desactivar.
delta_profile El perfil delta. Solo se necesitan el punto final y tokenEndpoint.
enabled TRUE para activar y FALSE para desactivar.

Procedimiento FLUSH_SHARE_LINK_CACHE

Vacíe la caché de recursos compartidos para un enlace de recurso compartido determinado. La lista de recursos compartidos para los puntos finales remotos se recupera en lugar de depender de valores almacenados en caché.

Sintaxis

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

Parámetros

Procedimiento FLUSH_SHARE_PROVIDER_CACHE

Vacíe la caché de recursos compartidos para un proveedor de recursos compartidos determinado. La lista de recursos compartidos para los puntos finales remotos se recupera en lugar de depender de valores almacenados en caché.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name El nombre del proveedor de recursos compartidos.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.
auto_commit Si es TRUE, los cambios se confirman automáticamente. El valor por defecto es TRUE.

GENERATE_SHARE_LINK_SELECT Procedimiento y función

Generar una sentencia SELECT que devuelva datos de una tabla compartida.

Sintaxis

Versión del procedimiento de 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  
);
Versión de función de 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;

Parámetros

Función GET_ORACLE_SHARE_LINK_INFO

Recupere el nombre y el espacio de nombres del enlace en la nube para un recurso compartido de Oracle a Oracle.

Sintaxis

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;

Parámetros

Volver

El valor devuelto es un objeto JSON que contiene tres propiedades: esquema, tabla y enlace de base de datos. El emisor de llamada puede utilizar estas tres propiedades para recuperar datos mediante una consulta con el siguiente formulario:

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

Procedimiento GET_SHARE_LINK_INFO

Obtenga los puntos finales, el tipo de recurso compartido y el nombre del recurso compartido junto con los metadatos JSON adicionales para un enlace de recurso compartido.

Sintaxis

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

Parámetros

Procedimiento GET_SHARE_PROVIDER_CREDENTIAL

Obtenga el nombre de credencial que utilizará el usuario actual cuando intente acceder al proveedor de recursos compartidos delta proporcionado.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name El nombre del proveedor de recursos compartidos.
share_credential OUT: nombre de la credencial asociada al proveedor. El nombre de credencial se devuelve sin comillas dobles, como aparecería en la columna CREDENTIAL_NAME de la vista USER_CREDENTIALS.

Consulte ALL_CREDENTIALS View.

get_token_credential Este parámetro no se utiliza.
owner El propietario es el nombre del esquema en el que se ha registrado el proveedor de recursos compartidos, no el propietario de la credencial. Se define por defecto en el esquema actual.

Procedimiento GET_SHARE_PROVIDER_INFO

Obtenga las cadenas de punto final y el tipo de recurso compartido junto con los metadatos JSON adicionales para un proveedor de recursos compartidos. Para los proveedores de recursos compartidos de ORACLE, el ID de proveedor de Oracle se devuelve en el argumento de punto final.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name El nombre del proveedor de recursos compartidos.
endpoint Punto final delta.
share_type Tipo de recurso compartido: DELTA o ORACLE.
token_endpoint Este parámetro no se utiliza.
metadata Metadatos opcionales asociados con el proveedor de recursos compartidos.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.

Función GET_SHARING_ID

Devuelve un identificador que se puede utilizar como sharing_id en el procedimiento CREATE_SHARE_RECIPIENT. Esta función se puede utilizar para compartir datos entre dos usuarios, el "proveedor" y el "destinatario", en diferentes bases de datos.

Consulte Procedimiento CREATE_SHARE_RECIPIENT para obtener más información.

Sintaxis

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

Parámetros

parámetro Descripción
sharing_id_type El tipo de ID de uso compartido.

Sintaxis

El flujo es el siguiente:

  1. El destinatario llama a DBMS_SHARE.GET_SHARING_ID para obtener un identificador único.
  2. El destinatario envía este identificador (por ejemplo, por correo electrónico) al proveedor.
  3. El proveedor llama a DBMS_SHARE.CREATE_SHARE_RECIPIENT, transfiriendo el identificador como sharing_id.
  4. El proveedor llama a DBMS_SHARE.GRANT_TO_RECIPIENT para proporcionar al destinatario acceso a los datos compartidos.

El parámetro sharing_id_type se utiliza para especificar qué usuarios de base de datos pueden acceder al recurso compartido siguiendo la secuencia anterior.

  • DATABASE El recurso compartido será visible para cualquier usuario administrador de la base de datos a la que se haya llamado a GET_SHARING_ID.
  • COMPARTMENT El recurso compartido será visible para cualquier usuario administrador de cualquier base de datos del mismo compartimento al que se llamó a GET_SHARING_ID.
  • TENANCIA El recurso compartido será visible para cualquier usuario administrador de cualquier base de datos del mismo arrendamiento en la que se haya llamado a GET_SHARING_ID.
  • REGIÓN El recurso compartido será visible para cualquier usuario administrador de cualquier base de datos de la misma región en la que se llamó a GET_SHARING_ID.

Procedimiento OPEN_SHARE_LINK_CURSOR

Abra un cursor que devuelva datos de una tabla compartida.

Sintaxis

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

Parámetros

parámetro Descripción
share_link_name El nombre del enlace del recurso compartido.
share_schema_name Nombre del esquema compartido.
share_table_name Nombre de la tabla compartida.
table_cursor El cursor.
share_link_owner Propietario del enlace. Se define por defecto en el esquema actual.

Procedimiento REFRESH_BEARER_TOKEN_CREDENTIAL

Actualice una o más credenciales creadas por CREATE_BEARER_TOKEN_CREDENTIAL o CREATE_CREDENTIALS llamando a los puntos finales de token registrados y recuperando nuevos tokens de portador. Tenga en cuenta que un trabajo del programador, ADP$BEARER_REFRESH_JOB, llama a este procedimiento automáticamente y se ejecuta cada 50 minutos.

Sintaxis

PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL  
(
    credential_name           IN VARCHAR2 := NULL  
);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial que se va a refrescar.

Procedimiento RENAME_CLOUD_STORAGE_LINK

Cambie el nombre de un enlace de almacenamiento en la nube registrado.

Sintaxis

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

Parámetros

Procedimiento RENAME_SHARE_PROVIDER

Cambie el nombre de un proveedor de recursos compartidos registrado.

Sintaxis

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

Parámetros

parámetro Descripción
old_name Nombre actual del proveedor de recursos compartidos.
new_name El nuevo nombre del proveedor de recursos compartidos.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.

Procedimiento REMOVE_SHARE_SCHEMA

Elimine un esquema y todo su contenido de un recurso compartido.

Sintaxis

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

Parámetros

parámetro Descripción
share_name El nombre del recurso compartido.
schema_name Nombre del esquema que se va a eliminar.
share_owner Propietario de la acción.
auto_commit Si es TRUE, los cambios se confirman automáticamente. El valor por defecto es FALSO.

Procedimiento SET_SHARE_LINK_METADATA

Defina los metadatos JSON adicionales para el enlace de recurso compartido.

Sintaxis

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

Parámetros

Procedimiento SET_SHARE_PROVIDER_CREDENTIAL

Defina el nombre de credencial que utilizará el usuario actual cuando intente acceder al proveedor de recursos compartidos proporcionado.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name El nombre del proveedor de recursos compartidos.
share_credential Credencial de token de portador.
get_token_credential Este argumento se ignora.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.
check_if_exists Si es TRUE (valor por defecto), valide que la credencial existe.

Procedimiento SET_SHARE_PROVIDER_METADATA

Defina metadatos JSON adicionales para el proveedor de recursos compartidos.

Sintaxis

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

Parámetros

parámetro Descripción
provider_name El nombre del proveedor de recursos compartidos.
metadata Los nuevos metadatos.
replace_existing Si es TRUE, todos los metadatos existentes se sustituyen por la nueva versión. Si es FALSE, el nuevo valor se fusiona con los metadatos existentes.
owner Propietario del proveedor de acciones. Se define por defecto en el esquema actual.

Procedimiento UPDATE_BEARER_TOKEN_CREDENTIAL

Modifique un atributo de una credencial creada por CREATE_CREDENTIALS o CREATE_BEARER_TOKEN_CREDENTIAL.

Sintaxis

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

Parámetros

parámetro Descripción
credential_name Nombre de la credencial que se va a actualizar.
attribute Atributo que se va a actualizar. Uno de los siguientes: "BEARER_TOKEN", "CLIENT_ID", "CLIENT_SECRET", "TOKEN_REFRESH_RATE". No se puede cambiar el punto final del token.
new_value Nuevo valor.

Ejemplo: actualización de CLIENT_ID de una credencial

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