Applies to:

Enterprise Manager for Oracle Database - Version 11.1.0.6 to 11.2.0.3 [Release 11.1 to 11.2]


Information in this document applies to any platform.


***Checked for relevance on 09-Apr-2012***


Checked for relevance on 01-Jul-2014



Symptoms

The EM DBConsole service will not start on Windows and dbsnmp account keeps getting locked.

Cause

The password set in the targets.xml for the dbsnmp account is invalid and the dbsnmp account has been set to use a profile that locks the account after x attempts of unsuccessful logins .  This can be seen by:-


1) SELECT username "User Name" , profile from sys.dba_users

where username in ( 'DBSNMP') ORDER BY username;


2) SELECT resource_name, limit, profile FROM sys.dba_profiles

where profile in ('&profileName1') and resource_name ='FAILED_LOGIN_ATTEMPTS'


for ProfileName1 enter the value returned from query 1


3) select username, account_status, lock_date from dba_users where username in ('DBSNMP');

Solution

1) stop dbconsole

emctl stop dbconsole


either move/backup the log files in $ORACLE_HOME/host_sid/sysman/log or delete them


2) at sqlplus:-


alter user dbsnmp account unlock;

select username, account_status, lock_date from dba_users where username in ( 'DBSNMP');


3) Make sure that the dbsnmp password is known.  To test this, log into the database and do:-


connect dbsnmp/<the dbsnmp password>


if it is not known,


alter user dbsnmp identified by <newpassword>

eg.

alter user dbsnmp identified by dbsnmp1;


4) cd to $ORACLE_HOME/hostname_sid/sysman/emd/targets.xml


under the oracle database section you will see something like:-


<Target TYPE="oracle_database" NAME="ora10204">

<Property NAME="MachineName" VALUE="machine1-uk2.uk.oracle.com" />

<Property NAME="Port" VALUE="1521" />

<Property NAME="SID" VALUE="ora10204" />

<Property NAME="OracleHome" VALUE="D:\10204" />

<Property NAME="UserName" VALUE="ff46ddd9b88bac5c" ENCRYPTED="TRUE" />

<Property NAME="password" VALUE="ff46ddd9b88bac5c" ENCRYPTED="TRUE" />

</Target>


Change:-

the password to be the dbsnmp password and specify ENCRYPTED="FALSE" eg.

in my example:-


<Property NAME="password" VALUE="dbsnmp1" ENCRYPTED="FALSE" />


5) now re-start dbconsole:-

emctl start dbconsole