Tag Archives: ORA-28001

What to do when Enterprise Manager is not able to connect to the database instance (ORA-28001)

If you are trying to connect to the Oracle enterprise Manger and you get the following errors:

Enterprise Manager is not able to connect to the database instance.

And in the “Agent connection to instance” section:

Status: Failed
Details: ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)

One of the reasons could be that the password for the SYSMAN user is expired. However, changing the password alone will not solve this issue. Several additional steps are required in order to make Oracle Enterprise Manager connect:

Before you start: Verify that ORACLE_HOME, ORACLE_SID environment variables are set. – If not, set them using as  environment variables or open a command line and type SET ORACLE_SID=<The database SID>

1. Stop the dbconsole: emctl stop dbconsole (dos and Unix) or  using the windows services stop the OrcleDBConsole<The database SID>.

2. Connect to the database as a user with DBA privilege with SQL*Plus
and run the following command:

alter user sysman identified by <the new password> ;

3. Verify that the new password works
SQL> connect sysman/<the new password>

4. Go to ORACLE_HOME/<HostName_SID>/sysman/config and save a backup of the emoms.properties file.

a) Open the file emoms.properties and search for:
oracle.sysman.eml.mntr.emdRepPwd=<some encrypted value>

Replace the encrypted value with the new password value

b) Search for oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
and change TRUE to FALSE

c) Save and close emoms.properties

5. Restart the dbconsole:

emctl start dbconsole (dos and Unix) or  using the windows services start the OrcleDBConsole<The database SID>.

6. Open  emoms.properties again and Search for:
verify  that the password is encrypted

b) oracle.sysman.eml.mntr.emdRepPwdEncrypted=
verify  that the value is set to  TRUE

7. Refresh Oracle Enterprise Manager