Erro no Enterprise Manager após mudanças de Horário de verão

Todo ano temos mudanças de horário de verão.

Com essas mudanças o Enterprise Manager vai se perder, após a troca, devido ao EM utilizar o Timezone da maquina para se basear.

Para entender um pouco do problema podemos observar o Timezone em que a maquina esta trabalhando e o Timezone que o EM esta trabalhando, e você verá que os dois estão diferentes.

 [oracle@lana ~]$ date "+%z"
 -0200

[oracle@lana ~]$ cat /u01/app/oracle/product/10.2.0/lana_orcl/sysman/config/emd.properties | grep TZ
 agentTZRegion=Etc/GMT+3
 

Observe que seu linux esta trabalhando no TimeZone -2 e seu EM no timezone -3

Para resolver este problema vou apresentar duas formas, uma por script e a outra na unha.

A forma de resolver na unha vou pegar de um post antigo do Rafael Stoever

Edite o arquivo emd.properties e edite a linha que contenha “agentTZRegion” conforme abaixo


vi /u01/app/oracle/product/10.2.0/lana_orcl/sysman/config/emd.properties
#agentTZRegion=Etc/GMT+3
agentTZRegion=Etc/GMT+2

Force o TZ da maquina para ficar com o mesmo TimeZone do EM.

[oracle@lana ~]$ export TZ=Etc/GMT+2

Em seguida você terá de ressetar o agent.

[oracle@lana ~]$ emctl resetTZ agent
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.
Updating /u01/app/oracle/product/10.2.0/lana_orcl/sysman/config/emd.properties...
Time zone set to Etc/GMT+2.

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('lana:3938','Etc/GMT+2')

-- 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('lana:3938','Etc/GMT+2');

Agora você terá de se conectar com o owner sysman ou sys e efetuar uma das duas opçoes, que no final da no mesmo processo. Que é setar o nome da instancia, a porta e o TZ do agent.

Vamos fazer a segunda opção. que é conectar como sys, alterar o owner corrente para sysman e executar o comando para setar as novas opções.


SQL*Plus: Release 10.2.0.4.0 - Production on Wed Dec 23 11:29:58 2009

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 10g Release 10.2.0.4.0 - Production

SQL> alter session set current_schema = SYSMAN;

Session altered.

SQL> exec mgmt_target.set_agent_tzrgn('lana:3938','Etc/GMT+2')

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

Agora é levantar seu EM

Primeiro vamos levantar o agente e depois vamos levantar o EM

[oracle@lana ~]$ emctl start agent
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.
Starting agent ..... started.

[oracle@lana ~]$ emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

https://lana:1158/em/console/aboutApplication

Agent Version     : 10.1.0.6.0
OMS Version       : 10.1.0.6.0
Protocol Version  : 10.1.0.2.0
Agent Home        : /u01/app/oracle/product/10.2.0/lana_orcl
Agent binaries    : /u01/app/oracle/product/10.2.0
Agent Process ID  : 4289
Parent Process ID : 4291
Agent URL         : https://lana:3938/emd/main
Started at        : 2011-09-07 13:23:53
Started by user   : oracle
Last Reload       : 2011-09-07 13:23:53
Last successful upload                       : (none)
Last attempted upload                        : (none)
Total Megabytes of XML files uploaded so far :     0.00
Number of XML files pending upload           :       11
Size of XML files pending upload(MB)         :     0.06
Available disk space on upload filesystem    :    12.91%
Agent is already started. Will restart the agent
Stopping agent ... stopped.
Starting Oracle Enterprise Manager 10g Database Control ........... started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/lana_orcl/sysman/log

Pronto.

Problema Resolvido.

Mas caso você desejar uma solução mais simples, a própria Oracle criou um script, para auxiliar nesses casos, vou postar ele aqui para baixarem. A unica coisa que vocês tem de fazerem é alterar o .txt que postarei para baixarem para .sh e setar seu agent TZ na maquina.

[oracle@lana ~]$ export TZ=Etc/GMT+2

logico que você setarão o agent conforme seus TimeZones respectivos. Para baixar o script clique AQUI

%name Erro no Enterprise Manager após mudanças de Horário de verão

Autor: Leandro Lana

Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).

Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.

Contato: leandro.lana@migrati.com.br

Fone: (47) 9191-6052 / (47) 3328 0996

Certificações:

OCA 10G.

OCP 10G.

OCE Linux.

OCE RAC/Cluster.

MCP SQL-Server 2008.

MCITP SQL-Server 2008.

DB2 Fundamentals.