Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
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.
The demo, at right, is from $ORACLE_HOME/rdbms/admin/catmact.sql reformatted for readability since no one has taught developers at Oracle how to format their code.
dbms_macsec_function.create_factor_function(p_factor IN VARCHAR2);
BEGIN
FOR c99 IN (SELECT id# , name, get_expr FROM dvsys.factor$) LOOP
l_exp := c99.get_expr;
l_name := c99.name;
BEGIN
-- if invalid factor name, then no need to create the factor function
IF (LENGTH(l_name) > 126) THEN
dvsys.dbms_macutl.raise_error(47951,'factor_name');
END IF;
sys.dbms_utility.canonicalize(
sys.dbms_assert.simple_sql_name(
dvsys.dbms_macutl.to_oracle_identifier(l_name)), l_canon_name, 126);
IF (LENGTH(l_canon_name) > 126) THEN
dvsys.dbms_macutl.raise_error(47951, 'factor_name');
END IF;
dvf.dbms_macsec_function.create_factor_function(l_name);
EXCEPTION
WHEN OTHERS THEN
sys.dbms_output.put_line('sddvffnc: factor='||l_name||',error='||sqlerrm);
END;
END LOOP;
END;
/