Oracle DBMS_ROW_CHANGE_TRACKING_INT
Version 23c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Purpose Undocumented
AUTHID DEFINER
Dependencies
ALL_OBJECTS DBMS_ROW_CHANGE_TRACKING
ALL_TABLES DBMS_STANDARD
DBMS_ASSERT DUAL
Documented No
Exceptions
Error Code Reason
ORA-20000 Table <schema_name.table_name> does not have row change tracking enabled
First Available 23.1 Beta
Security Model Owned by SYS with no privileges granted.
Source {ORACLE_HOME}/rdbms/admin/prvschgtrki.plb
{ORACLE_HOME}/rdbms/admin/prvtchgtrki.plb
Subprograms
 
RESET_JOURNAL (new 23c)
Undocumented

The code at right is just a blind attempt to see if the result would provide useful information about this new package: It didn't. The assumption made was UNAME is the user/schema name and TNAME is a heap table. Enabling ROW MOVEMENT did not alter the result.
dbms_row_change_tracking_int.reset_journal(
uname IN VARCHAR2,
tname IN VARCHAR2);
exec dbms_row_change_tracking_int.reset_journal('C##UWCLASS', 'TEST');
*
ERROR at line 1:
ORA-20000: Table C##UWCLASS.TEST does not have row change tracking enabled
ORA-06512: at "SYS.DBMS_ROW_CHANGE_TRACKING_INT", line 57
ORA-06512: at "SYS.DBMS_ROW_CHANGE_TRACKING_INT", line 100
ORA-06512: at line 1
 
RESET_JOURNAL_STANDBY_ONLY (new 23c)
Undocumented dbms_row_change_tracking_int.reset_journal_standby_only(
uname IN VARCHAR2,
tname IN VARCHAR2);
TBD
 
TRIMDOUBLEQUOTES (new 23c)
Removes the outer-most leading and trailing double quotes but does not remove any other double quotes dbms_row_change_tracking_int.trimDoubleQuotes(
id       IN VARCHAR2,
isschema IN BOOLEAN)
RETURN VARCHAR2;
DECLARE
 sname1 dbms_id := '"UWCLASS"';
 sname2 dbms_id := '"UWC"LASS"';
 sname3 dbms_id := '"UWC"LASS"';
BEGIN
  dbms_output.put_line(sname1);
  retVal := dbms_row_change_tracking_int.trimDoubleQuotes(sname1);
  dbms_output.put_line(retVal);

  dbms_output.put_line(sname2);
  retVal := dbms_row_change_tracking_int.trimDoubleQuotes(sname2);
  dbms_output.put_line(retVal);

  dbms_output.put_line(sname3);
  retVal := dbms_row_change_tracking_int.trimDoubleQuotes(sname2);
  dbms_output.put_line(retVal);
END;
/
"UWCLASS"
UWCLASS
"UWC"LASS"
UWC"LASS
""UWCLASS""
"UWCLASS"

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_ROW_CHANGE_TRACKING
STANDARD
What's New In 21c
What's New In 23c

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