参考原文:
Dbconsole Dbsnmp account is getting locked (Doc ID 1127123.1)
本文不做翻译。仅作转载。
The EM DBConsole service will not start on Windows and dbsnmp account keeps getting locked.
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');
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