Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Tag,

ich weiß gerade nicht, ob ich den richtigen Bereich für mein Problem gewählt habe, denn es ist eine Mischung aus PHP und Oracle Problem. Zumindest scheint es dies zu sein.

Das nachfolgende Problem beschäftigt mich schon mehrere Tage und ich finde einfach keine Lösung.

Folgende Situation. Im Moment gibt es zwei Server. Einer dieser Server ist der Datenbank-Server auf dem Oracle 10g (Version: 10.2.0.3) läuft. Der zweite Server dient als Web-Server (httpd-Version: 2.2.3-11.el5_1.3; PHP-Version: 5.1.6-20). Auf beiden Server läuft als Betriebssystem CentOS 5.1.

Über PHP wird auf dem Oracle Datenbank-Server zugegriffen. Dies funktioniert auch soweit, aber manchmal, nur sporadisch, tritt folgender Fehler auf:

Array

(

    [code_] => 604

    [message] => ORA-00604: error occurred at recursive SQL level 1

ORA-12705: Cannot access NLS data files or invalid environment specified

    [offset] => 0

    [sqltext] => 

)
Manchmal tritt auch dieser Fehler auf:
Warning: ociplogon() [function.ociplogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries in /usr/local/powerslave/ps/inc/sql.inc on line 161
Ich versteh das nicht. Es gibt Zeiten, da tritt innerhalb 2 Stunden keiner dieser Fehler auf und manchmal alle 10 Sekunden. Auch konnte ich feststellen, dass nach einem httpd-Neustart der Fehler für eine gewisse Zeit verschwindet. OCI-8-Konfiguration
oci8

OCI8 Support 	enabled

Revision 	$Revision: 1.269.2.18 $

Active Persistent Connections 	0

Active Connections 	0

Oracle Instant Client Version 	10.2

Temporary Lob support 	enabled

Collections support 	enabled
PHP-Environment
TERM 	xterm

SHELL 	/bin/bash

HISTSIZE 	1000

NLS_LANG 	GERMAN_GERMANY.UTF8

LC_ALL 	de_DE.UTF-8

USER 	root

LS_COLORS 	no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:

LD_LIBRARY_PATH 	/usr/lib/oracle/10.2.0.3/client/lib

SUDO_USER 	fd

SUDO_UID 	505

MAIL 	/var/spool/mail/fd

PATH 	/sbin:/usr/sbin:/bin:/usr/bin

TNS_ADMIN 	/usr/oracle/tns

INPUTRC 	/etc/inputrc

PWD 	/home/fd

LANG 	C

HOME 	/home/fd

SUDO_COMMAND 	/etc/init.d/httpd start

SHLVL 	2

LOGNAME 	root

SUDO_GID 	505

_ 	/usr/sbin/httpd

Vielleicht hat schon jemand von solch einem oder Ähnlichem Problem gehört. Ich bin zumindest mit meinen Ideen am Ende.

MfG

Jan Bücker

Geschrieben

hi,

danke für die schnelle Antwort!

- zu viele connections zugleich?

unwahrscheinlich, da die Verbindung nach dem Aufruf, wenn er geglückt ist, wieder beendet wird.

- irgendwelche timeouts?

in wie fern timeouts?

- evtl sporadisch dns probleme?

auch bei IP-Zuweisung, bleibt der Fehler

Weitere Ideen?

Gruß,

Jan

Geschrieben

unwahrscheinlich, da die Verbindung nach dem Aufruf, wenn er geglückt ist, wieder beendet wird.

glaubst du das, oder weißt du das?

evtl arbeiten andere tools auf der gleichen db?

ggf bleiben in manchen situationen connections offen oder werden nicht richtig freigegeben?

repair table/database o.ä. mal versucht?

in wie fern timeouts?

- verbindungsaufbau dauert zu lange?

- evtl loops im netz?

Andere Ideen:

- Kontigente erschöpft?

- Platte voll?

- Andere Prozesse verbrauchen die ganzen Ressourcen (Speicher/CPU)

Geschrieben
glaubst du das, oder weißt du das?

evtl arbeiten andere tools auf der gleichen db?

ggf bleiben in manchen situationen connections offen oder werden nicht richtig freigegeben?

repair table/database o.ä. mal versucht?

- verbindungsaufbau dauert zu lange?

- evtl loops im netz?

Andere Ideen:

- Kontigente erschöpft?

- Platte voll?

- Andere Prozesse verbrauchen die ganzen Ressourcen (Speicher/CPU)

Die Platte ist nicht voll und hat mehrere GB frei. Das Einzige, was auf der Maschine läuft, ist die Datenbank. Somit können wir das Performance-Problem ausschließen. Der Verbindingsaufbau ist auch ruckzuck aufgebaut und macht keinerlei timeouts. Loops sind auch auszuschließen.

Welches Repair-Paket meinst du? DBMS_Repair?

Geschrieben

unwahrscheinlich, da die Verbindung nach dem Aufruf, wenn er geglückt ist, wieder beendet wird.

Interessant. Wenn der jeweilige Aufruf glückt, schliesst du explizit die Verbindung (ocilogoff) ? Interassant deswegen, weil du ociplogon nutzt. Diese Funktion macht dir eine dauerhafte Datenbankverbindung auf, d.h. wenn du Sie nicht explizit schliesst, bleibt Sie zwischen Requests erhalten.

Das würde zumindest erklären, warum es nach einem httpd Neustart wieder läuft, denn dann gehen alle offenen Session verloren ...

Gruß

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...