воскресенье, 26 февраля 2012 г.

Временные зоны Java (отмена перехода на зимнее время - Россия)

К вопросу об обновлении JAVA Time Zone - после отмены перехода на зимнее время в 2011 году на территории Российской федерации.

На металинке говорится что
доступен Java SE TZUpdater.
Java Time Zone Updater Tool tzupdater quits with "There's no tzdata
available for this Java runtime" [ID 1330586.1]
Сам Java SE TZUpdater
скачиваем по ссылке:
http://www.oracle.com/technetwork/java/javase/downloads/tzupdater-download-513681.html


Заходим на сервер [server_name].[server_domain]
su - oracle

Java SE TZUpdater уже
загружен и разархивирован и на сервере [server_name>].[server_domain] находится по пути:
/home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar

$ ls -l /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar
-rw-rw-r-- 1 oracle oinstall 472738 Oct 4 21:02 /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar
$
В ORACLE_HOME
( /opt/oracle/ora_j2ee )
у нас имеется
JDK и JRE
/opt/oracle/ora_j2ee/jdk/bin/
/opt/oracle/ora_j2ee/jre/1.4.2/bin/

Смотрим текущую
time zone data version для наших
JDK и JRE
$cd /opt/oracle/ora_j2ee/jdk/bin/
$./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -V
tzupdater version 1.3.42-b02
JRE time zone data version: tzdata2003a
Embedded time zone data version: tzdata2011k
cd /opt/oracle/ora_j2ee/jre/1.4.2/bin/
$./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -V
tzupdater version 1.3.42-b02
JRE time zone data version: tzdata2003a
Embedded time zone data version: tzdata2011k

Другой способ посмотреть
текущую time zone data version для наших JDK и JRE
$ /usr/bin/od -c -j 11 -N 11
/opt/oracle/ora_j2ee/jre/1.4.2/lib/zi/ZoneInfoMappings
0000013 t z d
a t a 2 0
0 3 a
0000026
$
$ /usr/bin/od -c -j 11 -N 11
/opt/oracle/ora_j2ee/jdk/jre/lib/zi/ZoneInfoMappings
0000013
t z d a t
a 2 0 0 3 a
0000026
$

Перед патчем останавливаем
сервер приложений:
cd /home/oracle/bin/pkg/ias_cold_backup
./stop_app_all.sh

Установка
Java SE TZUpdater
$cd /opt/oracle/ora_j2ee/jdk/bin/
$ ./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -u -v
java.home: /opt/oracle/ora_j2ee/jdk/jre
java.vendor: Sun Microsystems Inc.
java.version: 1.4.2_06
JRE time zone data version: tzdata2003a
Embedded time zone data version: tzdata2011k
Extracting files... done.
Renaming directories... done.
Validating the new time zone data... done.
Time zone data update is complete.
$
cd /opt/oracle/ora_j2ee/jre/1.4.2/bin/
$ ./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -u -v
java.home: /opt/oracle/ora_j2ee/jdk/jre
java.vendor: Sun Microsystems Inc.
java.version: 1.4.2_06
JRE time zone data version: tzdata2003a
Embedded time zone data version: tzdata2011k
Extracting files... done.
Renaming directories... done.
Validating the new time zone data... done.
Time zone data update is complete.
$
Проверяем
time zone data version после установки
Java SE TZUpdater для наших
JDK и JRE:
$cd /opt/oracle/ora_j2ee/jdk/bin/
$./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -V
tzupdater version 1.3.42-b02
JRE time zone data version: tzdata2011k
Embedded time zone data version: tzdata2011k
cd /opt/oracle/ora_j2ee/jre/1.4.2/bin/
$./java -jar /home/oracle/tzupdater-1.3.42-2011k/tzupdater.jar -V
tzupdater version 1.3.42-b02
JRE time zone data version: tzdata2011k
Embedded time zone data version: tzdata2011k

Другой способ посмотреть
time zone data version для наших JDK и JRE
$ /usr/bin/od -c -j 11 -N 11
/opt/oracle/ora_j2ee/jre/1.4.2/lib/zi/ZoneInfoMappings
0000013 t z d
a t a 2 0
1 1 k
0000026
$

$ /usr/bin/od -c -j 11 -N 11
/opt/oracle/ora_j2ee/jdk/jre/lib/zi/ZoneInfoMappings
0000013
t z d a t
a 2 0 1 1 k
0000026
$

После установки Java SE
TZUpdater запускаем сервер приложений:
cd /home/oracle/bin/pkg/ias_cold_backup
./start_app_all.sh

Комментариев нет: