linux oracle instantclient sqlplus hängt

Butzelmann

Well-Known Member
Hallo

Habe Port linux-oracle-instantclient-sqlplus-10.2.0.2.20060331 installiert.

Nun wollte ich sqlplus ausfuehren.
Ergebnis: Die Shell, in der ich sqlplus aufrufe hängt unendlich. Erst mit ctrl+c komme ich wieder zum Prompt zurueck.

Habe anschliessend gleiches mit ktrace sqlplus und kdump laufen:

1289 sqlplus RET mincore 0
1289 sqlplus CALL access(0x807cd38,0)
1289 sqlplus NAMI "./network/admin/sqlnet.ora"
1289 sqlplus RET access JUSTRETURN
1289 sqlplus CALL access(0x807a630,0)
1289 sqlplus NAMI "./network/admin/sqlnet.ora"
1289 sqlplus RET access JUSTRETURN
1289 sqlplus CALL semget(0x8057378,0x2,0x1)
1289 sqlplus RET semget -1 errno -9 Unknown error: -9
1289 sqlplus CALL getegid(0)
1289 sqlplus RET getegid -1 errno -14 Unknown error: -14
1289 sqlplus CALL getegid(0)
1289 sqlplus RET getegid -1 errno -14 Unknown error: -14


Wobei dann unendlich
1289 sqlplus CALL getegid(0)
1289 sqlplus RET getegid -1 errno -14 Unknown error: -14
kommt.



Ein Verzeichnis "/network/admin/sqlnet.ora" kann ich nirgends finden. Das ich sowas irgendwo anlegen soll, wurde auch nicht bei der Installation des Ports gesagt.
Ist das jetzt ein Bug oder kann mirjemand sagen, was ich falsch mache?
 
Wobei ich gerade noch ein Verzeichnis network/admin/ angelegt habe und eine leere sqlnet.ora Datei angelegt habe. Dennoch kommt es zu

sqlplus RET semget -1 errno -9 Unknown error: -9
sqlplus CALL getegid(0)
sqlplus RET getegid -1 errno -14 Unknown error: -14
sqlplus CALL getegid(0)
sqlplus RET getegid -1 errno -14 Unknown error: -14
...

Vielleicht hat jemand eine Idee?
 
zu welcher datenbank moechtest du dich verbinden?
dieser client unterstuetzt nur entfernte oracle datenbanken.

zu /network/admin/sqlnet.ora:
diese datei wird waehrend der oracle datenbank installation erstellt.
also befindet sich diese datei auf einem entfernten host, wo bereits eine
oracle datenbank installiert ist.

http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14357/ape.htm#sthref3926

ps: sorry wenn ich argen mist verzapfe, aber ich hatte schon mit oracle "etwas" zu tun :)
 
Will mich ja auch zu einer entfernten ORACLE-DB verbinden. Meines Wissens nach eine 9i.
Und nun benoetige ich gerade sqlplus und dachte es geht :(
 
der genaue befehl waere interessant.
sieh dir dazu bitte meinen link an, da steht die syntax.
Connecting to a Database with SQL*Plus Instant Client
 
Die sqlnet.ora wird ja eigentlich nicht benötigt (normalerweise ist darin der Netservice für den Oracle Server konfiguriert), das ist ja der Vorteil beim Instant Client. Und das Verzeichnis sollte sich in $ORACLE_HOME befinden, nicht in /.

Stürzt die sqlplus Shell sofort ab oder kannst du noch den Connect String angeben?
 
Sorry, ich war mal kurz schlafen :)

Also:
Ich kann keine Ausgabe des Kommandos senden, da es leider keine Ausgabe gibt. Ich konnte euch nur das Ergebnis von KDUMP nachdem KTRACE des sqlplus geben. Siehe weiter oben.

Die CPU geht meiner Meinung nach auf 80 bis 100 Prozent, da nichtdeterministisch im KTRACE folgendes ab einem bestimmten Punkt des sqlplus-Kommandos registriert wird:
1289 sqlplus RET semget -1 errno -9 Unknown error: -9
1289 sqlplus CALL getegid(0)
1289 sqlplus RET getegid -1 errno -14 Unknown error: -14
1289 sqlplus CALL getegid(0)
1289 sqlplus RET getegid -1 errno -14 Unknown error: -14
... und unendlich so weiter

Also nicht 80 bis 100 Prozent CPU wegen KTRACE, sondern wegen dem sqlplus-Kommando.

linux-oracle-instantclient-basic ist natuerlich auch installiert.

Gruss-

ps: Geht es denn bei euch?
 
[kater@FreeBSD_TWS29 /usr/home/kater]$ uname -a
FreeBSD FreeBSD_TWS29 6.1-RELEASE FreeBSD 6.1-RELEASE #3: Thu Oct 19 19:18:37 CEST 2006 kater@FreeBSD_TWS29:/usr/obj/usr/src/sys/MYKERNEL61 i386


und port

linux_base-fc-4_9 = up-to-date with port


Gruss
 
wie hast du das genau installiert? ich hab's leider nicht installiert. wenn ich im linux-oracle-instantclient-basic ports verzeichnis make install clean eingebe, wird die datei linux-oracle-instantclient-sqlplus-10.2.0.1.20050713.zip verlangt, und die ist auf dem oracle server nicht mehr zu finden.
hast du ev. deine ports collection "upgedatet" und es ist dann mit linux-oracle-instantclient-sqlplus-10.2.0.2.20060331.zip gegangen"?
 
Ja, ich halte meine Ports-Collection permanent up to date.
Habe also
linux-oracle-instantclient-basic-10.2.0.2.20060331 = up-to-date with port
linux-oracle-instantclient-sqlplus-10.2.0.2.20060331 = up-to-date with port
installiert.

Gruss
 
@cedric was genau soll ich jetzt tun?

Ich moechte immer beim hoechsten offiziellen FreeBSD-RELEASE bleiben.
Sind die Ports nicht sowieso immer unabhaengig vom System. Und ich nehme immer die aktuellsten Stable-Teile der Ports.

Gruss
 
Dann brauchst du RELENG_6_2, allerdings gibts da erst das Release Candidate 2, und noch nicht das offizielle Release, müsstest also noch was warten, wenn du auf ein komplett fertiges Release bestehst...

PS: Das es dann funktioniert ist aber nicht sicher, ich erinner mich nur daran, das einige Sachen gefixt wurden, die bei Oracle Probleme machten.
 
Der Port sollte OK sein, es handelt sich wahrscheinlich um ein Fehler in der Linux Emulation, da wurden unter anderem falsche return Werte zurückgegeben usw., naja, eine Menge (siehe http://wiki.freebsd.org/linux-kernel).

Rufst du sqlplus auch aus /compat/linux/bin/bash auf, mit den entsprechenden Variablen?
 
hi Butzelmann,
ich habe heute meine ports collection upgedatet und nun stehe ich vor dem gleichen problem,
allerdings bekomme ich keine error messages wie du, es haengt einfach ;)
wie auch immer, ich werde dranbleiben und wenn es news gibt, sage ich euch bescheid.
wenn du frueher dieses problem loest, bitte um info woran es gelegen hat.

mfg,
bds-yusa
 
Hi

Ich hab mal in der ML gelesen, daß man wohl glibc 2.3.3 in der linux-emu braucht. Ist das bei euch denn der Fall?

Gruß
 
Zurück
Oben