I faced with that issue on “Oracle Enterprise manager” on one of my client environments.

Here is the screen:

oem database is down

I checked those steps:

  • Check Database is open or Not ->> It was up
  • Check listener is running properly ->> It was up&running
  • check status of emctl ->> It was running
  • Check Account Status of SYSTEM, SYSMAN and DBSNMP users ->> I noticed that sysman and dbsnmp users are locked!!!

So We need to unlock SYSMAN&DBSNMP users and change password for both users.

The dbsnmp account is the ‘monitoring’ account that the agent component of dbconsole uses to connect to the database and run the metrics. The agent needs to run the ‘response’ metric as ‘dbsnmp’ to get information about the status of the database. The database shows as ‘down’ because the agent cannot connect in order to run the relevant status metrics. The ora-1017 error is normally seen for the dbsnmp account if the dbsnmp password has been changed at the database level, but the dbconsole configuration has not been updated.

Oracle use SYSMAN user as a default super-user account to administrator Oracle Enterprise manager and stores the Oracle Management Repository in SYSMAN schema. SYSMAN password is stored in encrypted format in files which are used by OEM, We need to unlock SYSMAN user and change password of SYSMAN

For DBSNMP user:
To update the dbconsole configuration with the new password:-

1) stop the dbconsole
2) Make sure that the password for the dbsnmp account is known, and that is is possible to log into the database as the dbsnmp user at sql*plus.

[oracle@yourhostname]$ cd $ORACLE_HOME/bin
[oracle@yourhostname]$./sqlplus

Connected to:
SQL*Plus: Release 11.2.0.4.0 Production on DATE_HERE
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Enter user-name: dbsnmp/new_pass

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 – 64bit Production
With the Partitioning, Data Mining and Real Application Testing options

3) take a backup of the $ORACLE_HOME/<host>_<sid>/sysman/emd/targets.xml file

eg.

cd /u01/app/oracle/product/11.2.0/db_1/yourhostname/sysman/emd/
cp targets.xml targets.xml_org

4) Look for the section:-

<Property NAME=”UserName” VALUE=”6966cdbe4057f1dd” ENCRYPTED=”TRUE”/>
<Property NAME=”password” VALUE=”6966cdbe4057f1dd” ENCRYPTED=”TRUE”/>

Change the line:-
<Property NAME=”password” VALUE=”6966cdbe4057f1dd” ENCRYPTED=”TRUE”/>

to

<Property NAME=”password” VALUE=”<current value of the dbsnmp password>” ENCRYPTED=”FALSE”/>
eg.
<Property NAME=”password” VALUE=”new_pass” ENCRYPTED=”FALSE”/>

Note that as well as changing the password, the “ENCRYPTED” value must be changed to FALSE

For SYSMAN user:
1) Stop the DB Control

[oracle@yourhostname]$ emctl stop dbconsole

2) Connect to the database as a user with DBA privilege with SQL*Plus and execute:

[oracle@yourhostname]$ cd $ORACLE_HOME/bin
[oracle@yourhostname]$./sqlplus

SQL> alter user sysman identified by <password> ;

Check the new password
SQL> connect sysman/[@database_alias]

3) Set new password for dbconsole
$ emctl setpasswd dbconsole
Provide the new SYSMAN password

4) open the emoms.properties configuration file, backup it and change entries
xx\sysman\config\emoms.properties

orcle.sysman.eml.mntr.emdRepPwd=NEW_SYSMAN_PASSWORD
orcle.sysman.eml.mntr.emdRepPwdEncrypted=FALSE ( If its true than change it to false)
5) Restart the DB Control
On Unix
$ emctl start dbconsole

Reference:
– How To Change the Password of the Database User Sysman (Enterprise Manager Database Control Repository Schema) (Doc ID 259379.1)
– Database Control (dbconsole) homepage shows “Failed to connect to database instance: ORA-12537: TNS:connection closed” under “agent connection to instance” (Doc ID 1563982.1)

 

 

Advertisements