Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak sprawdzić wartości parametrów NLS w bazie danych Oracle

W Oracle Database parametry NLS (National Language Support) określają zachowanie specyficzne dla ustawień regionalnych zarówno na kliencie, jak i na serwerze.

Parametry te można ustawić w różnych miejscach, na przykład na poziomie bazy danych, w pliku parametrów inicjalizacji, w zmiennych środowiskowych, na poziomie sesji, a nawet w ramach niektórych funkcji.

Możesz sprawdzić wartość parametrów NLS za pomocą następujących widoków.

Dynamiczne widoki wydajności NLS

Dynamiczne widoki wydajności to specjalne widoki, które są stale aktualizowane, gdy baza danych jest otwarta i używana. Widoki te zawierają dane dotyczące wielu rzeczy, w tym użycia i alokacji pamięci, stanów plików, postępu zadań i zadań, statystyk i metryk, wykonywania SQL, a także parametrów systemu i sesji.

Do zwracania informacji o parametrach NLS można użyć następujących dynamicznych widoków wydajności:

  • V$NLS_PARAMETERS pokazuje aktualne wartości różnych parametrów NLS.
  • V$NLS_VALID_VALUES zawiera listę prawidłowych wartości, na które można ustawić różne parametry NLS.

Oto przykłady każdego widoku.

V$NLS_PARAMETERS Zobacz

Oto przykład zapytania o V$NLS_PARAMETERS zobacz w moim systemie:

SELECT * FROM V$NLS_PARAMETERS; 

Wynik:

 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 USD NLS_NCHAR_CHARACTERSET AL16UTF16 3 NLS_COMP BINARY 3_BYTELS_LENGVS 3 NLS_ANTLS_THAL 

V$NLS_VALID_VALUES Zobacz

V$NLS_VALID_VALUES view zawiera listę prawidłowych wartości, na które można ustawić następujące parametry NLS:

  • NLS_LANGUAGE
  • NLS_SORT
  • NLS_TERRITORY
  • NLS_CHARACTERSET

Aby dać wyobrażenie o typie danych zawartych w tym widoku, oto zapytanie zwracające 10 pierwszych wierszy:

SELECT * FROM V$NLS_VALID_VALUES
FETCH FIRST 10 ROWS ONLY; 

Wynik:

 WARTOŚĆ PARAMETRU JEST WYCOFANA CON_ID ______________ ______________ ____________ JĘZYK AMERYKAŃSKI FAŁSZ 0 JĘZYK NIEMIECKI FAŁSZ 0 JĘZYK FRANCUSKI FAŁSZ 0 JĘZYK KANADY FRANCUSKI FAŁSZ 0 JĘZYK HISZPAŃSKI FAŁSZ 0 JĘZYK F FAŁSZ 0 

Tak więc te wartości mogą być używane wszędzie tam, gdzie parametr NLS akceptuje wartość języka. Na przykład możemy wykonać następujące czynności:

ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'; 

Który ustawia NLS_LANGUAGE parametr do AMERICAN . Aby ustawić inną wartość, możemy sprawdzić V$NLS_VALID_VALUES Zobacz, które języki są akceptowane.

Widoki słownika danych NLS

Możesz sprawdzić parametry NLS sesji, instancji i bazy danych, wysyłając zapytanie do następujących widoków słownika danych:

  • NLS_SESSION_PARAMETERS pokazuje parametry NLS i ich wartości dla sesji, która wysyła zapytanie do widoku. Nie pokazuje informacji o zestawie znaków.
  • NLS_INSTANCE_PARAMETERS pokazuje bieżące parametry instancji NLS, które zostały jawnie ustawione, oraz wartości parametrów instancji NLS.
  • NLS_DATABASE_PARAMETERS pokazuje wartości parametrów NLS dla bazy danych. Wartości są przechowywane w bazie danych.

Jak wspomniano, parametry NLS można ustawić w różnych miejscach. Każdy zakres może zawierać inne wartości dla danego parametru NLS niż inny zakres. Powyższe widoki słownika danych umożliwiają odpytywanie każdego zakresu o jego wartość. Parametry sesji NLS zastępują parametry instancji NLS. A parametry instancji NLS zastępują parametry NLS dla bazy danych.

Zobacz Metody ustawiania parametrów NLS i ich priorytetów, aby zapoznać się z tabelą przedstawiającą kolejność każdego zakresu w stosunku do innych.

Oto, co otrzymuję, gdy wysyłam zapytanie do każdego z tych widoków w moim systemie:

SELECT * FROM NLS_SESSION_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_DATABASE_PARAMETERS; 

Wynik:

 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_EXCP FALSE Wybrano 17 wierszy. 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_LANGUAGE AMERICAN Wybrano 20 wierszy. 

Wybierz język NLS_LANGUAGE na przykład parametr. To jest ustawione na AMERICAN zarówno na poziomie bazy danych, jak i instancji (jak widać z NLS_DATABASE_PARAMETERS i NLS_INSTANCWE_PARAMETERS wyświetlenia). Ale parametr sesji (który można zobaczyć w NLS_SESSION_PARAMETERS view) używa języka ENGLISH , który zastępuje pozostałe dwa ustawienia.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetlaj nazwy wszystkich ograniczeń dla tabeli w Oracle SQL

  2. Ukośnik czy nie ukośnik?

  3. problem z użyciem parametrów Oracle w SELECT IN

  4. Jaka jest domyślna nazwa ograniczenia w Oracle?

  5. Obsługa danych nasion w patchowaniu online R12.2