Oracle Database 26ai is now availble. If you haven't you downloaded already: Why?
Purpose
Contains functions that retrieve factor identities. After Oracle Database Vault installation, the install process locks the DVF account to enhance security.
When creating a new factor, Database Vault creates a new retrieval function for the factor owned by the DVF schema.
AUTHID
DEFINER
Constants
Name
Data Type
Value
General
G_SECURE_ROLE_AUDIT_CODE
PLS_INTEGER
10006
Dependencies
DBMS_MACAUD
FACTOR$
KZV$FAC_LIBT
DBMS_MACOLS
GET_FACTOR
OLS$POL
DBMS_MACSEC_RULES
GET_FACTOR_LABEL
ROLE$
DBMS_MACUTL
GET_TRUST_LEVEL
ROLE_IS_ENABLED
DBMS_STANDARD
GET_TRUST_LEVEL_FOR_IDENTITY
SESSION_CONTEXT
DV$RULE
IDENTITY$
SET_FACTOR
DV$RULE_SET
IS_SECURE_APPLICATION_ROLE
Documented
Yes
Exceptions
Error Code
Reason
ORA-47301
Secure application role <role_name> is not found.
First Available
Not Known
Security Model
Owned by DVSYS with EXECUTE with no privileges granted
Using the SYS_CONTEXT function, returns the value of a factor. Will return the value cached in the context if the eval_option is set for evaluate on session.
dbms_macsec.get_factor(p_factor IN VARCHAR2) RETURN VARCHAR2;
col get_expr format a60
SELECT name, get_expr
FROM dvsys.factor$
ORDER BY 1;
Returns TRUE if a Secure Application Role is enabled for use, else FALSE
Note, in the demo at right, you must create a DVSYS role to use this. Standard Oracle Database roles are not the focus of this package.
dbms_macsec.role_is_enabled(p_role IN VARCHAR2) RETURN BOOLEAN;
SELECT role FROM dvsys.role$;
no rows selected
BEGIN
IF dvsys.dbms_macsec.role_is_enabled('DBA') THEN
dbms_output.put_line('F');
ELSE
dbms_output.put_line('F');
END IF;
END;
/
*
ORA-47301: Secure application role DBA is not found.