対応バージョン
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)
E94603-12
https://docs.oracle.com/cd/E82638_01/refrn/UNIFORM_LOG_TIMESTAMP_FORMAT.html
パラメータ値の説明
- 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コマンドによるカラム数の変化などにお気を付けください。
