I Oracle Database bestemmer NLS (National Language Support)-parametrene den lokalespecifikke adfærd på både klienten og serveren.
Disse parametre kan indstilles forskellige steder, såsom på databaseniveau, i en initialiseringsparameterfil, i miljøvariabler, på sessionsniveau og endda inden for nogle funktioner.
Du kan kontrollere værdien af NLS-parametrene med følgende visninger.
NLS Dynamic Performance Views
Dynamiske ydeevnevisninger er specielle visninger, der løbende opdateres, mens en database er åben og i brug. Disse visninger indeholder data om en lang række ting, herunder hukommelsesbrug og -allokering, filtilstande, fremskridt for job og opgaver, statistik og metrikker, SQL-udførelse samt system- og sessionsparametre.
Følgende dynamiske ydeevnevisninger kan bruges til at returnere oplysninger om NLS-parametre:
V$NLS_PARAMETERS
viser aktuelle værdier for forskellige NLS-parametre.V$NLS_VALID_VALUES
viser de gyldige værdier, som forskellige NLS-parametre kan indstilles til.
Her er eksempler på hver visning.
V$NLS_PARAMETERS
Vis
Her er et eksempel på forespørgsel til V$NLS_PARAMETERS
se på mit system:
VÆLG * FRA V$NLS_PARAMETERS;
Resultat:
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 BINA 3 NLSTIENG_COMP_3NLSTHAN_COMP_3 NLLCSTHN
V$NLS_VALID_VALUES Vis
V$NLS_VALID_VALUES
view viser de gyldige værdier, som følgende NLS-parametre kan indstilles til:
NLS_LANGUAGE
NLS_SORT
NLS_TERRITORY
NLS_CHARACTERSET
For at give dig en idé om den type data, der er indeholdt i denne visning, er her en forespørgsel, der returnerer de øverste 10 rækker:
VÆLG * FRA V$NLS_VALID_VALUESFETCH KUN FØRSTE 10 RÆKKER;
Resultat:
meget FALSK 0Så disse værdier kan bruges overalt, hvor en NLS-parameter accepterer en sprogværdi. For eksempel kunne vi gøre følgende:
ALTER SESSION SET NLS_LANGUAGE ='AMERICAN';
Hvilket indstiller NLS_LANGUAGE
parameter til AMERICAN
. For at indstille den til en anden værdi, kan vi kontrollere V$NLS_VALID_VALUES
se, hvilke sprog der accepteres.
NLS Data Dictionary Views
Du kan kontrollere sessionen, forekomsten og databasens NLS-parametre ved at forespørge i følgende dataordbogsvisninger:
NLS_SESSION_PARAMETERS
viser NLS-parametrene og deres værdier for den session, der forespørger på visningen. Den viser ikke oplysninger om tegnsættet.NLS_INSTANCE_PARAMETERS
viser de aktuelle NLS-forekomstparametre, der eksplicit er blevet indstillet, og værdierne for NLS-forekomstparametrene.NLS_DATABASE_PARAMETERS
viser værdierne af NLS-parametrene for databasen. Værdierne gemmes i databasen.
Som nævnt kan NLS-parametre indstilles forskellige steder. Hvert omfang kan indeholde forskellige værdier for en given NLS-parameter end et andet omfang. Ovenstående dataordbogsvisninger giver dig mulighed for at forespørge på hvert omfang for dets værdi. NLS-sessionsparametre tilsidesætter NLS-forekomstparametrene. Og NLS-instansparametrene tilsidesætter NLS-parametrene for databasen.
Se Metoder til indstilling af NLS-parametre og deres prioriteter for en tabel, der skitserer prioritetsrækkefølgen, som hvert scope har i forhold til de andre.
Her er, hvad jeg får, når jeg forespørger på hver af disse visninger på mit system:
VÆLG * FRA NLS_SESSION_PARAMETERS;VÆLG * FRA NLS_INSTANCE_PARAMETERS;VÆLG * FRA NLS_DATABASE_PARAMETERS;
Resultat:
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 17 rækker valgt. 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_UTF16 NLS ET AL32UTF8 NLS_ISO_CURRENCY AMERICA NLS_CURRENCY $ NLS_TERRITORY AMERICA NLS_LANGUAGE AMERICAN 20 rækker valgt.
Tag NLS_LANGUAGE
parameter for eksempel. Dette er indstillet til AMERICAN
på både database- og instansniveau (som det kan ses fra NLS_DATABASE_PARAMETERS
og NLS_INSTANCWE_PARAMETERS
visninger). Men sessionsparameteren (som kan ses i NLS_SESSION_PARAMETERS
view) bruger ENGLISH
, som tilsidesætter de to andre indstillinger.