Oracle DBMS_STREAMS_RPC
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Streams Remote Procedure Call Support

Streams was deprecated 03-Jan-2018 but this package still exists in 23ai but it is not installed by default
AUTHID CURRENT_USER
Dependencies
DBMS_ASSERT DBMS_STANDARD DBMS_STREAMS_TBS_INT
DBMS_CAPTURE_ADM_INTERNAL DBMS_STREAMS_ADM_IVK DBMS_STREAMS_TBS_INT_INVOK
DBMS_CAPTURE_ADM_IVK DBMS_STREAMS_ADM_UTL_INVOK DBMS_SYS_ERROR
DBMS_CAPTURE_SWITCH_ADM DBMS_STREAMS_DATAPUMP DBMS_UTILITY
DBMS_CAPTURE_SWITCH_INTERNAL DBMS_STREAMS_MT DBMS_XSTREAM_GG_ADM
DBMS_LOGREP_UTIL DBMS_STREAMS_PUB_RPC DBMS_XSTREAM_UTL_IVK
DBMS_RECO_SCRIPT_INT DBMS_STREAMS_RPC_INTERNAL PLITBLM
DBMS_RECO_SCRIPT_INVOK DBMS_STREAMS_TABLESPACE_ADM V$PARAMETER
Documented No
Exceptions
Error Code Reason
ORA-02039 connection description for remote database not found
ORA-31541 Supplemental logging is not enabled in CDB$ROOT
PLS-00201 identifier '<database_link_name>' must be declared
PLS-00352 Unable to access another database 'TESTLINK'
First Available Not known
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE, OGG_APPLY, OGG_CAPTURE, XSTREAM_APPLY and XSTREAM_CAPTURE roles.
Source {ORACLE_HOME}/rdbms/admin/prvtsrp.plb
{ORACLE_HOME}/rdbms/admin/prvtbsrp.plb
Subprograms
 
BUILD
Undocumented

Must be in archive log mode to use this procedure
dbms_streams_rpc.build(
invoker                IN  VARCHAR2,
dblink                 IN  VARCHAR2,
first_scn              OUT NUMBER,
wait_for_inflight_txns IN  VARCHAR2);
TBD
 
BUILD_RC
Undocumented dbms_streams_rpc.build_rc(
first_scn              OUT NUMBER,
wait_for_inflight_txns IN  VARCHAR2);
TBD
 
CONVERT_FILE_AT_SOURCE
Undocumented dbms_streams_rpc.convert_file_at_source(
dblink               IN  VARCHAR2,
input_dir_object     IN  VARCHAR2,
input_filenumber     IN  BINARY_INTEGER,
input_platform_id    IN  BINARY_INTEGER,
output_dir_object    IN  VARCHAR2,
output_filename      IN  VARCHAR2,
output_platform_id   IN  BINARY_INTEGER,
convert_fq_file_name OUT VARCHAR2);
TBD
 
CONVERT_FILE_AT_SOURCE_RC
Undocumented dbms_streams_rpc.convert_file_at_source_rc(
input_dir_object     IN  VARCHAR2,
input_filenumber     IN  BINARY_INTEGER,
input_platform_id    IN  BINARY_INTEGER,
output_dir_object    IN  VARCHAR2,
output_filename      IN  VARCHAR2,
output_platform_id   IN  BINARY_INTEGER,
convert_fq_file_name OUT VARCHAR2);
TBD
 
DROP_SCRIPT
Undocumented dbms_streams_rpc.drop_script(
script_id IN RAW,
force     IN BOOLEAN);
TBD
 
GET_CHARACTER_SET
Returns the character set in the database at the database link dbms_streams_rpc.get_character_set(
dblink   IN  VARCHAR2,
charset  OUT VARCHAR2);
DECLARE
 outVal dbms_id;
BEGIN
  dbms_streams_rpc.get_character_set('TESTLINK', outVal);
  dbms_output.put_line(outVal);
END;
/
 
GET_DATABASE_SCNS
Undocumented dbms_streams_rpc.get_database_scns(
dblink      IN  VARCHAR2,
currentscn  OUT NUMBER,
minstartscn OUT NUMBER,
message     OUT VARCHAR2);
DECLARE
 curscn NUMBER;
 minscn NUMBER;
 msg    dbms_id;
BEGIN
  dbms_streams_rpc.get_database_scns('TESTLINK', curscn, minscn, msg);
  dbms_output.put_line(TO_CHAR(curscn));
  dbms_output.put_line(TO_CHAR(minscn));
  dbms_output.put_line(msg);
END;
/
 
GET_DATABASE_SCNS_RC
Undocumented dbms_streams_rpc.get_database_scns_rc(
currentscn  OUT NUMBER,
minstartscn OUT NUMBER,
message     OUT VARCHAR2);
DECLARE
 curscn NUMBER;
 minscn NUMBER;
 msg    dbms_id;
