Oracle HM_SQLTK_INTERNAL
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 part of Health Monitoring and related to DBMS_WLM.

Important Note: For the first demo for each procedure below, all parameter values are random strings and do not reference any real object.

The second demo, if one is present, is copied from $ORACLE_HOME/rdbms/admin/prvtsqtk.plb and provides an insight into how Oracle uses this package's functionality. Oracle's code has been properly formatted so that the functionality can be understood in the context of Library demos.
AUTHID DEFINER
Dependencies
SQL_TK_CHK_ID SQL_TK_REF_CHK$ SQL_TK_TAB_DESC$
SQL_TK_COLL_CHK$ SQL_TK_ROW_CHK$  
Documented No
First Available 21c
Security Model Owned by SYS with EXECUTE granted to the DBA role.
Source {ORACLE_HOME}/rdbms/admin/prvtsqtk.plb
Subprograms
 
COLUMN_CHECK
Undocumented hm_sqltk_internal.column_check(
table_name IN VARCHAR2,
col_list   IN VARCHAR2,
expr       IN VARCHAR2,
chk_desc   IN VARCHAR2);
exec hm_sqltk_internal.column_check('ZZYZX', 'A,B,C,D,E', '1=1', 'Z');

PL/SQL procedure successfully completed.

BEGIN
  hm_sqltk_internal.column_check('tab$','obj#','< 0', 'Obj# invalid - < 0');
END;
/
 
REF_CHECK
Undocumented hm_sqltk_internal.ref_check(
table_name        IN VARCHAR2,
foreign_key       IN VARCHAR2,
primary_key_table IN VARCHAR2,
primary_key       IN VARCHAR2,
fk_filter         IN VARCHAR2,
chk_desc          IN VARCHAR2);
exec hm_sqltk_internal.ref_check('ZZYZX', 'FK_ZZYZX', 'ABCDE', 'PK_ABCDE', 'A', 'Z');

PL/SQL procedure successfully completed.

BEGIN
  hm_sqltk_internal.ref_check('tab$','file#','file$','relfile#', 'file# != 0 and file# != 1024', 'foreign key relfile# not found in file$');
END;
/
 
ROW_CHECK
Undocumented

There is no constraint type in Oracle that could possibly be validated as "QQ" which appears to confirm our suspicion that execute has been granted to DBA but that either the package does nothing or contains no exception handling.
hm_sqltk_internal.row_check(
table_name IN VARCHAR2,
col_list   IN VARCHAR2,
con_type   IN VARCHAR2,
chk_desc   IN VARCHAR2);
exec hm_sqltk_internal.row_check('ZZYZX', 'A,B,C,D,E', 'QQ', 'Z');

PL/SQL procedure successfully completed.

BEGIN
  hm_sqltk_internal.row_check('tab$','obj#','PRIMARY KEY', 'Primary Key obj#');
END;
/
 
TAB_DESC
Undocumented hm_sqltk_internal.tab_desc(
table_name IN VARCHAR2,
tab_query  IN VARCHAR2);
exec hm_sqltk_internal.tab_desc('ZZYZX', 'SELECT COUNT(*) FROM ZZYZX');

PL/SQL procedure successfully completed.

BEGIN
  hm_sqltk_internal.tab_desc('tab$', 'SELECT ''Object ''||u.name||''.''||o.name||'' is referenced'' FROM obj$ o, user$ u, tab$ t WHERE t.rowid = chartorowid(:1) AND t.obj# = o.obj# AND o.owner# = u.user#');
END;
/
 
TAB_INIT
Undocumented hm_sqltk_internal.tab_init(init_table_name IN VARCHAR2);
exec hm_sqltk_internal.tab_init('ZZYZX');

PL/SQL procedure successfully completed.

BEGIN
  hm_sqltk_internal.tab_init('tab$');
END;
/

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