Problem
I was trying to start my OEM local environment and I got a error related to some user that has been expired:
[oracle@emcc ~]$ emctl status omsOracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.WebTier is UpOracle Management Server is DownJVMD Engine is Down[oracle@emcc ~]$ emctl start omsOracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.Starting Oracle Management Server...WebTier Successfully StartedOracle Management Server Could Not Be StartedCheck EM Server log file for details: /u01/app/oracle/oem13c/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/logs/EMGC_OMS1.outAdminServer Could Not Be StartedCheck Admin Server log file for details: /u01/app/oracle/oem13c/gc_inst/user_projects/domains/GCDomain/servers/EMGC_ADMINSERVER/logs/EMGC_ADMINSERVER.outOracle Management Server is DownJVMD Engine is Down
Then I checked the first log reported above and I found something like this:
Oct 21, 2026 12:30:17 PM oracle.security.jps.internal.policystore.util.JpsDataManagerUtil getDBConnectionWARNING: Can not connect DB with URL jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=emrepo.dibiei.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oempdb)))java.sql.SQLException: ORA-28001: the password has expired
Solution
What I did to fix this was connect in the repository database, search for any EXPIRED/LOCKED account and unlock the account using the password hash values.
Example:
[oracle@emcc ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Oct 21 15:10:06 2026Version 19.30.0.0.0Copyright (c) 1982, 2025, Oracle. All rights reserved.Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.30.0.0.0SQL> SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 RMAN_CATALOG READ WRITE NO 4 OEMPDB READ WRITE NOSQL> SQL> alter session set container = oempdb;Session altered.
Querying users EXPIRED:
SQL> set lines 400set pages 50col username format a30col created format a20col account_status format a30col last_login format a40select username, created, account_status, last_loginfrom dba_userswhere account_status LIKE 'EXPIRED%'order by 1;SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 USERNAME CREATED ACCOUNT_STATUS LAST_LOGIN------------------------------ -------------------- ------------------------------ ----------------------------------------ANONYMOUS 17-APR-19 EXPIRED & LOCKEDCLOUD_ENGINE_USER 25-JUN-24 EXPIRED & LOCKEDCLOUD_SWLIB_USER 25-JUN-24 EXPIRED & LOCKEDCTXSYS 17-APR-19 EXPIRED & LOCKEDEUS_ENGINE_USER 25-JUN-24 EXPIRED & LOCKEDSYSMAN122140_OPSS 25-JUN-24 EXPIRED 07-AUG-26 11.38.19.000000000 AM -03:00XS$NULL 17-APR-19 EXPIRED & LOCKED7 rows selected.
I found this SYSMAN122140_OPSS user. I don’t know what is the current password for that user, and if I reset it with a new password, I would need to update the OMS config.
So I just grabbed the spare4:
SQL> SELECT spare4 FROM sys.user$ WHERE name = 'SYSMAN122140_OPSS';SPARE4----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------S:3B7CE963C4F3CD42A8DBB3822C1DFAA81AE030BAEF121052B2AF0F64AFB6;T:53B3D79632920EFF339E580AF826653FAD52506EBA4E6F9B099F6DAD447DF73CB2D072DAF661AF190E4A66BFF1814AA2B885E64337B1BAEF37A72DDCC4CC5507FB8AC5A20FF6B774CF1EAE31F6714C2D
And reseted the password with VALUES option:
SQL> ALTER USER SYSMAN122140_OPSS IDENTIFIED BY VALUES 'S:3B7CE963C4F3CD42A8DBB3822C1DFAA81AE030BAEF121052B2AF0F64AFB6;T:53B3D79632920EFF339E580AF826653FAD52506EBA4E6F9B099F6DAD447DF73CB2D072DAF661AF190E4A66BFF1814AA2B885E64337B1BAEF37A72DDCC4CC5507FB8AC5A20FF6B774CF1EAE31F6714C2D' ACCOUNT UNLOCK;User altered.
Now the OEM could be started normally:
[oracle@emcc ~]$ [oracle@emcc ~]$ emctl start omsOracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.Starting Oracle Management Server...WebTier Successfully StartedOracle Management Server Successfully StartedOracle Management Server is UpJVMD Engine is Up[oracle@emcc ~]$