sql >> データベース >  >> RDS >> Oracle

OracleDatabaseでNLSパラメータの値を確認する方法

    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パラメータを上書きします。

    各スコープが他のスコープとの関係で持つ優先順位の概要を示す表については、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つの設定を上書きします。


    1. PostgreSQLでのpg_sleep_until()のしくみ

    2. T-SQL-=とasを使用したエイリアシング

    3. MySQLのDESCRIBE[テーブル]に相当するSQLiteはありますか?

    4. mysql_insert_idは安全に使用できますか?