dba:sqlnet_session_settings
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
NLS Settings in einer SQL Session auswerten
Möglichkeiten:
- In einer Session mit den NLS views
- Login Trigger Monitoring
- Trace mit Ora DEBUG
Die Eigenschaften werden IMMER vom Client zur DB vererbt, d.h. ist sind keine Einstellung in der DB oder dem DB Server, es sind die Client Einstellungen, die wichtig sind!
In einer Session mit den NLS views
Mit SQL*Plus an der DB anmelden und mit der View nls_session_parameters die Eigenschaften innerhalb dieser Session überpürfen:
COLUMN parameter format a24 heading "NLS Session Parameter" COLUMN VALUE format a30 heading "Setting" SELECT PARAMETER ,VALUE FROM nls_session_parameters ORDER BY 1 /
Login Trigger Monitoring
Stichwort:
Login Trigger erstellen, der mit einer autonomen Transaktion in eine Log Tabelle schreibt.
Im Prinzip gleich wie beim ein allgemeiner Error Trigger, siehe hier DB Fehler protokollieren.
CREATE OR REPLACE TRIGGER trg_logon after logon ON DATABASE DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN // werte aus nls_session_parameters lesen // wert IN Log Tabelle schreiben NULL; END; /
Ist der Trigger ungültig, kann keine Anmeldung an der DB erfolgen! Daher sorgfältig entwickeln!
Trace mit OraDEBUG
Für einen Trace mit dem „OraDEBUG“ Kommando in SQL*Plus muss die OS PID der zu analysierenden Session bekannt sein.
- Mit SQL*Plus an der DB als sys User anmelden:
sqlplus / AS sysdba
- OS PID ermittlen:
SQL>SELECT p.inst_id , to_char(p.spid) AS os_pid , vs.username , p.tracefile AS trace_file_location FROM gv$session vs , gv$process p WHERE vs.paddr=p.addr AND vs.inst_id=p.inst_id AND vs.username IS NOT NULL AND vs.username LIKE '%&&USER_NAME.%' ORDER BY vs.username /
- Trace für die Session erstellen und Parameter in das Tracefile schreiben lassen:
SQL> oradebug SETOSPID <os_pid>; SQL> oradebug dump modified_parameters 1;
- Das Tracefile in der DIAG Destinatin der Datenbank öffnen (Name wie <DB_ID>_ora_<os_pid>.trc ):
host notepad <trace_file_location> .... -- ** 2013-08-26 19:58:32.881 Processing Oradebug command 'dump modified_parameters 1' DYNAMICALLY MODIFIED PARAMETERS: nls_language = GERMAN nls_territory = GERMANY nls_sort = GERMAN nls_date_language = GERMAN nls_date_format = DD.MM.RR nls_currency = € nls_numeric_characters = ,. nls_iso_currency = GERMANY nls_calendar = GREGORIAN nls_time_format = HH24:MI:SSXFF nls_timestamp_format = DD.MM.RR HH24:MI:SSXFF nls_time_tz_format = HH24:MI:SSXFF TZR nls_timestamp_tz_format = DD.MM.RR HH24:MI:SSXFF TZR nls_dual_currency = € nls_comp = BINARY
dba/sqlnet_session_settings.1378889622.txt.gz · Zuletzt geändert: 2013/09/11 10:53 von gpipperr