Oracle DBMS_STREAMS
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 Database, schema, and object level synchronous and asynchronous replication.

Streams was deprecated 03-Jan-2018 but this package still exists in 23ai,
AUTHID CURRENT_USER
Dependencies
ANYDATA DBMS_STREAMS_ADM LCR$_DDL_RECORD
DBMS_APPLY_ADM DBMS_STREAMS_ADM_UTL LCR$_ROW_RECORD
DBMS_LOGREP_LIB DBMS_STREAMS_ADM_UTL_INVOK USER$
DBMS_LOGREP_UTIL DBMS_STREAMS_LCR_INT XMLTYPE
DBMS_STANDARD DBMS_UTILITY  
Documented Yes
First Available 9.2
Security Model Owned by SYS with EXECUTE granted to PUBLIC and the OGG_APPLY, OGG_CAPTURE, XSTREAM_APPLY and XSTREAM_CAPTURE roles.

Access to some subpograms prevented by an Accessible By clause.
Source {ORACLE_HOME}/rdbms/admin/dbmsstr.sql
Subprograms
 
COMPATIBLE_10_1
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_10_1 RETURN INTEGER;
SELECT dbms_streams.compatible_10_1;

COMPATIBLE_10_1
---------------
       10010000
 
COMPATIBLE_10_2
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_10_2 RETURN INTEGER;
SELECT dbms_streams.compatible_10_2;

COMPATIBLE_10_2
---------------
       10020000
 
COMPATIBLE_11_1
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_11_1 RETURN INTEGER;
SELECT dbms_streams.compatible_11_1;

COMPATIBLE_11_1
---------------
       11000000
 
COMPATIBLE_11_2
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_11_2 RETURN INTEGER;
SELECT dbms_streams.compatible_11_2;

COMPATIBLE_11_2
---------------
       11020000
 
COMPATIBLE_12_1
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_12_1 RETURN INTEGER;
SELECT dbms_streams.compatible_12_1;

COMPATIBLE_12_1
---------------
       12010000
 
COMPATIBLE_12_2
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_12_2 RETURN INTEGER;
SELECT dbms_streams.compatible_12_2;

COMPATIBLE_12_2
---------------
       12020000
 
COMPATIBLE_18_1 (new 23ai)
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_18_1 RETURN INTEGER;
SELECT dbms_streams.compatible_18_1;

COMPATIBLE_18_1
---------------
       18010000
 
COMPATIBLE_19_1 (new 23ai)
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_19_1 RETURN INTEGER;
SELECT dbms_streams.compatible_19_1;

COMPATIBLE_19_1
---------------
       19010000
 
COMPATIBLE_20_1 (new 23ai)
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_20_1 RETURN INTEGER;
SELECT dbms_streams.compatible_20_1;

COMPATIBLE_20_1
---------------
       20010000
 
COMPATIBLE_21_1 (new 23ai)
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_21_1 RETURN INTEGER;
SELECT dbms_streams.compatible_21_1;

COMPATIBLE_20_1
---------------
       21010000
 
COMPATIBLE_23_1 (new 23ai)
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_23_1 RETURN INTEGER;
SELECT dbms_streams.compatible_23_1;

COMPATIBLE_23_1
---------------
       23010000
 
COMPATIBLE_9_2
Use with the GET_COMPATIBLE member function for logical change records (LCRs) to specify behavior based on compatibility dbms_streams.compatible_9_2 RETURN INTEGER;
SELECT dbms_streams.compatible_9_2;

COMPATIBLE_9_2
--------------
             0
 
CONVERT_ANYDATA_TO_LCR_DDL
Converts an ANYDATA object to a SYS.LCR$_DDL_RECORD dbms.streams.convert_anydata_to_lcr_ddl(source SYS.ANYDATA) RETURN SYS.LCR$_DDL_RECORD;
TBD
 
CONVERT_ANYDATA_TO_LCR_ROW
Converts an ANYDATA object to a SYS.LCR$_ROW_RECORD object dbms.streams.convert_anydata_to_lcr_row(source SYS.ANYDATA) RETURN SYS.LCR$_ROW_RECORD;
TBD
 
