Oracle DBMS_SMB_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 SQL Management Base Utilities
AUTHID DEFINER
Dependencies
DBMS_ADVISOR DBMS_SQLQ DBMS_XPLAN
DBMS_ASSERT DBMS_SQLQ_INTERNAL DUAL
DBMS_AUTO_INDEX_INTERNAL DBMS_SQLTUNE IMPCALLOUTREG$
DBMS_AUTO_ZONEMAP_INTERNAL DBMS_SQLTUNE_INTERNAL PRVT_ACCESS_ADVISOR
DBMS_DATAPUMP DBMS_SQLTUNE_UTIL2 PRVT_ADVISOR
DBMS_LOB DBMS_STANDARD PRVT_WORKLOAD
DBMS_SMB DBMS_STATS SMB$CONFIG
DBMS_SPM DBMS_STATS_ADVISOR SQLPROF_ATTR
DBMS_SPM_INTERNAL DBMS_STATS_INTERNAL SYS_IXMLAGG
DBMS_SQLDIAG DBMS_SYS_ERROR XMLAGG
DBMS_SQLDIAG_INTERNAL DBMS_UTILITY XMLTYPE
Documented No
First Available 19.1
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/prvssmbi.plb
Subprograms
 
CHECK_SMO_PROPS
Undocumented dbms_smb_internal.check_smo_props(
obj_type IN VARCHAR2,
origin   IN VARCHAR2,
enabled  IN VARCHAR2,
accepted IN VARCHAR2,
fixed    IN VARCHAR2);
TBD
 
CURSOR_TO_HINTS_XML
Undocumented dbms_smb_internal.cursor_to_hints_xml(cur IN REF CURSOR) RETURN CLOB;
TBD
 
INIT_SMB
Initializes the DBMS_SMB and and DBMS_SPM packages. dbms_smb_internal.init_smb();
exec dbms_smb_internal.init_smb();

PL/SQL procedure successfully completed.
 
INIT_SMB_PARAMETER (new 21c)
Undocumented dbms_smb_internal.init_smb_parameter(
p_name  IN VARCHAR2,
p_value IN NUMBER,
p_data  IN CLOB);
TBD
 
INSTANCE_CALLOUT_IMP
Undocumented dbms_smb_internal.instance_callout_imp(
obj_name   IN  VARCHAR2,
obj_schema IN  VARCHAR2,
obj_type   IN  NUMBER,
prepost    IN  BINARY_INTEGER,
action     OUT VARCHAR2,
alt_name   OUT VARCHAR2);
TBD
 
I_CONSTRUCT_SMB_QUERY
Undocumented dbms_smb_internal.i_construct_smb_query(
query_txt      IN OUT CLOB,
sql_handle     IN     VARCHAR2,
obj_name       IN     VARCHAR2,
obj_type       IN     VARCHAR2,
sql_text       IN     CLOB,
creator        IN     VARCHAR2,
origin         IN     VARCHAR2,
enabled        IN     VARCHAR2,
accepted       IN     VARCHAR2,
fixed          IN     VARCHAR2,
module         IN     VARCHAR2,
action         IN     VARCHAR2,
category       IN     VARCHAR2,
open_cur_flags IN     BINARY_INTEGER);
TBD
 
MAP_ORIGIN_BASE_TO_VIEW
Undocumented dbms_smb_internal.map_origin_base_to_view(
originnum IN NUMBER,
objtype   IN NUMBER)
RETURN VARCHAR2;
TBD
 
NORMALIZE_NAME
Does not provide any validation that the "name" is a valid name in Oracle. Looks like it could be easily replace with UPPER. dbms_smb_internal.normalize_name(
instr    IN VARCHAR2,
err_code IN NUMBER)
RETURN VARCHAR2;
SELECT dbms_smb_internal.normalize_name('UWCLASS.SMBstg/TAB')
FROM dual;

DBMS_SMB_INTERNAL.NORMALIZE_NAME('UWCLASS.SMBSTG/TAB')
------------------------------------------------------
UWCLASS.SMBSTG/TAB
 
OPEN_SMB_OBJ_CURSOR
Undocumented dbms_smb_internal.open_smb_obj_cursor(
sql_handle     IN  VARCHAR2,
obj_name       IN  VARCHAR2,
obj_type       IN  VARCHAR2,
sql_text       IN  CLOB,
creator        IN  VARCHAR2,
origin         IN  VARCHAR2,
enabled        IN  VARCHAR2,
accepted       IN  VARCHAR2,
fixed          IN  VARCHAR2,
module         IN  VARCHAR2,
action         IN  VARCHAR2,
category       IN  VARCHAR2,
open_cur_flags IN  BINARY_INTEGER,
cur            OUT REF CURSOR,
impcallout     IN  BOOLEAN);
TBD
 
VARR_TO_HINTS_XML
Converts a VARRAY with hints into XML dbms_smb_internal.varr_to_hints_xml(varr IN sys.sqlprof_attr) RETURN CLOB;
TBD
 
VERIFY_QUALIFIED_STGTAB
Returns an object name fully qualified with double quotes in a manner analogous to that performed by DBMS_ASSERT to address SQL Injection issues dbms_smb_internal.verify_qualified_stgtab(qualified_stgtab_name IN VARCHAR2)
RETURN VARCHAR2;
SELECT dbms_smb_internal.verify_qualified_stgtab('ZZYZX')
FROM dual;

DBMS_SMB_INTERNAL.VERIFY_QUALIFIED_STGTAB('ZZYZX')
---------------------------------------------------
"ZZYZX".""


SELECT dbms_smb_internal.verify_qualified_stgtab('UWCLASS.ZZYZX')
FROM dual;

DBMS_SMB_INTERNAL.VERIFY_QUALIFIED_STGTAB('ZZYZX')
---------------------------------------------------
"UWCLASS"."ZZYZX"

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