When logging in to database control after some time you may get a message that some accounts’ passwords need to be changed (sysman, system etc..). A page will be displayed allowing you to change those password but if something (like timeout) happens during the page processing you will not be able to log in again to the database control and change the passwords.
usually, to solve you should restart the dbconsole by opening the command prompt and typing emctl stop dbconsole. However, you may find that the service is no longer running. Trying to start the dbconsole by typing emctl start dbconsole in the command prompt will result in the following message:
The OracleDBConsole[ServiceName] service could not be started.
A service specific error occurred: 2.
More help is available by typing NET HELPMSG 3547.
as expected, typing NET HELPMSG will not provide usefull information.
To solve this:
1) Delete and recreate the Enterprise Manager agent.
In the command prompt type> emca -deconfig dbcontrol db
even if this fails, type> emca -config dbcontrol db
You will be asked to provide the database SID, the listener port, password for SYS, DBSNMP and SYSMAN accounts, and some optional settings.
This process will run for several minutes.
2) restart the dbconsole
> emctl stop dbconsole
> emctl start dbconsole
This should solve the issue, however, if you are still unable to log in or you get the following error:
ORA-28001: the password has expired (DBD ERROR: OCISessionBegin), make sure that the SYSMAN account is unlocked
SQL> conn / as sysdba
Connected.
SQL> alter user sysman identified by [new password]
2 /
User altered.
SQL> alter user sysman account unlock;
User altered.
SQL> exit
> emctl stop dbconsole
> emctl start dbconsole
if you still have problems logging in to database control, refer to the following post
What to do when Enterprise Manager is not able to connect to the database instance.