Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Methoden zum Festlegen von NLS-Parametern und deren Prioritäten (Oracle-Datenbank)

Oracle Database enthält eine Reihe von NLS-Parametern (National Language Support), die das gebietsschemaspezifische Verhalten sowohl auf dem Client als auch auf dem Server bestimmen.

Diese NLS-Parameter können an verschiedenen Stellen gesetzt werden, von denen jede eine vorgegebene Vorrangreihenfolge in Bezug auf die anderen hat. In der folgenden Tabelle sind diese Methoden sowie ihre Priorität gegenüber den anderen aufgeführt.

Priorität Methode
1 (höchste) Explizit in SQL-Funktionen gesetzt.

Beispiel:
TO_CHAR(SYSDATE, 'DD/MON/RR', 'nls_date_language = SPANISH')
2 Festgelegt durch ALTER SESSION Erklärung.

Beispiel:
ALTER SESSION SET NLS_TERRITORY = 'AUSTRALIA';
3 Als Umgebungsvariable festlegen.

Beispiel:
% setenv NLS_SORT FRENCH
4 Angegeben in der Initialisierungsparameterdatei.

Beispiel:
NLS_TERRITORY = "AMERICA"
5 (niedrigste) Standardwert, der beim Erstellen der Datenbank angegeben wurde.

Um es klar zu sagen:Einstellungen mit höherer Priorität überschreiben Einstellungen mit niedrigerer Priorität. Das Festlegen eines NLS-Parameters in einer SQL-Funktion überschreibt also alle anderen Stellen, an denen dieser Parameter festgelegt wurde.

Nicht alle Funktionen ermöglichen die Einstellung von NLS-Parametern auf Funktionsebene. Die ALTER SESSION -Anweisung hat die nächsthöhere Priorität und ist daher der schnellste/einfachste Weg, einen NLS-Parameter in Fällen zu setzen, in denen der Parameter nicht in der Funktion fest codiert ist.

Ein Beispiel für das Festlegen von NLS-Parametern auf Sitzungsebene finden Sie unter How to Change the Date Format in your Oracle Session.

Überprüfen der Werte der NLS-Parameter

Sie können die V$NLS_PARAMETERS abfragen dynamische Leistungsansicht, um die aktuellen Werte Ihrer aktuellen NLS-Parameter zu überprüfen.

Sie können auch die Sitzungs-, Instanz- und Datenbank-NLS-Parameter überprüfen, indem Sie die folgenden Datenwörterbuchansichten abfragen:

  • NLS_SESSION_PARAMETERS zeigt die NLS-Parameter und ihre Werte für die Sitzung, die die Ansicht abfragt. Es zeigt keine Informationen über den Zeichensatz an.
  • NLS_INSTANCE_PARAMETERS zeigt die aktuellen NLS-Instanzparameter, die explizit gesetzt wurden, und die Werte der NLS-Instanzparameter.
  • NLS_DATABASE_PARAMETERS zeigt die Werte der NLS-Parameter für die Datenbank. Die Werte werden in der Datenbank gespeichert.

Außerdem können Benutzeranwendungen Client-NLS-Einstellungen mit OCINlsGetInfo() abfragen Funktion.

Siehe So überprüfen Sie die Werte der NLS-Parameter für Beispiele zur Überprüfung der NLS-Parameterwerte.