2005年12月15日 更新
株式会社インサイトテクノロジー
弊社製品のうるう秒対応について
PISOをご使用のお客様で、Targetまたは ISMのOSに Linuxをお使いのお客様は、うるう秒が挿入される1秒間の間だけデータの格納に失敗する可能性がございます。 以下の「1. Linuxで影響の出る環境について」の内容を確認の上、該当する環境をお使いのお客様は、弊社サポートセンターまでお問い合わせいただき、対応モジュールの適用をお願いいたします。尚、PISOでOSに Solaris, AIX、HP-UX、Windowsをお使いのお客様は影響ございません。
また、Performance Insightをご使用のお客様の場合も、すべてのOSで影響ございません。
- Linuxで影響の出る環境について
- TZに Asia/Tokyoや Japanではなく、right/Asia/Tokyo、right/Japanなど、うるう秒に対応したタイムゾーンを設定している。あるいは独自にタイムゾーンをうるう秒対応に差し替えている。
- 2006年1月1日のうるう秒に対応済みの、最新のtzdataパッケージを適用済みである。
ちなみに RedHatの場合は、以下のtzdataパッケージが、2006年1月1日のうるう秒に対応しています。 - 2006年1月1日のうるう秒について
- システムへの一般的な影響について
- 弊社製品の影響について
- Performance Insightについて
- PISOについて
- SQLの開始時刻、または終了時刻が 2006/1/1 08:59:60 の1秒間に含まれた。
- Target側から送信されてきたデータをインサートする時間、またはアラートと報告された時間が 2006/1/1 08:59:60 の1秒間に含まれた。
- ISM Apacheでのデータインサートエラー
(PISO ISM Ver. 2.0.x ~ 2.1.1 の場合) - ISM MQ(Manager Queue)でのデータインサートエラー
(PISO ISM Ver. 2.1.2以降の場合) - ISM AQ(Alert Queue)でのアラートデータのインサートエラー
- うるう秒対応の確認方法
-
以下2つの条件に両方ともあてはまる場合に、問題の発生する可能性があります。どちらか一方でも当てはまらない場合、問題は発生しません。
RHEL 3 tzdata-2005m-1.EL3.noarch.rpm
RHEL 2.1 対応するパッケージはありません。
※ これらの条件にあてはまるかどうかは、下記「うるう秒対応の確認方法」により確認できますので、不明な場合は試してみてください。
※ あてはまる環境の場合は弊社サポートセンターまで、ご連絡ください。
-
2006年1月1日はうるう秒が実施されます。
うるう秒とは、1日を1秒長くすることで地球の自転と時刻との間に生じる「時間差」を解消するもので、不定期に行われます。
今回は1972年から23回目の実施となります。
日本標準時(JST)においては、2006年1月1日の午前9時にうるう秒が実施されます。
(詳細は http://jjy.nict.go.jp/QandA/reference/leapsec-addendum.html を参照してください。)
-
うるう秒に対応したOSの場合、以下のように、08:59:60 という、通常はあり得ない時刻が発生します。
08:59:58
08:59:59
08:59:60 <-- 通常 60秒は発生しない。これが挿入されたうるう秒
09:00:00
このような時刻に対応していないアプリケーションでは、問題が発生する可能性があります。
Oracleの DATE型はうるう秒に対応していないため(Krown#33273)、PISO ISMでも問題が発生する可能性があります。
それ以外の各Unix, Windowsでは、上記のような秒数は発生せず、アプリケーションへの影響はほとんど無いものと思われます。 またNTP等を使用していれば、自動的に正確な時間に補正されます。 詳細は各OSベンダーにお問い合わせください。以下は主なベンダーのうるう秒に関する説明ページとなります。
| AIX | http://www-06.ibm.com/jp/software/support/techflash/492570C8000560E0_jp_servers_eserver_support_pseries_index.html |
| HP-UX | http://h50221.www5.hp.com/cgi/service/knavi/production/doc_disp.cgi?category=1101&doc=jnav014702 |
| Linux(HP) | http://h50221.www5.hp.com/cgi/service/knavi/production/doc_disp.cgi?category=1101&doc=jnav015322 |
| Solaris | http://jp.sun.com/servicessolutions/leap_sec/ ※Solarisはうるう秒のフォーマットには対応していますが、8:59:60 という表示にはなりません。 |
| Windows | http://support.microsoft.com/kb/909614/ja |
-
問題は発生しません。
-
60秒という秒数が発生する場合、以下のような問題が発生する事が確認されています。
[Target側の問題発生するタイミング]
[ISM側の問題発生するタイミング]
上記 Targetまたは ISMのどちらかの条件に合致した場合、Oracleの DATE型の制限により、次のいずれかのエラーがISM上で発生します。
また、それらのエラーが発生した場合、1/1 朝9:00(JSTの場合)に ISM Overview -> サービス管理 -> コンソール にエラーが報告されます。
尚、このエラーは、該当する1秒間のみ発生する可能性があるもので、継続性はありません。
-
以下のような sqeelスクリプトを作成していただき、pisoユーザで実行していただきます。
[ leap-check.eel ]
// Filename: leap-check.eel
// Created: 2005.12.08
// Note: check leap second
run( )
function run( )
local s = bintime( '20060101', '090000' ) // JSTの場合.JST以外のTZの場合は、'090000' を
// うるう秒が挿入される時刻に変更してください.
if formattime( s-1, '%S' ) == 60
print( '\nCheck result: CAUTION: leap seconds format (60sec) is supported!\n', stdout)
prtime( s-2 )
prtime( s-1 )
prtime( s )
return 1
else
print( '\nCheck result: No problem. ', stdout )
return 0
endif
endfunction
function prtime(s)
print ( formattime( s, '${s}: %Y/%m/%d %H:%M:%S (%z) ${strdate(s)} ${strtime(s)}' ), stdout)
endfunction
ファイルを作成して実行した結果、以下のように表示された場合、問題が発生する環境ですので、弊社サポートセンターまでお問い合わせください。
$ sqeel leap-check.eel Check result: CAUTION: leap seconds format (60sec) is supported! 1136073621: 2006/01/01 08:59:59 (+0900) 20060101 085959 1136073622: 2006/01/01 08:59:60 (+0900) 20060101 085960 1136073623: 2006/01/01 09:00:00 (+0900) 20060101 090000 $ファイルを作成して実行した結果、以下のように表示された場合、問題は発生いたしません。
$ sqeel leap-check.eel
Check result: No problem.
$
<本件に関するお問い合わせ先>
株式会社インサイトテクノロジー サポートセンター
TEL 0467-59-1527 / FAX 0467-82-2663
