Dbconsole 中 dbsnmp账户被锁后的处理

参考原文:
Dbconsole Dbsnmp account is getting locked (Doc ID 1127123.1)

本文不做翻译。仅作转载。

 

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

你可能感兴趣的:(Dbconsole 中 dbsnmp账户被锁后的处理)