TOP>サポート>新元号への対応について>Oracle Databaseの新元号への対応について

Oracle Databaseの新元号への対応について

Oracle Databaseの新元号への対応についてまとめたページです。

対象製品

Oracle Database

対応要否

必要

対象バージョン

すべて

詳細

Oracle Databaseでは和暦など暦法に関する情報はNLS_CALENDARに保持しており、元号は「平成」まで用意されています。

Oracle社の方針と元号追加方法の詳細は公式サイトMy Oracle Support(以下、MOS)にて公開されていますので、後述のMOSドキュメントをご確認ください。 ※MOSへのアクセスはユーザ登録が必要です。

Oracle社の方針
新元号「令和」に対応するためのパッチが提供されています。最新のサポート状況については以下ドキュメントを参照の上、都度お問い合わせください。

ご利用のプラットフォーム、Oracle Databaseバージョンに対するパッチが提供されていない場合は、以下手順による手動での元号追加が必要です。
元号追加手順の概要

1. 追加する新元号を文字コードEUCの16進数表記へ変換します。
2. lxecal.nltファイルを作成し、新元号のエントリを記載します。
3. データベースを停止し、lxegenコマンドを実行します。
4. データベースを起動すると、新元号が有効になります。

元号追加手順の詳細
以下MOSドキュメントは共に記載されている手順は同じ内容です。前者は手順が細かく、また後者は簡潔に手順が紹介されています。

補足事項

初期化パラメータNLS_CALENDARについて
データベースに格納されているデータ自体は和暦形式ではなく日付型です。表示する際にNLS_CALENDARに合わせて変換しているため、元号が改正されても既に格納されているデータへの対応は不要です。

NLS_CALENDARの現在の設定は初期化パラメータNLS_CALENDARで確認できます。

SQL*Plusで管理ユーザ(SYS、またはSYSTEM)にてデータベースにログインし、以下のコマンドを実行します。VALUE列の値が「Japanese Imperial」と返った場合、和暦を使用しています。

実行コマンド

SQL> SHOW PARAMETER nls_calendar

実行例

SQL> SHOW PARAMETER nls_calendar

NAME TYPE VALUE
------------------- ----------- --------------------
nls_calendar string Japanese Imperial <-- 和暦を使用

また、「ALTER SESSION」コマンドによるセッション単位での設定や、Windows のレジストリでの設定も可能です。クライアント端末で個別に設定されている場合は別途ご確認ください。詳細は以下MOSドキュメントをご参考ください。

クライアント側の新元号対応について
サーバ側で作成したlxecalji.nlbファイルのコピーをクライアント側にも配置することで、クライアント側でも新元号が有効になります。なお、JDBC Thin Driverをご使用の場合はlxecalji.nlbファイルは機能しないため、TO_CHAR関数にてデータベース側で和暦に変換することでご対応ください。



Amsc

※AWSCはアシストサポートセンターの、ご契約ユーザ様専用サイトです。
※AWSCをご利用いただくためには、AID(AWSCへログインするためのログインID)が必要です。
 詳しくは「AWSCの利用方法 」にてご確認ください。

ページの先頭へ戻る