Oracle LBAC_UTL
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 Label Security Subprograms
AUTHID DEFINER
Dependencies
LBAC$SA LBAC_STANDARD OLS$PROPS
LBAC$USER_LIBT LBAC_SYSDBA SA_AUDIT_ADMIN
LBAC_CACHE OLS$LAB SA_COMPONENTS
Documented No
Exceptions
Error Code Reason
ORA-12458 Oracle Label Security not enabled
First Available Not Known
Security Model Owned by LBACSYS with EXECUTE granted to PUBLIC
Source {ORACLE_HOME}/rdbms/admin/prvtolsdd.plb
Subprograms
 
DATA_LABEL
Returns TRUE if the number corresponds with a data label, else FALSE lbac_utl.data_label(label_tag IN NUMBER) RETURN BOOLEAN;
TBD
 
LABEL_FLAGS
Undocumented lbac_utl.label_flags(label_tag IN NUMBER) RETURN BINARY_INTEGER;
TBD
 
NLS_SUBSTRB
Substrings the number of bytes requested always starting with the first character

Unlike the SUBSTRB in STANDARD it does not recognize a negative input value as a request to return the string beginning with the last byte
lbac_utl.nls_substrb(
in_string IN VARCHAR2,
num_bytes IN BINARY_INTEGER)
RETURN VARCHAR2;
SELECT lbac_utl.nls_substrb('ABCDEFGHIJKLMNOPQRSTUVWXYZ', 10)
FROM dual;

LBAC_UTL.NLS_SUBSTRB('ABCDEFGHIJKLMNOPQRSTUVWXYZ',10)
-----------------------------------------------------
ABCDEFGHIJ

SELECT lbac_utl.nls_substrb('ABCDEFGHIJKLMNOPQRSTUVWXYZ', -10)
FROM dual;
SELECT lbac_utl.nls_substrb('ABCDEFGHIJKLMNOPQRSTUVWXYZ', -10)
*
ERROR at line 1:
ORA-01426: numeric overflow
ORA-06512: at "LBACSYS.LBAC_UTL", line 13
 
NLS_VALIDNAME
Returns 1 if the string is a valid object name in Oracle, else 0

DBMS_ASSERT contains the same functionality
lbac_utl.nls_validname(in_string IN VARCHAR2) RETURN BINARY_INTEGER;
SELECT lbac_utl.nls_validname('ZZYZX')
FROM dual;

LBAC_UTL.NLS_VALIDNAME('ZZYZX')
-------------------------------
                              1


SELECT lbac_utl.nls_validname('ZZ ZX')
FROM dual;

LBAC_UTL.NLS_VALIDNAME('ZZYZX')
-------------------------------
                              0
 
NUMBER_POLICY_COLUMN
Undocumented lbac_utl.number_policy_column RETURN BOOLEAN;
BEGIN
  IF lbac_utl.number_policy_column THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
 
USER_DATA_LABEL
Undocumented lbac_utl.user_data_label(label_tag IN NUMBER) RETURN BOOLEAN;
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_ASSERT
LBAC_EXP
LBAC_POLICY_ADMIN
LBAC_POLICY_ADMIN_INT
LBAC_SESSION
LBAC_STANDARD
LBAC_SYSDBA
LBAC_UTL
OLS$DATAPUMP
OLS_DIP_NTFY
OLS_ENFORCEMENT
OLS_UTIL_WRAPPER
Oracle Label Security (OLS)
SA_COMPONENTS
SA_LABEL_ADMIN
SA_SYSDBA
SA_USER_ADMIN
SUBSTRB
TO_LABEL_LIST
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