Oracle LBAC_UTL
Version 21c

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
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 19c
What's New In 20c-21c

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-2019 Daniel A. Morgan All Rights Reserved
  DBSecWorx