ORA-600: [4406] - ORA-28003 - ORA-20002 when executing SQLPLUS PASSWORD command
(Doc ID 744651.1)
Last updated on APRIL 06, 2020
Applies to:
Oracle Database - Enterprise Edition - Version 10.2.0.3 and laterInformation in this document applies to any platform.
This problem can occur on any platform.
Symptoms
NOTE: The document content below, the user information and data used represents fictitious data from the Oracle sample schema(s) or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.
- ORA-600 [4406] may occur when the default user profile uses a password complexity verification routine to verify password restrictions such as password length etc.
- When executing the Sqlplus PASSWORD command and the specified password conflicts with the rules handled by the password verification routing (eg. the password length is below the expected length) an ORA-600 [4406] may occur.
-- Changing password
SQL> password
Changing password for TEST
Old password: <-- specify current password
New password: <-- type in a conflicting password
Retype new password: <-- retype conflicting password
ERROR:
ORA-600: internal error code, arguments: [4406], [0x32E1E574], [0x0],
ORA-28003: password verification for the specified password failed
ORA-20002: Password length less than 8STACK TRACE: (ORA-600) ------------ ktcrab kpoauth opiodr ttcpip opitsk opiino opiodr opidrv ...
Changes
Issue occurs when:
- Sqlplus "PASSWORD" command was executed:
SQL> password
- A password verification function has been enabled.
SELECT * FROM sys.dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION' and limit != 'NULL';PROFILE RESOURCE_NAME RESOURCE LIMIT --------- --------------------------- -------- --------------- DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_PWD
- The password verification function uses a COMMIT statement to commit DML such as writing log information into a table.
Example - Password Verification Function ---------------------------------------- ... IF LENGTH (PASSWORD) < 8 THEN INSERT INTO <TABLE_NAME>(dt_chgt_pwd,status,v_schema,v_txt) VALUES (SYSDATE, 'ERROR',username, SYS_CONTEXT ('USERENV', 'OS_USER') || ', terminal ' || SYS_CONTEXT ('USERENV', 'TERMINAL') || ', logged on as user: ' || SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA') .... COMMIT; <== Commit is triggering the issue! ...
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
FIX |
WORKAROUND |
PATCH |
References |