Insight Technology, Inc

インサイトテクノロジー

Japanese | English

2005年12月15日 更新
株式会社インサイトテクノロジー


弊社製品のうるう秒対応について

PISOをご使用のお客様で、Targetまたは ISMのOSに Linuxをお使いのお客様は、うるう秒が挿入される1秒間の間だけデータの格納に失敗する可能性がございます。 以下の「1. Linuxで影響の出る環境について」の内容を確認の上、該当する環境をお使いのお客様は、弊社サポートセンターまでお問い合わせいただき、対応モジュールの適用をお願いいたします

尚、PISOでOSに Solaris, AIX、HP-UX、Windowsをお使いのお客様は影響ございません
また、Performance Insightをご使用のお客様の場合も、すべてのOSで影響ございません。
  1. Linuxで影響の出る環境について
    • 以下2つの条件に両方ともあてはまる場合に、問題の発生する可能性があります。どちらか一方でも当てはまらない場合、問題は発生しません。
    • TZに Asia/Tokyoや Japanではなく、right/Asia/Tokyo、right/Japanなど、うるう秒に対応したタイムゾーンを設定している。あるいは独自にタイムゾーンをうるう秒対応に差し替えている。
    • 2006年1月1日のうるう秒に対応済みの、最新のtzdataパッケージを適用済みである。
      ちなみに RedHatの場合は、以下のtzdataパッケージが、2006年1月1日のうるう秒に対応しています。

    • RHEL 3 tzdata-2005m-1.EL3.noarch.rpm
      RHEL 2.1 対応するパッケージはありません。

      ※ これらの条件にあてはまるかどうかは、下記「うるう秒対応の確認方法」により確認できますので、不明な場合は試してみてください。
      ※ あてはまる環境の場合は弊社サポートセンターまで、ご連絡ください。
  2. 2006年1月1日のうるう秒について
    • 2006年1月1日はうるう秒が実施されます。
      うるう秒とは、1日を1秒長くすることで地球の自転と時刻との間に生じる「時間差」を解消するもので、不定期に行われます。
      今回は1972年から23回目の実施となります。
      日本標準時(JST)においては、2006年1月1日の午前9時にうるう秒が実施されます。
      (詳細は http://jjy.nict.go.jp/QandA/reference/leapsec-addendum.html を参照してください。)
  3. システムへの一般的な影響について
  4. 弊社製品の影響について
    1. Performance Insightについて
      • 問題は発生しません。
    2. PISOについて
      • 60秒という秒数が発生する場合、以下のような問題が発生する事が確認されています。

        [Target側の問題発生するタイミング]
        • SQLの開始時刻、または終了時刻が 2006/1/1 08:59:60 の1秒間に含まれた。

        [ISM側の問題発生するタイミング]
        • Target側から送信されてきたデータをインサートする時間、またはアラートと報告された時間が 2006/1/1 08:59:60 の1秒間に含まれた。

        上記 Targetまたは ISMのどちらかの条件に合致した場合、Oracleの DATE型の制限により、次のいずれかのエラーがISM上で発生します。
        • 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)でのアラートデータのインサートエラー

        また、それらのエラーが発生した場合、1/1 朝9:00(JSTの場合)に ISM Overview -> サービス管理 -> コンソール にエラーが報告されます。
        尚、このエラーは、該当する1秒間のみ発生する可能性があるもので、継続性はありません。
  5. うるう秒対応の確認方法
    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