「2013 年 5 月 29 日水曜日 23:55:19」の形式の場合、監視 Perl スクリプトがオラクル アラート ログ ファイルからアラート ログを監視するタイミング データを取得するようにカスタマイズしました。しかし、Oracle 10.2.0.5 データベースの場合、Oracle はアラート ログ ファイルに「Thu May 30 01:30:43 ADT 2013」のような日付とともにタイム ゾーン情報も書き込みます。
以下のスクリプトを使用して、yyyymmddhhmmss のタイムスタンプを取得しています。しかし、alertlog ファイルがタイムゾーン付きの日付形式の場合、同じスクリプトが失敗します。
sub make_timestamp
{
my ($day_name,$month_name,$day,$time_stamp,$year,$timestamp);
chomp @_[0];
($day_name,$month_name,$day,$time_stamp,$year) = split (/ +/,@_[0]);
($hour,$min,$sec) = split(/:/,$time_stamp);
## $day = $padded_number{$day} if ($day < 10);
$timestamp = $year . $month{$month_name} . $day . $hour . $min . $sec;
return $timestamp;
}
このコードを修正するのを手伝ってもらえますか?