Monday, March 16, 2009

Oracle 10.2.0.4 Enterprise Manager - Java.lang:exception error

Command: (Windows XP) Settings->Control Panel->Administrative Tools->Services

The Following services are started:

OracleDBConsolePE0047
OracleOraDB10g_homeiTNSListenerLISTENER2
OracleServicePE0047

Start Oracle Enterprise Manager and login
Error displays on the top:
java.lang.Exception: Exception in sending Request::null

First Try:
1. Stop OracleDBConsolePE0047
2. Open a Command window
3. C:\>set oracle_sid=PE0047
4. C:\>emctl start dbconsole
5. Run Oracle Enterprise Manager
Problem Still There

Second Try (from google search):
Maybe it is caused by agentTZtime?
1- Open the command prompt and typeset oracle_sid=(your DB name)
2- Then Type this commandemctl resetTZ agent
3- You will see this message that will tell you what to do :Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright � 1996, 2005 Oracle Corporation. All rights reserved.Updating D:\oracle\product\10.2.0\db_1/osama-pc_orcl/sysman/config/emd.properties...Time zone set to Africa/Cairo.
To complete this process, you must either:connect to the database served by this DBConsole as user 'sysman', and execute:SQL> exec mgmt_target.set_agent_tzrgn('osama-pc:3938','Africa/Cairo')-- or --connect to the database served by this DBConsole as user 'sys', and execute:SQL> alter session set current_schema = SYSMAN;SQL> exec mgmt_target.set_agent_tzrgn('osama-pc:3938','Africa/Cairo
4- You must restart the DBCONSOLE Service Or reboot your machine and you will find that the problem has gone.

ERROR:
While running mgmt_target.set_agent_tzrgn() through sysman account,I am getting error:
ERROR at line 1:ORA-20233: Invalid agent name sun220r.spiceindia.com:3872
ORA-06512: at "SYSMAN.MGMT_TARGET", line 3814
ORA-06512: at line 1

PROBLEM IS STILL THERE!!!


Analysis:
Commands used:
emctl status agent

Troubleshooting Agent Time Zone
This case happened to me on a Windows XP Professional in Mexican Spanish after a timezone change. I notice a similar error shows up on databases affected by the automatic time zone changes after synchronization with the time.windows.com, which recently has included two time zones for Mexico - one named old and the other named new-

Troubleshooting
0. Consider these files when performing the troubleshooting phase:
emd.properties
supportedtzs.lst

1. Stop the console
\bin\emctl stop dbconsole

2. Backup the file located at ORACLE_HOME/hostname_SID/sysman/config/emd.properties

3. Edit the emd.properties file and look for the agentTZRegion (generally appears at the end of the file)

At the file emd.properties, located at the ORACLE_HOME/hostname_instanceName/sysman/config

change the value

agentTZRegion=GMT To agentTZRegion=America/Mexico_City

Evidently, this is for the particular case of Mexico City, but similar issues could apply to other time zones.
For other timezones affected, such as the one corresponding to Egypt, change the value of this parameter from GMT+2 to Egypt which is included in the supportedtzs.lst file.
So the parameter will be agentTZRegion=Egypt

4. When agent is unable to find a proper time zone it will adopt GMT, so it could be the value registered so far. Change this value by the value corresponding to the OS time zone, this time zone should be one listed at the ORACLE_HOME/sysman/admin/nsupportedtzs.lst file.

5. Execute this command
emctl resetTZ agent
emctl config agent getTZ

After issuing the resetTZ command a similar issue like this one may appear:
To complete this process, you must either:

connect to the database served by this DBConsole as user 'sysman', and execute:

SQL> exec mgmt_target.set_agent_tzrgn('pc06.oracle.com:3938','America/Mexico_City')

-- or --

connect to the database served by this DBConsole as user 'sys', and execute:

SQL> alter session set current_schema = SYSMAN;
SQL> exec mgmt_target.set_agent_tzrgn('pc06.oracle.com:3938','America/Mexico_City')

In order for these commands to be successful, you are required the agent to have registered some values at the EM repository. Check this query, there should be similar information displayed when connected as sysman:
SQL> select target_name, target_type from mgmt_targets;

TARGET_NAME TARGET_TYPE
------------------------------------
pc06.oracle.com host
orcl.oracle.com oracle_database
pc06.oracle.com:3938 oracle_emd
Management Services and Repository oracle_emrep
LISTENER_pc06.oracle.com oracle_listener

6. The previous command will ask to perform some actions at the sysman repository level. Execute the reset at the repository level by:
SQL> alter session set current_schema = SYSMAN;

SQL> exec mgmt_target.set_agent_tzrgn('hostname:3938','TimeZone');

This command should be successful, otherwise it could be because the agent hasn't ever started and it has never registered, even with the wrong TZ at the repository.

In order for you to verify this has ever run and the agent is properly registered, issue this query as sysman:

SQL> select target_name, target_type from mgmt_targets;
The target with the default port 3938 is the target we are looking for.

The target related to the port 3938 should be listed. Otherwise try to start the agent so it can register this target. If agent is not starting, please veriy at the logs what could be a reason that prevents agent from starting. Most of the times it is because of a wrong specified

6. Try to login to the dbconsole and check if the error still exists.

7. Now start the EM Console, the problem should be fixed by now.


Notes.
The value of the time zone is a valid value listed at ORACLE_HOME/sysman/admin/nsupportedtzs.lst Make sure the time zone matches that of the host computer.

if when executing the emdctl command an error related to java appears, it is because the right java version is not being invoked. Make sure the path environment variable properly includes the jdk environment provided at the same Oracle Home where the database is related to.

path=%PATH%;C:\Oracle\product\10.2.0\db_1\jdk\jre\bin;C:\Oracle\product\10.2.0\db_1\jdk\bin
path=%path%;C:\Oracle\product\10.2.0\db_1\jdk\jre\bin\client



References.

Problem: Startup Agent: ORA-20233: Invalid agent name when running mgmt_target.set_agent_tzrgn procedure in repository
Doc ID: Note:388280.1 --> This note has particularly helped me to solve my particular issue.

Problem: Startup Agent: EM Agent will not start due to Timezone mismatch (Daylight Savings changes for Australia)
Doc ID: Note:362888.1 --> some useful ideas were taken from this note

Problem: Startup Agent: Agent Fails to Start due to Incorrect Timezone File Used as Pointed by ORA_TZFILE
Doc ID: Note:409121.1

Problem: Startup Agent: ORA-20233: Invalid agent name when running mgmt_target.set_agent_tzrgn procedure in repository
Doc ID: Note:388280.1

No comments:

Post a Comment