Tuesday, April 24, 2007

Timezone mismatch agentTZRegion does not match the current environment TZ setting

To get Oracle's sweet Enterprise Manager Database Control web gui running, you'll need to use the Enterprise Manager control to start it. Use the following command:
emctl start dbconsole

The web gui runs on port 1158. For some reason, though my TZ environment variable matched what was in the emd.properties file, I got the following error:
[oracle@oracletest oracle]$ emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication

Timezone mismatch: The agentTZRegion value (EST) in
/oracle/oracletest.test.com_test/sysman/config/emd.properties
does not match the current environment TZ setting(EST).
The dbconsole cannot run with this mismatch.

If EST is the correct timezone, set your timezone environment variable to EST and repeat the 'emctl start dbconsole' operation.

If EST is not the correct timezone, make sure that the timezone in your environment is correct, and then run the following command in your local Oracle Home: 'emctl resetTZ agent'

The output of this command will include detailed instructions to follow, to correct the mismatch
.


If I echo out my timezone, I see that it is set to EST:
[oracle@oracletest oracle]$ echo $TZ
EST


Then, I looked in the emd.properties file and saw that the agentTZRegion is set to the same:
[oracle@oracletest oracle]$ grep Z /oracle/oracletest.test.com_test/sysman/config/emd.properties
agentTZRegion=EST


What the heck? After a bit of googling, I saw someone simply unset the TZ environment variable and the dbconsole started up. So I did the same:
[oracle@oracletest oracle]$ unset TZ
[oracle@oracletest oracle]$ echo $TZ


This seemed to work for me as the dbconsole started and port 1158 was up and listening!
[oracle@oracletest oracle]$ emctl start dbconsole TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory /oracle/oracletest.test.com_test/sysman/log
[oracle@oracletest oracle]$
[root@oracletest oracle]# netstat -na grep 1158
tcp 0 0 0.0.0.0:1158 0.0.0.0:* LISTEN

Ah well..all's well that ends well!

6 comments:

Ryan Shillington said...

This is wild. I had the exact same error, but a completely different solution. I didn't have the TZ environment variable set, and the Enterprise manager webserver wouldn't start *until* I set it:

[oracle@morecowbell bin]$ export TZ=CDT
[oracle@morecowbell bin]$ echo $TZ
CDT
[oracle@morecowbell bin]$ ./emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://morecowbell.austin.ibm.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ......................................

--------------------

Still. Thanks for your help! I didn't know that the timezone environment variable was TZ until I read your post.

Ryan
Used is Better

Cacasodo said...

Interesting..welcome to the wonderful world of Oracle. At least I lead you down a path that helped you!

By the way, love the servername! Bruce Dickinson lives!
:)
'sodo

¯`·.¸.×±ËÑ Ð©×.¸.·´¯ said...

This doesn't work >.< I'm having the exact same problems and I can't figure it out

shdanfo said...

I just went through a day dealing with this. Never had a problem with the agentTZRegion property before, but dbconsole wasn't working and these posts gave me the essential clue. So here's my value-add: I am using a new Solaris 10 system (with up-to-date daylight savings time tables), and Oracle 10.2.01 (with out-of-date jre daylight savings time tables). So, even with cmd.properties and OS TZ entries the same, I was getting mismatched TZ offsets (during the period of time when OS knows it's EDT and Java still thinks it's EST). Off by one hour. So I set emd.properties agentTZRegion=Etc/GMT+4 to match the offset determined for US/Eastern daylight saving time. This worked, and dbconsole now starts. Thought I would share...

Cacasodo said...

Thanks shdanfo! I appreciate the extra info.
'sodo

Danilo said...

The same happened to me Ryan.
Thanks for your post.

Feel free to drop me a line or ask me a question.