• 対応バージョン

Oracle Database 12.2 –

  • 更新履歴
日付更新概要
2017/04/02記事公開

12cR2よりアラートログを含むトレース・ファイルのタイムスタンプ書式がデフォルトで変更されています。
UNIFORM_LOG_TIMESTAMP_FORMAT初期化パラメータにより旧バージョンと同様の書式に戻すことが出来ます。

パラメータ説明

初期化パラメータ: UNIFORM_LOG_TIMESTAMP_FORMAT

項目
パラメータ・タイプ文字列
構文UNIFORM\_LOG\_TIMESTAMP\_FORMAT = { true , false }
デフォルト値true
Oracle RAC 適用複数インスタンスには同じ値を使用する必要がある。
オンライン変更不可(再起動が必要です)

Oracle(R) Databaseリファレンス 12cリリース2 (12.2)
E72905-02
https://docs.oracle.com/cd/E82638_01/REFRN/UNIFORM_LOG_TIMESTAMP_FORMAT.htm

パラメータ値の説明

  • ・true トレース・ファイルのタイムスタンプが全て共通の書式となります。ミリ秒の精度で世界標準時に標準化されます。
  • ・false 一部のタイムスタンプはローカル時間を示すため、異なる精度及び表示のタイムスタンプが混在します。

変更手順

以下ではtrueからfalseへ変更することで、トレース・ファイルの日付書式を旧バージョンと同じ書式にしています。
SQL*Plusにログイン後、以下のコマンドを実行します。

$ sqlplus / as sysdba
SQL> -- 以下にて使用しているspfileのパスが出力される場合はSPFILEを使用しています。
SQL> show parameter spfile
SQL>
SQL> set line 120 pages 1000 trim on
SQL> col name for a30
SQL> col value for a20
SQL> col sid for a10
SQL> -- 現在値の確認
SQL> select INST_ID, NAME, VALUE from gv$parameter where name in ('uniform_log_timestamp_format');
SQL> -- SPFILEの内容の確認
SQL> select SID, NAME, VALUE from gv$spparameter where name in ('uniform_log_timestamp_format');
SQL> -- 値の変更
SQL> ALTER SYSTEM SET uniform_log_timestamp_format = false SCOPE=SPFILE;
SQL> -- 変更値の確認(再起動まで変更されません)
SQL> select INST_ID, NAME, VALUE from gv$parameter where name in ('uniform_log_timestamp_format');
SQL> -- SPFILEの内容の確認
SQL> select SID, NAME, VALUE from gv$spparameter where name in ('uniform_log_timestamp_format');

SQL> ----------------------------------------------------------------
SQL> -- 値反映のため、再起動
SQL> shutdown immediate
SQL> startup
SQL> -- 変更値の確認
SQL> select INST_ID, NAME, VALUE from gv$parameter where name in ('uniform_log_timestamp_format');

コメント

アラートログのタイムスタンプ書式が変わっているため、ログ監視などのスクリプトで、日付部分の操作やawkコマンドによるカラム数の変化などにお気を付けください。