ORACLE 11g groß-und Kleinschreibung standardmäßig
Fand ich in dieser Artikel, dass seit ORACLE 10g, es ist ein Weg, um eine bestimmte Verbindung-session strings vergleichen groß-und Kleinschreibung, ohne verrückt SQL-Funktionen, mit einem ALTER SESSION
.
Weiß jemand, ob, in 11g gibt es vielleicht einen Weg, um die Datenbank zu betreiben, in diesem Modus standardmäßig für alle neuen Anschluss-Sitzungen, wodurch die Notwendigkeit für die Ausführung ALTER SESSION
s jedes mal, wenn Sie eine Verbindung herstellen?
Oder vielleicht einen zusätzlichen parameter könnten Sie auf Ihrem Verbindungs-string verwandeln würden das gleiche auf?
InformationsquelleAutor eidylon | 2010-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man einfach die
NLS_SORT
,NLS_COMP
Parameter in dem Artikel erwähnt wie die Werte in der Oracle-init-Datei mit Hilfe deralter system set <parameter> = <value>;
- Klausel.Info über die Verwendung der alter system-Befehle gefunden werden kann hier.
Hier ist eine gute link auf die korrekte Verwendung der
NLS_*
Parameter. Beachten Sie, dass einige Einstellungen der parameter NLS_SORT kann/könnte dazu führen, dass performance-Probleme, nämlich dann, wenn Sie nicht gesetzt ist BINÄREN. Die Oracle-docs Status:Der "gute link auf die korrekte Verwendung der NLS_* Parameter", die ich in meiner Antwort ist der gleiche link und die Informationen, die Sie zur Verfügung gestellt, außer, dass der link in meiner Antwort vom 11g Dokumentation.
Ich arbeite jetzt mit diesem Thema, und ich fand, dass um Leistungsprobleme zu vermeiden, ist ein CI-Index erstellt werden können, die für die Spalte: create index index_name on table_name (NLSSORT (column_name, 'NLS_SORT=BINARY_CI') ); Verweis
InformationsquelleAutor RC.
Sicher, Sie können!
Bekommen Ihre freundliche DBA diese Parameter:
Dies ist aus meiner kurzen Artikel auf Wie man Oracle mit groß-und Kleinschreibung
InformationsquelleAutor geekzspot
Versuchte ich mit einem
logon trigger
die Ausgabe dieser Befehle zu erhalten, der groß-und Kleinschreibung Abfragen:Zwar hat mir CI, es gab mir auch die unglaublich schlechte performance-Probleme. Wir haben eine Tabelle in der bestimmte, dass ohne diese Einstellungen, fügt 2 Millisekunden. Mit diesen Einstellungen, fügt dauerte 3 Sekunden. Ich habe bestätigt dies durch erstellen und löschen der mehrfach auslösen.
Ich weiß nicht, wenn es auf der system-Ebene, im Gegensatz zu den session-Ebene mit einem trigger, der einen Unterschied macht oder nicht.
Nach einem treffen mit einer Oracle-Berater gestern haben wir entdeckt, dass der trick, um mit diesen beiden Einstellungen ist, dass Sie MÜSSEN funktionale Indizes in vielen Orten. In unserem Fall verwenden wir varchar2(32) - UUIDs für Primärschlüssel. Wegen der zwei NSL Einstellungen, keine der normalen PK-Indizes, die verwendet wurden. Wir hatten zum hinzufügen von Indizes, wie create index foo_ok auf Person(nlssort(Id, 'NLS_SORT=BINARY_CI')); für alle unsere PKs.
Egads! Das ist eine Menge Arbeit, nur um zu behandeln, "The Twilight Zone", wie die gleiche Sache wie "the twilight zone".
denke ORACLE IST praktisch immer noch stecken in der Welt der Ablage alles in Großbuchstaben.
InformationsquelleAutor Joey Gibson
Fand ich die gleiche performance-Problem mit Einlagen und nls in 11g r2! Zum Glück für mich, die Leistung Treffer war nicht groß genug ist, dass eine app ändern.
Wenn Sie das tun können, ohne binary_ci für die INSERT -, dann würde ich das tun, ein alter session kurz vor dem einfügen und danach, so dass Sie nicht haben, um die drop trigger -
InformationsquelleAutor ojock