Útmutatást szeretnék nagyobb múltúaktól.
Megpróbáltam feltenni a 10g szervert SUSE 9.0-ra. Az undok telepítő köpött egy megvetőt, mondván, hogy néki csak UnitedLinux, meg egy-két RedHat lenne jó. Hogyan lehetne Ora szerverem? Elégedjek meg egy kevésbé válogatós régebbi verzióval? Vagy nyergeljek át Fedora-ra? Egyáltalán azon hajlandó települni az új DBS? Fizetős Linux nem jöhet szóba.
Egyébként ahhoz szeretném, hogy ne felejtsem el teljesen az Oracle ismereteimet, nem éles rendszernek.
Egyik topiclako hivta fel a figyelmemet erre a topicra.A problemamat mar leirtam a sima Oracle topicban is de azert megkerdezem itt is.
Szoval hallott mar valaki az Object Kernel API fuggvenyekrol, amelyek segitsegevel C kodbol is vegre lehet hajtani SQL utasitasokat ,es hasznalja is oket a C/C++ programjaiban (#include "okapi.h"
#include "okbasic.h" okConnect, okDisconnect stb)?
A windows alatt is megtalálod a tnsname.ora-t. Ha nem akkor az easyconf-al csináld meg a kapcsolatot, atnsnamest másold át linuxra állítsd be az orahomet és ha szerencséd van működik. Nekem két napja egy instanclient azt mondta a 8.0.3-as szerverre, hogy "no longer supported" (lásd a másik fórumban)
Próbáld az strace-val kinyomozni, hogy milyen file-t keres az sqlplus... ugye az ORACLE_HOME envirot beállítottad? Valahol a topik elején értekeztem erről...
Köszi a tanácsot, már gondoltam rá, de sajna kliensem csak winfoson van :-( A szerverről meg hadd ne másoljam át a teljes ora szerver homeját (64 bites Tru64 alol). Azt nem értem, hogy a csomagkezelő szerint minden fennt van hiba nélkül. A telepítés alatt sem írt hibát. Mégsem találom az ora homeját :-(
Nagy az én bajom :-( Egy SuSe8.1 alá kellene bebiggyeszteni egy oracle klienst. Az ora server 8.1.7, Tru64-en fut. Az oracle honlapjáról letöltöttem az oracle-instantclient-basic-10.1.0.2-1.i386.prm -et. a ~jdbc.rpm-et és az ~sqlplus.rpm-et. Simán felmentek, a csomagkezelő szerint tökéletesen érzik magukat. Csak éppen a tnsnames.ora filet nem találom, tnsping parancsom nincs. Amit találtam, az a /usr/lib/oracle/10.1.0.2/client-ben néhány .class és egyéb file.
Hogy lehet paraméterezni a szervert, ha nincs tnsnames.ora? Hogy lehet kipróbálni? Egy futtatható filet találtam, az sqlplust. Azt lehet is futtatni, de rögtön hibaüzenetet kapok, hogy a TNS nincs beállítva :-(
Tud valaki segíteni? A dolog sajna sürgös. Az Oracle azt javasolta, hogy írjak TAR-t a metelinkre, majd válaszolnak - egyszer. Írtam, majd elolvasom a válaszukat.
Van egy jo hosszu INSERT-em, ami nem megy le valamelyik host-valtozo hibaja miatt, de azt nem mondja meg, hogy melyik a hibas.
Ha parsing-error lenne, akkor az sqlca.sqlerrd[4]-ben volna a hiba offsetje,
de ez nem parsing error:-(
Abban remenykedem, hogy valaki megis tud valami fuggvenyt, amivel ezt le lehet kerdezni, hiszen az Sql*Plus az ilyenekor ki tudja jelezni a hiba poziciojat (sokszor ' ' + '*' formaban).
(Ha tcpdump-pal nezem latom is a hiba poziciojat a szerver uzeneteben... "mar csak" programbol kellene hozzaferni)
Nem lehet. A szintaxisgráf szerint sem. Van azonban egy ún. multi-table insert, ami egy lekérdezés eredményeként kapott minden sorra lefuttat egy insert-et, ez esetben több táblába is tudsz egy utasítással beszúrni (ez főleg adattárházaknál nagyon kényelmes).
Lehet-e egy INSERT-ben tobb VALUES, ha tobb sort akarok egyszerre felvinni?
A leirasban szereplo szintaxisgraf azt sugallja hogy lehet, a tapasztalat azt, hogy nem :-(
Oracle805 for Linux király, 6.2-n peccsek nélkül is megyen, csak nem a telepítés után újralinkelt, hanem a "gyári" 0-ra vagy O-ra végződő nevű binárisokkal. (Production rendszerbe nem ajánlott, bár nekem stabilan megy.) Megy 32M RAM-on, p166 gépen, én ezen fejlesztettem, aztán léptem 64M RAM-ra, ott hasít. (15 tábla, néhány tizezer sor per tábla, Perl-DBI CGI-szkriptek.) Helyigény adatbázis nélkül kb 300 MB, nekem van kigyomlált cpio.gz, 90MB.
Oracle816 for akármi (NT, UnixWare, Linux, DG-UX próbálva): a telepítőkészlet az un*x-like rendszerek alatt f*s, NT alatt elmegyen jól. 64M RAM alatt a telepítő el se indul, 128M RAM esetén Linux alatt már nem elviselhetetlen. Gyári Linux telepítő CD-n a java motor nem jó. IBM-ről rpm csomag letölt, CD kimásol, java rpm telepít, CD java könyvtára felülír, CD újraír, ezután lehetett kezdeni az érdemi munkát. Telepítés után a grafikus lócitrom leszedhető. Nemtom, mindenki járt-e így, mi igen.
A 8.0.5 alapú CGI rencer nálam SOKKAL gyorsabb volt, mint ua. a rendszer ua. a gépen 8.1.6 backenddel.
FONTOS! Az Oracle mint adatbáziskezelő állat, de NE kezdd ezzel az ismerkedést, ha nincs kitől "tanfolyamot" venned napokig.
Ha írsz e-mailben egy postacímet, szívesen küldök egy 8.1.6-os vagy egy 8.1.7-et Linuxra. Csak úgy :) (Sőt esetleg egy Developer 6i for Linux-ot is :))
Viszont mindenkinek javaslom, aki most akar majd nekiállni Oracle 8.1.x-et telepíten Linuxra: Felejtse el a Windowsos mentalitást, hogy "Beteszem a CD-t, oszt setup." Itt TÉNYLEG azzal kell kezdeni, hogy kinyomtatod az Install Guide megfelelő részeit, elolvasod, megérted, utána odaveszed magadmellé. és úgy hajtod végre a tlelpítést. (Legalábbis mondjuk az első két-három alkalommal.) Hat-hetedikre már fejből fogod tudni azt a pár környezeti változót, amit be kell állítani, meg hogy milyen csoportokat és felhasználókat érdemes felvenni. Amennyiben így történik a telepítés, MINDEN elsőre működni fog, és nem lesz semmilyen érthetetlen probléma. Ezt pár 8.0.5 és 8.1.x telepítése után BIZTON állítom.
üdv minden Oracle/Linux barátnak
nemmindegy
Látom itt többeknek megvan az Oracle linuxra. Már egy ideje szenvedek vele, hogy a technetről letöltsem de mindig elakadok vele. Ha valamilyen módon megoldható lenne, hogy valakitől megkapjam, nagyon megköszönném. A részleteket magánba is megbeszélhetjük.
A 8.1.6-ra ugyan nem emlékszem, de...
8.1.7-et nemrég tettem fel Potato-ra.
A bin könyvtárat nem kell betenni a PATH-ba, valamint az ORACLE_HOME-ot sem kell beállítanod.
A /usr/local/bin-be berak egy oraenv nevű script-et.
Ha Oracle-t akarsz használni, ezt a script-et kell futtatni:
. oraenv (vagy source oraenv)
Kicsit részletesebben:
###################################
#
# usage: . oraenv
#
# This routine is used to condition a user's environment for access to
# an ORACLE database. It will prompt for the value of the new SID unless
# the variable ORAENV_ASK is set to NO, in which case it will use the
# current value of ORACLE_SID.
# The character "*" denotes a null SID.
#
# NOTE: Due to constraints of the shell in regard to environment
# ----- variables, the command MUST be prefaced with ".". If it
# is not, then no permanent change in the user's environment
# can take place.
#
#####################################
Most tettem fel a 8.1.6-os kliens verziót Debian 2.2-re, eddig a következő apróságokat vettem észre:
* az installhoz X-window kell (a JAVAs GUI miatt)
* az installt nem csinálhatja a root, bár időnként előállít egy-egy procit, amit a root-nak kell futtatnia
* valamelyik lépés szeretné használni a /bin/awk -t (ha ez nincs, csináljunk rá symlinket)
* saját bin könyvtára van (nálam /usr/local/OraHome1/bin) amit érdemes berakni a PATH-ba
* kell neki egy ORACLE_HOME nevű enviro (pl export ORACLE_HOME=/usr/local/OraHome1)
* a lib-könyvtárát érdemes beletenni a /etc/ld.so/conf -ba (/usr/local/OraHome1/lib)
* a proc nem találja a stddef.h -t és néhány más header-t, beleértve a sajátjait. Megoldás lehet:
(vigyázat, nálam a /usr/gcc-include egy symlink a rendkívül kézenfekvő /usr/lib/gcc-lib/i386-linux/2.95.2/include könyvtárra)
* ez utóbbi négy könyvtárat a gcc-nek is meg kell adni (-I kapcsoló)
* a proc nem szereti a #include_next direktívát (limits.h)... egy csúnya hibaüzenet lesz a büntetés... persze ez csak warning
* a proc létrehoz számos nem-használt változót, a gcc bosszantására (pl sqlcxt, sqlcx2t, sqlstm...)
* a linkeléshez kell a -L/usr/local/OraHome1/lib/ -lclntsh -lwtc8 opció
* futáskor látom, hogy nem települt az oraus.msb nevű üzenet-file, ez a CD-n a /stage/Components/oracle.rdbms/8.1.6.1.0/1/DataFiles/mesg.24.0.jar file-bol szedheto ki (unzip) es tehető a /usr/local/OraHome1/rdbms/mesg könyvtárba.
Tapasztalatom szerint az Oracle 8.xx for Linux melle oda kellene irni, hogy with glibc2.0 (libc6+gcc2.2.7), mivelhogy glibc2.1-gyel nem megy. Talan a R6 6-ban ez van, es ez erosen gatolo tenyezo lehet.
Légyszi segítsen nekem valaki, akinek már sikerült elérni Linux alól (WinNT-n futó) Oracle 7.3.4-es szervert. Megvan a Oracle 8.xx for Linux, ami RedHat 5.2 alatt még futott, de 6.0 alatt már minden progi csak core-t dumpol nekem :(
A célom az lenne, hogy php3-al lekérdezéseket tudjak futtatni.