BEGIN
  dbms_streams_rpc.get_database_scns_rc(curscn, minscn, msg);
  dbms_output.put_line(TO_CHAR(curscn));
  dbms_output.put_line(TO_CHAR(minscn));
  dbms_output.put_line(msg);
END;
/
72297291
72297291
Switch to use apply-state ckpt: No active trnasactions, use the current SCN (72297291) for the new oldest SCN.

PL/SQL procedure successfully completed.
 
GET_EXPORT_DML_SCN
Undocumented dbms_streams_rpc.get_export_dml_scn(
canon_dblink    IN VARCHAR2,
canon_schema    IN VARCHAR2,
canon_tablename IN VARCHAR2,
cookie          IN VARCHAR2,
flashback_scn   IN NUMBER)
RETURN NUMBER;
TBD
 
GET_OLDEST_SCN
Returns the oldest SCN at the database link for the identified apply process dbms_streams_rpc.get_oldest_scn(
dblink           IN VARCHAR2,
canon_apply_name IN VARCHAR2)
RETURN NUMBER;
TBD
 
GET_OLDEST_SCN_RC
Returns the oldest SCN for the identified apply process dbms_streams_rpc.get_oldest_scn_rc(
canon_apply_name IN  VARCHAR2,
oldest_scn       OUT NUMBER);
TBD
 
GET_SYSTEM_CHANGE_NUMBER
Undocumented dbms_streams_rpc.get_system_change_number(
invoker IN  VARCHAR2,
dblink  IN  VARCHAR2,
scn     OUT NUMBER);
TBD
 
GET_SYSTEM_CHANGE_NUMBER_RC
Undocumented dbms_streams_rpc.get_system_change_number_rc(scn OUT NUMBER);
SELECT current_scn FROM v$database;

CURRENT_SCN
-----------
   72297296


DECLARE
 outVal NUMBER;
BEGIN
  dbms_streams_rpc.get_system_change_number_rc(outVal);
  dbms_output.put_line(TO_CHAR(outVal));
END;
/
72297296

PL/SQL procedure successfully completed.
 
GET_UNDO_BLOCK
Undocumented dbms_streams_rpc.get_undo_block(
script_id         IN  RAW,
block_num         IN  NUMBER,
undo_block        OUT VARCHAR2,
canon_undo_dblink OUT VARCHAR2);
TBD
 
LOCAL_EXECUTE_BLOCK
Undocumented dbms_streams_rpc.local_execute_block(
script_id    IN RAW,
block_num    IN NUMBER,
block        IN CLOB,
remote_state IN CLOB);
TBD
 
MIN_SUPP_LOGGING_ENABLED
Returns TRUE if minimum supplemental logging is enabled at the dblink dbms_streams_rpc.min_supp_logging_enabled(canon_dblink IN VARCHAR2) RETURN BOOLEAN;
BEGIN
  IF dbms_streams_rpc.min_supp_logging_enabled('TESTLINK') THEN
    dbms_output.put_line('Enabled');
  ELSE
    dbms_output.put_line('Not Enabled');
  END IF;
END;
/
*
PLS-00352: Unable to access another database 'TESTLINK.SUB06101709240,ASRAVCN.ORACLEVCN.COM'
PLS-00201: identifier 'SYS@TESTLINK.SUB06101709240,ASRAVCN.ORACLEVCN.COM' must be declared
 
NEED_SCN
Undocumented dbms_streams_rpc.need_scn(
canon_dblink IN     VARCHAR2,
dblink_param IN     VARCHAR2,
interest        OUT BOOLEAN,
cookie       IN OUT VARCHAR2);
TBD
 
PREPARE_GLOBAL_INSTANTIATION
Undocumented dbms_streams_rpc.prepare_global_instantiation(
invoker   IN VARCHAR2,
dblink    IN VARCHAR2,
container IN VARCHAR2);
TBD
 
PREPARE_GLOBAL_INSTANTIATION_R
Undocumented dbms_streams_rpc.prepare_global_instantiation_r(container IN VARCHAR2);
exec dbms_streams_rpc.prepare_global_instantiation_r('ASRA23AI_PDB1');
*
ORA-31541: Supplemental logging is not enabled in CDB$ROOT.

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Database altered.

exec dbms_streams_rpc.prepare_global_instantiation_r('ASRA23AI_PDB1');

PL/SQL procedure successfully completed.
 
PREPARE_SCHEMA_INSTANTIATION
Undocumented dbms_streams_rpc.prepare_schema_instantiation(
schema_name IN VARCHAR2,
invoker     IN VARCHAR2,
dblink      IN VARCHAR2,
container   IN VARCHAR2);
TBD
 
PREPARE_SCHEMA_INSTANTIATION_R
Undocumented dbms_streams_rpc.prepare_schema_instantiation_r(
schema_name IN VARCHAR2,
container   IN VARCHAR2);
exec dbms_streams_rpc.prepare_schema_instantiation_r('UWCLASS', 'PDBDEV');

