
How to Fix ORA-28001: The Password Has Expired in Oracle
Change an expired password at logon or as an administrator, and check the profile limits that make passwords expire.
Posts tagged AI-Assisted are created with support from artificial intelligence. I use AI tools to research, draft, and refine ideas—combining human insight with machine precision to deliver clear, informed, and creative content.

Change an expired password at logon or as an administrator, and check the profile limits that make passwords expire.

Reproduce an account lock from failed logins, read LOCKED and LOCKED(TIMED) in DBA_USERS, and unlock the account.

Find why a logon is denied, from case-sensitive passwords to the wrong pluggable database, and reset the password as an administrator.

List the services the listener knows, connect to the pluggable database's service, and get a database registered again.

Find where the listener really listens with lsnrctl status, start it when it is down, and check ports, Docker, and firewalls.

Connect with an Easy Connect string, or add the alias to the tnsnames.ora the client really reads, with tested examples.

Keep a PL/SQL batch running when one row divides by zero, by handling ZERO_DIVIDE per row or using NULLIF in SQL.

Find why a trigger is invalid in USER_ERRORS, fix it so statements on the table work again, or disable it until it is fixed.

End autonomous transactions with COMMIT or ROLLBACK before the routine returns, and see why the logged row survives the caller's rollback.

Call functions that change data from PL/SQL, split reading from writing, or log with an autonomous transaction when needed.

Match the columns of a ref cursor's query to the record it is fetched into, and let strong cursor types catch mismatches early.

Reproduce ORA-04068 with two sessions, see why package state is discarded after a recompile, and design packages that avoid it.

Read the error that comes with ORA-06508, such as ORA-04067, and restore or recompile the program unit that could not be run.

Find the compile errors behind ORA-04063 in USER_ERRORS, fix the package body, and catch invalid objects at deploy time.

Find why a stored procedure became invalid, read its compile errors in USER_ERRORS, and recompile it once the cause is fixed.

Find why a record field or package subprogram is not visible, from misspellings to procedures missing from the package spec.

Match procedure and function calls to their parameter lists with USER_ARGUMENTS, and make calls clearer with named notation.

Read the PLS-00103 message, find the real mistake just before the reported position, and fix the common PL/SQL syntax slips.