PROCEDURE ASSERT_SHARING_ID
(
sharing_id IN OUT NOCOPY VARCHAR2,
out_sharing_id_type IN OUT NOCOPY VARCHAR2
);
sharing_id |
|
out_sharing_id_type |
PROCEDURE CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB,
out_credential_name IN OUT NOCOPY VARCHAR2
);
FUNCTION CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB
)
RETURN CLOB;
credential_base_name |
|
delta_profile |
|
out_credential_name |
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
);
share_link_name |
|
share_provider |
|
share_name |
|
provider_owner |
|
link_owner |
|
use_default_credential |
|
metadata |
|
auto_commit |
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
);
storage_link_name |
|
uri |
|
owner |
|
metadata |
|
auto_commit |
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
);
oracle_provider_id |
|
provider_name |
|
owner |
|
metadata |
|
auto_commit |
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
);
share_link_name |
|
share_provider |
|
share_name |
|
provider_owner |
|
link_owner |
|
use_default_credential |
|
metadata |
|
auto_commit |
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
);
view_name |
|
share_link_name |
|
share_schema_name |
|
share_table_name |
|
view_owner |
|
share_link_owner |
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
);
provider_name |
|
endpoint |
|
token_endpoint |
|
share_type |
|
owner |
|
metadata |
|
auto_commit |
FUNCTION DISCOVER_AVAILABLE_SHARES
(
share_provider IN VARCHAR2,
owner IN VARCHAR2 := NULL
) RETURN share_available_shares_tbl PIPELINED;
share_provider |
|
owner |
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
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;
share_provider |
|
share_name |
|
owner |
|
endpoint |
|
credential_name |
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
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.
PROCEDURE DROP_SHARE_LINK
(
link_name IN VARCHAR2,
link_owner IN VARCHAR2 := NULL
);
link_name |
|
link_owner |
PROCEDURE DROP_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
drop_credentials IN BOOLEAN := FALSE
);
provider_name |
|
owner |
|
drop_credentials |
PROCEDURE ENABLE_DELTA_ENDPOINT
(
schema_name IN VARCHAR2,
delta_profile IN CLOB,
enabled IN BOOLEAN := TRUE
);
schema_name |
|
delta_profile |
|
enabled |
PROCEDURE FLUSH_SHARE_LINK_CACHE
(
link_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
link_name |
|
owner |
|
auto_commit |
PROCEDURE FLUSH_SHARE_PROVIDER_CACHE
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
provider_name |
|
owner |
|
auto_commit |
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
);
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;
share_link_name |
|
share_schema_name |
|
share_table_name |
|
stmt |
|
share_link_owner |
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;
oracle_provider_id |
|
share_name |
|
share_schema_name |
|
share_table_name |
SELECT *
FROM <schema>.<table>@<dblink>
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
);
link_name |
|
endpoint |
|
share_type |
|
share_name |
|
token_endpoint |
|
metadata |
|
link_owner |
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
);
provider_name |
|
share_credential |
|
get_token_credential |
|
owner |
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
);
provider_name |
|
endpoint |
|
share_type |
|
token_endpoint |
|
metadata |
|
owner |
FUNCTION GET_SHARING_ID
(
sharing_id_type IN VARCHAR2 := SHARING_ID_TYPE_DATABASE
)
RETURN VARCHAR2;
sharing_id_type |
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
);
share_link_name |
|
share_schema_name |
|
share_table_name |
|
table_cursor |
|
share_link_owner |
PROCEDURE RENAME_CLOUD_STORAGE_LINK
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
old_name |
|
new_name |
|
owner |
|
auto_commit |
PROCEDURE RENAME_SHARE_PROVIDER
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL
);
old_name |
|
new_name |
|
owner |
PROCEDURE REMOVE_SHARE_SCHEMA
(
share_name IN VARCHAR2,
schema_name IN VARCHAR2,
share_owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := FALSE
);
share_name |
|
schema_name |
|
share_owner |
|
auto_commit |
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
);
link_name |
|
metadata |
|
replace_existing |
|
link_owner |
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
);
provider_name |
|
share_credential |
|
get_token_credential |
|
owner |
|
check_if_exists |
PROCEDURE SET_SHARE_PROVIDER_METADATA
(
provider_name IN VARCHAR2,
metadata IN SYS.JSON_OBJECT_T,
replace_existing IN BOOLEAN := FALSE,
owner IN VARCHAR2 := NULL
);
provider_name |
|
metadata |
|
replace_existing |
|
owner |
PROCEDURE UPDATE_BEARER_TOKEN_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
new_value IN VARCHAR2
);
credential_name |
|
attribute |
|
new_value |
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