PL/SQL procedure successfully completed.
 
PREPARE_TABLE_INSTANTIATION
Undocumented dbms_streams_rpc.prepare_table_instantiation(
table_name IN VARCHAR2,
invoker    IN VARCHAR2,
dblink     IN VARCHAR2,
container  IN VARCHAR2);
TBD
 
PREPARE_TABLE_INSTANTIATION_RC
Undocumented dbms_streams_rpc.prepare_table_instantiation_rc(
table_name IN VARCHAR2,
container  IN VARCHAR2);
exec dbms_streams_rpc.prepare_table_instantiation_rc('SERVERS', 'PDBDEV');

PL/SQL procedure successfully completed.
 
PULL_ALTER_TABLESPACE
Undocumented dbms_streams_rpc.pull_alter_tablespace(
trace_setting   IN NUMBER,
tablespace_name IN VARCHAR2,
alter_option    IN VARCHAR2);
TBD
 
PULL_PLATFORM
10046 and 10053 function the same as trace settings for this proc. dbms_streams_rpc.pull_platform(
trace_setting IN NUMBER,
platform      OUT VARCHAR2);
DECLARE
 outVal dbms_id;
BEGIN
  dbms_streams_rpc.pull_platform(10046, outVal);
  dbms_output.put_line(outVal);
END;
/
Linux x86 64-bit

PL/SQL procedure successfully completed.
 
PULL_TABLESPACE_FILE_INFO
Undocumented dbms_streams_rpc.pull_tablespace_file_info(
trace_setting          IN  NUMBER,
tablespace_name        IN  VARCHAR2,
file_number            IN  NUMBER,
canon_directory_object OUT VARCHAR2,
file_name              OUT VARCHAR2);
TBD
 
PULL_TABLESPACE_INFO
Undocumented dbms_streams_rpc.pull_tablespace_info(
trace_setting   IN  NUMBER,
tablespace_name IN  VARCHAR2,
file_count      OUT NUMBER,
alter_needed    OUT VARCHAR2);
TBD
 
PULL_TBS_FILE_NAME_ID
Undocumented dbms_streams_rpc.pull_tbs_file_name_id(
trace_setting          IN  NUMBER,
tablespace_name        IN  VARCHAR2,
file_number            IN  NUMBER,
canon_directory_object OUT VARCHAR2,
file_name              OUT VARCHAR2,
file_id                OUT NUMBER);
TBD
 
SET_OLDEST_SCN
Undocumented dbms_streams_rpc.set_oldest_scn(
dblink           IN VARCHAR2,
canon_apply_name IN VARCHAR2,
scn              IN NUMBER,
is_range         IN BOOLEAN);
TBD
 
SET_OLDEST_SCN_RC
Undocumented dbms_streams_rpc.set_oldest_scn_rc(
canon_apply_name IN VARCHAR2,
scn              IN NUMBER,
is_range         IN VARCHAR2);
TBD
 
TABLESPACES_EXIST_NUM
Undocumented dbms_streams_rpc.tablespaces_exist_num(
database_link IN VARCHAR2,
tbs_names     IN dbms_streams_tablespace_adm.tablespace_set);
TBD
 
TABLESPACES_EXIST_NUM_RC
Undocumented dbms_streams_rpc.tablespaces_exist_num_rc(
tbs_names_str IN  VARCHAR2,
exist_num     OUT NUMBER);
DECLARE
 outVal NUMBER;
BEGIN
  dbms_streams_rpc.tablespaces_exist_num_rc('SYSTEM', outVal);
  dbms_output.put_line(outVal);
END;
/
3

PL/SQL procedure successfully completed.
 
WAIT_FOR_INFLIGHT_TXN
Undocumented dbms_streams_rpc.wait_for_inflight_txn(
invoker     IN VARCHAR2,
dblink      IN VARCHAR2,
current_scn IN NUMBER);
TBD
 
WAIT_FOR_INFLIGHT_TXN_RC
Undocumented dbms_streams_rpc.wait_for_inflight_txn_rc(current_scn IN NUMBER);
DECLARE
 cscn v$database.current_scn%TYPE;
BEGIN
  SELECT current_scn+10
  INTO cscn
  FROM v$database;

  dbms_streams_rpc.wait_for_inflight_txn_rc(cscn);
END;
/

PL/SQL procedure successfully completed.

Related Topics
Database Security
Built-in Functions
Built-in Packages
Advanced Queuing
DBMS_CAPTURE_ADM
DBMS_PROPAGATION_ADM
DBMS_RECOVERABLE_SCRIPT
DBMS_STREAMS
DBMS_STREAMS_ADM
DBMS_STREAMS_ADM_UTL_INT
DBMS_STREAMS_AUTH
DBMS_STREAMS_CONTROL_ADM
DBMS_STREAMS_PUB_RPC
DBMS_STREAMS_RPC
DBMS_STREAMS_TABLESPACE_ADM
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved