事象
DBCAでインスタンスを作成するときに、初期化パラメータの一つである
NLS_DATE_FORMATに「YYYY-MM-DD HH24:MI:SS」を設定し、作成完了後に
確認すると「DD-MON-RR」という値に変わってしまっている。
以下のSQLを実行して確認しました。
SQL
1/* NLS_DATE_FORMATがDD-MON-RRとなっている */ 2SELECT * FROM V$NLS_PARAMETERS; 3/* DD-MON-RRの形式で出力される */ 4SELECT SYSDATE FROM DUAL;
知りたいこと
- なぜNLS_DATE_FORMATが書き換わるのか?
- 書き換わってしまわないようにするにはどうすればよいか?
- インスタンス作成後に、ALTER SYSTEMコマンドでNLS_DATE_FORMATをDD-MON-RRからYYYY-MM-DD HH24:MI:SSに書き換えた場合、それは「インスタンス作成時にYYYY-MM-DD HH24:MI:SSを指定し た」と同等の意味になるか?
環境情報
□ バージョン
Oracle Database 12c
□ OS
Windows Server R2(日本語)
ご回答宜しくお願い致します。
確認に使用したツールは何でしょうか?
クライアントのツールが置き換えてしまうことがあります。
DD-MON-RR ということは SQL Developer ですか?
システム管理者で当該インスタンスにログインしてSQLPlusで確認しました。SQLPlusでも書き換わったりしてしまうのでしょうか?
NLS_DATE_FORMAT は NLS_TERRITORY によって決まります。
NLS_TERRITORY は NLS_LANG によって決まります。
なので NLS_LANG 環境変数をセットしていたりすると書き換わります。
もしくは、初期化パラメータが実際は意図したとおりに変わってないか、ですね。
なるほど。
その辺りも一度確認してみます。
今はサーバーにアクセスできる環境におりませんので、確認出来次第また追記させていただきます。