Pedro F. Carvalho
Analista de Sistemas
[email protected]
Problemas
Ao atrasar o horário do servidor em 1 hora, e não realizar os procedimentos corretos
para efetuar essa atividade, pode trazer diversos impactos ao banco de dados Oracle.
E esses impactos podemos listar abaixo:
•
•
•
•
•
•
•
•
•
Sobreescrita na geração dos Archived Logs;
Problemas de comunicação com o LISTENER do Oracle Server;
Problemas de novos registros incluídos atráves da aplicação ou processos de
ETL, pois se esses registros trabalham com funções de data como SYSDATE,
TIMESTAMP ou SYSTIMESTAMP, podem ser invalidadas por primarys keys e
constraints de check no modelo e banco de dados;
Para ambientes RAC (Real Application Cluster), mudar o horário pode trazer
diversos problemas, desde o CRS (Cluster Registry Services), LISTENER e
InterConnect, pois podem ocorrer sobreescritas na gravação dos logs e
sincronização dos nós;
Para ambientes DataGuard ou Stand-by, podem ocorrer problemas também
com sobreescritas dos redo logs, onde pode causar problemas e até mesmo
erros do kernel do Oracle Server gerando os ORA-600;
Problemas nas mensagens gravadas no alert.log;
Problemas no agendamento de JOBS no banco de dados, que seja feito por
DBMS_JOB ou DBMS_SCHEDULER;
Se ocorre a sobreescrita dos archived logs, terá problemas com o Point-inTime-Recovery do seu banco de dados, e com isso, uma simples troca do
horário pode ser uma catástrofe em seu backup e recover;
Pode ocorrer problemas com o JVM do Oracle;
Todos os impactos citados acima, estão resumidos e que podem ser afetados de
imediato, existem outros impactos que podem aparecer depois de 2 ou 3 dias e até
mesmo semanas. E para não correr esse risco, existe um procedimento bem básico
para os DBAs.
Procedimento
Antes de realizar a troca do horário do servidor e futuramente do banco de dados, siga
os procedimentos abaixo:
1. Realizar um backup full do banco de dados.
2. Parar os serviços do Listener, exemplo: lsnrctl stop ou lsnrctl <nome_listener>
stop;
3. Parar o banco de dados, com shutdown immediate, normal ou transactional.;
4. Para ambiente Windows: Depois que descer o banco de dados pelo SQL*PLUS,
descer
o
serviço
do
windows,
exemplo:
net
stop
OracleService<nome_da_base>;
5. Anotar o horário de STOP GERAL, para saber com exatidão o momento da
parada de todos os serviços;
6. Alterar o horário do servidor (Windows\Linux\Unix);
7. Após a troca do horário no servidor, esperar 1 hora para subir os bancos.
Exemplo, se meu STOP GERAL foi as 00:05AM (antes da troca), anoto esse
valor e espero 1 hora, realizo a troca do horário e quando for 01:05AM, meu
horário será atrasado para 00:05AM novamente (ajuste para o fim do horário
de verão), e a partir desse horário posso subir todos os serviços novamente a
partir do horário que desceu, deste modo não regresso no tempo.
Pedro F. Carvalho
Analista de Sistemas
[email protected]
8. Subir todos os serviços novamento, pode ser pela ordem BANCO DE DADOS ->
LISTENER -> APLICAÇÃO.
E pronto! Já estamos com nossos horários ajustados para o horário de Brasilia (Oficial
Brasileiro).
Recomendação
Nunca deixem os servidores de banco de dados com o ajuste de horário de verão
automático, pois a cada ano, as datas são de início e fim podem sofrer alterações e
seja necessário patchs para os novos ajustes e fora que isso, pode trazer todos os
problemas citados acima no banco de dados, então faça sempre manualmente.
Download

Horário de Verão - Pedro F. Carvalho