Oracle Databaseでは、 NLS(National Language Support)パラメータが、クライアントとサーバーの両方でのロケール固有の動作を決定します。
これらのパラメータは、データベースレベル、初期化パラメータファイル、環境変数、セッションレベル、さらには一部の関数内など、さまざまな場所で設定できます。
NLSパラメータの値は、次のビューで確認できます。
NLS動的パフォーマンスビュー
動的パフォーマンスビューは、データベースが開いていて使用されている間、継続的に更新される特別なビューです。これらのビューには、メモリの使用量と割り当て、ファイルの状態、ジョブとタスクの進行状況、統計とメトリック、SQLの実行、システムとセッションのパラメータなど、さまざまなデータが含まれています。
次の動的パフォーマンスビューを使用して、NLSパラメーターに関する情報を返すことができます。
-
V$NLS_PARAMETERS
さまざまなNLSパラメータの現在の値を示しています。 -
V$NLS_VALID_VALUES
さまざまなNLSパラメータを設定できる有効な値を一覧表示します。
各ビューの例を次に示します。
V$NLS_PARAMETERS
表示
V$NLS_PARAMETERS
をクエリする例を次に示します。 システムの表示:
SELECT * FROM V$NLS_PARAMETERS;
結果:
PARAMETER VALUE CON_ID __________________________ _________________________________ _________ NLS_LANGUAGE ENGLISH 3 NLS_TERRITORY AUSTRALIA 3 NLS_CURRENCY $ 3 NLS_ISO_CURRENCY AUSTRALIA 3 NLS_NUMERIC_CHARACTERS ., 3 NLS_CALENDAR GREGORIAN 3 NLS_DATE_FORMAT DD/MON/RR 3 NLS_DATE_LANGUAGE ENGLISH 3 NLS_CHARACTERSET AL32UTF8 3 NLS_SORT BINARY 3 NLS_TIME_FORMAT HH12:MI:SSXFF AM 3 NLS_TIMESTAMP_FORMAT DD / MON / RR HH12:MI:SSXFF AM 3 N LS_TIME_TZ_FORMAT HH12:MI:SSXFF AM TZR 3 NLS_TIMESTAMP_TZ_FORMAT DD / MON / RR HH12:MI:SSXFF AM TZR 3 NLS_DUAL_CURRENCY $ 3 NLS_NCHAR_CHARACTERSET AL16UTF16 3 NLS_COMP BINARY 3 NLS_LENGTH_
V$NLS_VALID_VALUES
表示
V$NLS_VALID_VALUES
ビューには、次のNLSパラメータを設定できる有効な値が一覧表示されます。
-
NLS_LANGUAGE
-
NLS_SORT
-
NLS_TERRITORY
-
NLS_CHARACTERSET
このビューに含まれるデータの種類を把握するために、上位10行を返すクエリを次に示します。
SELECT * FROM V$NLS_VALID_VALUES
FETCH FIRST 10 ROWS ONLY;
結果:
PARAMETER VALUE ISDEPRECATED CON_ID ____________ __________________ _______________ _________ LANGUAGE AMERICAN FALSE 0 LANGUAGE GERMAN FALSE 0 LANGUAGE FRENCH FALSE 0 LANGUAGE CANADIAN FRENCH FALSE 0 LANGUAGE SPANISH FALSE 0 LANGUAGE ITALIAN FALSE 0 LANGUAGE DUTCH FALSE 0 LANGUAGE SWEDISH FALSE 0 LANGUAGE NORWEGIAN FALSE 0 LANGUAGE DANISH FALSE 0
したがって、これらの値は、NLSパラメーターが言語値を受け入れる場所であればどこでも使用できます。たとえば、次のようにすることができます。
ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN';
NLS_LANGUAGE
を設定します AMERICAN
へのパラメータ 。別の値に設定するには、V$NLS_VALID_VALUES
を確認します。 受け入れられる言語を確認するために表示します。
NLSデータディクショナリビュー
次のデータディクショナリビューをクエリすることで、セッション、インスタンス、およびデータベースのNLSパラメータを確認できます。
-
NLS_SESSION_PARAMETERS
ビューをクエリしているセッションのNLSパラメータとその値を示します。文字セットに関する情報は表示されません。 -
NLS_INSTANCE_PARAMETERS
明示的に設定された現在のNLSインスタンスパラメータとNLSインスタンスパラメータの値を示します。 -
NLS_DATABASE_PARAMETERS
は、データベースのNLSパラメータの値を示しています。値はデータベースに保存されます。
前述のように、NLSパラメータはさまざまな場所で設定できます。各スコープには、特定のNLSパラメーターに対して別のスコープとは異なる値を含めることができます。上記のデータディクショナリビューでは、各スコープにその値を照会できます。 NLSセッションパラメータは、NLSインスタンスパラメータを上書きします。また、NLSインスタンスパラメータはデータベースのNLSパラメータを上書きします。
各スコープが他のスコープとの関係で持つ
システムでこれらの各ビューをクエリすると、次のようになります。
SELECT * FROM NLS_SESSION_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_DATABASE_PARAMETERS;
結果:
PARAMETER VALUE __________________________ _________________________________ NLS_LANGUAGE ENGLISH NLS_TERRITORY AUSTRALIA NLS_CURRENCY $ NLS_ISO_CURRENCY AUSTRALIA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD/MON/RR NLS_DATE_LANGUAGE ENGLISH NLS_SORT BINARY NLS_TIME_FORMAT HH12:MI:SSXFF AM NLS_TIMESTAMP_FORMAT DD/MON/RR HH12:MI:SSXFF AM NLS_TIME_TZ_FORMAT HH12:MI:SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD / MON / RR HH12:MI:SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCPFALSE17行が選択されました。 PARAMETER VALUE __________________________ ___________ NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY NLS_CALENDAR NLS_TIME_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_TZ_FORMAT NLS_DUAL_CURRENCY NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 rows selected. PARAMETER VALUE __________________________ _______________________________ NLS_RDBMS_VERSION 19.0.0.0.0 NLS_NCHAR_CONV_EXCP FALSE NLS_LENGTH_SEMANTICS BYTE NLS_COMP BINARY NLS_DUAL_CURRENCY $ NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_SORT BINARY NLS_DATE_LANGUAGE AMERICAN NLS_DATE_FORMAT DD-MON-RR NLS_CALENDAR GREGORIAN NLS_NUMERIC_CHARACTERS。、NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_CHARACTERS ET AL32UTF8 NLS_ISO_CURRENCY AMERICA NLS_CURRENCY $ NLS_TERRITORY AMERICA NLS_LANGUAGEAMERICAN20行が選択されました。
NLS_LANGUAGE
を取得します たとえば、パラメータ。これはAMERICAN
に設定されています データベースレベルとインスタンスレベルの両方で(NLS_DATABASE_PARAMETERS
からわかるように) およびNLS_INSTANCWE_PARAMETERS
ビュー)。ただし、セッションパラメータ(NLS_SESSION_PARAMETERS
で確認できます) ビュー)はENGLISH
を使用します 、他の2つの設定を上書きします。