Password Verify Function
To enforce password complexity in Oracle database, we should apply some password verify function on profiles. The handiest way is to choose one of the native password verify function to use.
In this post, we'd like to know what native verify functions we can use, although we can create a customized verify function for passwords.
Query
SQL> column object_name format a30;
SQL> select object_name from dba_objects where owner = 'SYS' and object_type = 'FUNCTION' and object_name like '%VERIFY%' order by 1;
OBJECT_NAME
------------------------------
ORA12C_STIG_VERIFY_FUNCTION
ORA12C_STRONG_VERIFY_FUNCTION
ORA12C_VERIFY_FUNCTION
VERIFY_FUNCTION
VERIFY_FUNCTION_11G
OK, it seems that we have 5 native password verify functions in Oracle database.
- ORA12C_STIG_VERIFY_FUNCTION
- ORA12C_STRONG_VERIFY_FUNCTION
- ORA12C_VERIFY_FUNCTION
- VERIFY_FUNCTION
- VERIFY_FUNCTION_11G
SQL Script
If there's something missing, you can create them back by the SQL script $ORACLE_HOME/rdbms/admin/catpvf.sql.
[oracle@test ~]$ grep -i ^create $ORACLE_HOME/rdbms/admin/catpvf.sql | grep -i verify
CREATE OR REPLACE FUNCTION ora12c_verify_function
CREATE OR REPLACE FUNCTION verify_function_11G
CREATE OR REPLACE FUNCTION verify_function
create or replace function ora12c_strong_verify_function
create or replace function ora12c_stig_verify_function
They are the same.
Please note that, the standard edition does not have catpvf.sql file.
Next, let's see complexity requirements of these native password verify functions respectively.