Oracle DBMS_INTERNAL_TRIGGER
Version 21c

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 but provides support for the DBMS_ITRIGGER_UTL package and affects trigger functionality in materialized views, and advanced and streams replication.
AUTHID DEFINER
Dependencies
DBA_NESTED_TABLES DBMS_REPUTIL DBMS_STREAMS_ADM_UTL_INVOK
DBA_OBJECT_TABLES DBMS_SNAPSHOT_KKXRCA DBMS_SYSTEM
DBMS_ASSERT DBMS_SNAP_INTERNAL DBMS_UTILITY
DBMS_ITRIGGER_UTL DBMS_STREAMS_ADM_IVK  
Documented No
Exceptions
Error Code Reason
ORA-24331 User buffer too small
First Available Not known
Security Model Owned by SYS with no privileges granted.
Source {ORACLE_HOME}/rdbms/admin/prvthitr.plb
Subprograms
 
DESTROY
Undocumented

Overload 1
dbms_internal_trigger.destroy(
canon_sname  IN VARCHAR2,
canon_oname  IN VARCHAR2,
trigger_type IN CHAR);
exec dbms_internal_trigger.destroy('UWCLASS', 'STATEMENT_LEVEL', 'TABLE');
BEGIN dbms_internal_trigger.destroy('UWCLASS', 'STATEMENT_LEVEL', 'TABLE'); END;
*
ERROR at line 1:
ORA-24331: user buffer too small
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 79
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 157
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 201
ORA-06512: at line 1
Overload 2 dbms_internal_trigger.destroy(
canon_sname  IN VARCHAR2,
canon_oname  IN VARCHAR2,
trigger_type IN CHAR,
expact_entry IN BOOLEAN);
exec dbms_internal_trigger.destroy('UWCLASS', 'STATEMENT_LEVEL', 'TABLE', FALSE);
BEGIN dbms_internal_trigger.destroy('UWCLASS', 'STATEMENT_LEVEL', 'TABLE'); END;
*
ERROR at line 1:
ORA-24331: user buffer too small
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 79
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 159
ORA-06512: at line 1
 
GET_UGAKNT
Undocumented dbms_internal_trigger.get_ugaknt(bitmask IN NUMBER)
RETURN BOOLEAN;
BEGIN
  IF dbms_internal_trigger.get_ugaknt(0) THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F

PL/SQL procedure successfully completed.
 
INVALIDATE_LIBRARY_CACHE
Invalidates the named object in the library cache dbms_internal_trigger.invalidate_library_cache(
canon_sname IN VARCHAR2,
canon_oname IN VARCHAR2);
exec dbms_internal_trigger.invalidate_library_cache('UWCLASS', 'SERVERS');

PL/SQL procedure successfully completed.
 
IS_NESTED_TABLE
Returns TRUE if the named table is a nested table dbms_internal_trigger.is_nested_table(
canon_sname IN VARCHAR2,
canon_oname IN VARCHAR2)
RETURN BOOLEAN;
BEGIN
  IF dbms_internal_trigger.is_nested_table('UWCLASS', '-SERVERS') THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F

PL/SQL procedure successfully completed.
 
MAKE
Undocumented

Overload 1
dbms_internal_trigger.make(
canon_sname  IN VARCHAR2,
canon_oname  IN VARCHAR2,
trigger_type IN CHAR);
exec dbms_internal_trigger.make('UWCLASS', 'SERVERS', 'TABLE');
BEGIN dbms_internal_trigger.make('UWCLASS', 'SERVERS', 'TABLE'); END;
*
ERROR at line 1:
ORA-24331: user buffer too small
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 79
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 129
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 180
ORA-06512: at line 1
Overload 2 dbms_internal_trigger.make(
canon_sname  IN VARCHAR2,
canon_oname  IN VARCHAR2,
trigger_type IN CHAR,
expact_entry IN BOOLEAN);
exec dbms_internal_trigger.make('UWCLASS', 'SERVERS', 'TABLE', FALSE);
BEGIN dbms_internal_trigger.make('UWCLASS', 'SERVERS', 'TABLE', FALSE); END;
*
ERROR at line 1:
ORA-24331: user buffer too small
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 79
ORA-06512: at "SYS.DBMS_INTERNAL_TRIGGER", line 131
ORA-06512: at line 1
 
SET_UGAKNT
Undocumented dbms_internal_trigger.set_ugaknt(
set_ugaknt_bitmask IN NUMBER,
set_ugaknt_turn_on IN BOOLEAN);
exec dbms_internal_trigger.set_ugaknt(999, FALSE);

PL/SQL procedure successfully completed.

exec dbms_internal_trigger.set_ugaknt(999, TRUE);

PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
Database Security
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