FAQ Frequently asked questions

Bei Problemen mit SQL*Net: Wie erstelle ich ein Trace-File?

Erzeugen/editieren Sie die Datei SQLNET.ORA:

Verzeichnis im TNS_ADMIN Parameter ($TNS_ADMIN unter Unix)
/var/opt/oracle (Unix)
$ORACLE_HOME/NETWORK/ADMIN Verzeichnis
Folgende Zeilen sollten Sie aufnehmen, um ein trace file zu erzeugen:

trace_level_client=16
trace_unique_client=yes
Anstelle des Wertes 16 kann auch der String DEBUG verwendet werden. Um die Informationsmenge einzugrenzen, verwenden Sie bitte stattdessen ADMIN oder USER.

Die folgenden Parameter sind ebenfalls hilfreich um die Namensgebung und Verzeichnis zu beeinflussen:

trace_file_client = cli.trc
trace_directory_client =
log_file_client = sqlnet.log
log_directory_client =

Hinweis: Bitte vergessen sie nicht, den Trace wieder auszuschalten!
Die Datei(en) wachsen unaufhörlich weiter und können zu Performance-Problemen führen.

Welche Datenbank-Pakete stehen mir zur Verfügung

Welche Pakete in einer Oracle-Datenbank zur Verfügung stehen, kann durch folgende SQL-Abfrage ermittelt werden:

SELECT *
FROM all_objects
WHERE object_type = 'PACKAGE'
AND owner = 'SYS' and status = 'VALID';

 

Nicht alle Pakete stehen zur freien Verfügung.
Sollte ein Paket benötigt werden, welches aktuell nicht freigegeben ist, so wenden Sie sich bitte an den Oracle Service über oracle.service@desy.de.

 

Nutzung der Oracle ODBC Treiber von Fremdprodukten aus

Access:
Fehlermeldungen:
Internal error - unable to initialize NLS during driver load.
ODBC-Verbinung zu 'xyz' fehlgeschlagen


Bei der Nutzung von Access als Frontend unter Verwendung eines Oracle Backend ist darauf zu achten, dass die Tabellen unter dem Access Tabellenverknüpfungsmanager (siehe linke Maustaste auf einer beliebigen, verlinkten Tabelle) einer bestimmten DNS zugeordnet sind, welche dann auch so vorhanden sein muss.
Des Weiteren muss das ORACLE_HOME, welches auf die Oracle-Client Installation zeigt, gesetzt sein.

Zugriff über ODBC - Lange Wartezeiten bei der Generierung der Liste für die Zugriffsobjekte

Die Suche nach Objekten, auf welche man über ODBC in Fremdprodukten zugreifen möchte, wird durch einen ODBC-Registry-Eintrag definiert. Sollte diese Definition zu großzügig ausfallen, so kann es zu langen Wartezeiten kommen, da das gesamte Data Dictionary der Datenbank durchsucht wird, um die verfügbaren Objekte anzuzeigen. Da das DESY-RAC nicht gerade klein, sind entsprechend viele Einträge zu durchsuchen.
Die Liste der angezeigten Objekte fällt hierbei oft deutlich länger aus als gewollt, da SYS-Objekte und Synonyme mit angezeigt werden. Nicht alle Objekte die hier angezeigt werden, liegen im Zugriff über ODBC!

Um die Ansicht entsprechend einzuschränken und damit kürzere Laufzeiten zu erreichen ist in der Windows-Registry folgender Eintrag zu ändern:

Unter Windows XP:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\ODBC\Attachable Object auf 'TABLE','VIEW'

MAIL - Warning: your Oracle session(s) by ACCOUNT-NAME

Eine Session wird in den Status sniped gesetzt, wenn sie über einen längeren Zeitraum inaktiv war.

Auf der DESY-Datenbank ist dieses Session Idle Timeout auf 10 Stunden gesetzt.

Aus Applikationssicht gibt es Risiken, die durch sniped Sessions entstehen:

  • Datenbankobjekte werden gelockt
  • Daten gehen verloren
  • Sicherheitsprobleme treten auf

Aus Servicesicht gibt es folgende Bedenken:

  • Belegung von Datenbankresourcen
  • Belegung von Server-Resourcen

Einmal am Tag werden sniped Sessions detektiert. Der betroffene Benutzer erhaelt eine Informationsmail.

Information über die Session kann im OAI-Sys eingesehen werden.

siehe: https://ias.desy.de/pls/apex/f?p=OAISYS

 

Wie kann das Problem behoben werden:

Wenn über die Applikation die Session nicht geschlossen werden kann, dann sollten die Sessions per Hand abgebaut werden.

Für Windows kann hier der Task-Manager verwendet werden.

Bei Linux-Systemen kann eine Sucher wie folgt erfolgen:

ps -ef | grep -i your_accoutn_name

Um die Session zu beenden:

kill -9 your_program_pid

 

Mail - Warning: your Oracle quota(s) by ACCOUNT-NAME

Der für Sie bereitgestellte Speicherplatz scheint nicht mehr ausreichend. Bitte überprüfen Sie, ob der Speicherbereich für Sie noch ausreichend ist. Sollten Sie mehr Speicherplatz benötigen, so wenden Sie sich bitte an den Oracle-Service (oracle.service@desy.de).

Ggf. könnten von Ihnen auch Löschmaßnahmen durchgeführt werden, die nicht mehr notwendige Daten löschen.

MAIL - Warning: your Oracle account ACCOUNT-NAME has invalid objects

In Ihrem Datenbank-Schema wurden nicht gültige Objekte detektiert. Funktionen, die ggf. nicht kompilierbar sein, Views, die ggf. nicht mehr gültig sind etc.

Bitte überprüfen Sie Ihre Datenbankobjekte auf Gültigkeit, damit die Stabilität Ihrer Applikationen sichergestellt ist.

SQL-Developer - Wenn über VPN regelmäßig die Datenbank-Anbindung unterbrochen wird

In der SQL-Developer Config-Datei (sqldeveloper.conf) muss folgene Option hinzugeführt/gesetzt werden:

AddVMOption -Doracle.net.disableOob=true