CONVERT_LCR_TO_XML
Convert a DML or DDL LCR encapsulated in an anydata into an XMLLCR object dbms_streams.convert_lcr_to_xml(anylcr sys.anydata) RETURN SYS.XMLTYPE;
TBD
 
CONVERT_USER_TO_ID
Relocated from dbms_repcat_utl. If user exists, return ID else NULL dbms_streams.convert_user_to_id(canon_uname IN VARCHAR2) RETURN NUMBER;
SELECT dbms_streams.convert_user_to_id('C##UWCLASS');

DBMS_STREAMS.CONVERT_USER_TO_ID('C##UWCLASS')
---------------------------------------------
                                          111
 
CONVERT_XML_TO_LCR
Convert an XMLLCR object into a DML or DDL LCR encapsulated in AnyData dbms_streams.convert_xml_to_lcr(xmldat sys.xmltype) RETURN SYS.ANYDATA;
TBD
 
GET_FINAL_LOB
Relocated from dbms_reputil2. If column_changed$_char is non NULL returns new if and only if column_changed$_char is 'Y'

Overload 1
dbms_streams.get_final_lob(
column_changed$_char IN CHAR,
current              IN CLOB CHARACTER SET ANY_CS,
new                  IN CLOB CHARACTER SET "CURRENT"%CHARSET)
RETURN CLOB CHARACTER SET "CURRENT"%CHARSET;
TBD
If old and new are identical, then returns current else return new. Uses column_changed$_varchar2 if non-null

Overload 2
dbms_streams.get_final_lob(
column_changed$_char IN CHAR,
current              IN BLOB,
new                  IN BLOB)
RETURN BLOB;
TBD
 
GET_INFORMATION
Returns information about various Streams attributes dbms.streams.get_information(name IN VARCHAR2) RETURN SYS.ANYDATA;
SELECT dbms_streams.get_information('SENDER');

DBMS_STREAMS.GET_INFORMATION('SENDER')()
----------------------------------------
ANYDATA()
 
GET_STREAMS_NAME
Returns the name of the invoker dbms_streams.get_streams_name RETURN VARCHAR2;
SELECT dbms_streams.get_streams_name;

GET_STREAMS_NAME
------------------
 
 
GET_STREAMS_TYPE
Returns the type of the invoker dbms_streams.get_streams_type RETURN VARCHAR2;
SELECT dbms_streams.get_streams_type;

GET_STREAMS_TYPE
-----------------
 
 
GET_TAG
Gets the binary tag for all redo entries generated by the current session dbms_streams.get_tag RETURN RAW;
No demo possible
 
MAX_COMPATIBLE
Internal compatible representation dbms_streams.max_compatible RETURN INTEGER;
set serveroutput on

DECLARE
 mc INTEGER;
BEGIN
  mc := dbms_streams.max_compatible;
  dbms_output.put_line(mc);
END;
/
2147483647

PL/SQL procedure successfully completed.
 
SET_TAG
Sets the binary tag for all redo entries subsequently generated by the current session dbms_streams.set_tag(tag IN RAW DEFAULT NULL);
No demo possible

Related Topics
Advanced Queuing
Built-in Functions
Built-in Packages
DBMS_CAPTURE_ADM
DBMS_PROPAGATION_ADM
DBMS_RECOVERABLE_SCRIPT
DBMS_STREAMS_ADM
DBMS_STREAMS_ADM_UTL_INT
DBMS_STREAMS_ADM_UTL_INVOK
DBMS_STREAMS_AUTH
DBMS_STREAMS_CONTROL_ADM
DBMS_STREAMS_PUB_RPC
DBMS_STREAMS_RPC_INTERNAL
DBMS_STREAMS_SM
DBMS_STREAMS_TABLESPACE_ADM
DBMS_STREAMS_TBS_INT
DBMS_STREAMS_TBS_INT_INVOK
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