Oracle

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

<-- zurück zur Hauptseite


Oracle Express Installation (10gR2)

Benötigte Packete

unixODBC
oracle-instantclient-basic-10.2.0.5-1.i386.rpm
oracle-instantclient-jdbc-10.2.0.5-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm
oracle-instantclient-devel-10.2.0.5-1.i386.rpm
oracle-instantclient-odbc-10.2.0.5-1.i386.rpm

Wichtig!! Oracle-DB und Clientversion müssen übereinstimmen!! Oracle-DB 10gR2 und Clients 11gR2 sind nicht kompatibel!!

http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

Installation

  • rpms von Oracle herunterladen und installieren (Standartpfad: /usr/lib/oracle/10.2.0.5/client/)
rpm -i oracle*.rpm
  • Auf dem Oracle Server in das Verzeichniss /etc/init.d/ wechseln und das Oracle Konfiguartionstool öffnen
oracle-xe configure
  • HTTP Port 8080 und Listener 1521 vergeben
  • Anschließend Benutzer und Passwort anlegen

Konfiguration der Clients

Im Verzeichnis /usr/lib/oracle/10.2.0.5/client/ die Datei "tnsnames.ora" anlegen und HOST und SERVICE-NAME anpassen

LIMBAS =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.75)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = XE)
   )
)

In dem Verzeichnis /etc/ die Datei "profile.local" anpassen und Umgebungs-Variablen definieren

export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.5/client/lib
export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/client
export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client/bin
export NLS_LANG="GERMAN_GERMANY.WE8MSWIN1252"

Wichtig! Für Apache müssen die Umgebungsvariablen z.B. in /etc/init.d/apache2 (für OpenSuse) separat mitgeteilt werden!

ODBC Treiber

in /etc/UnixODBC/odbc.ini folgenden Eintrag hinzufügen

[Oracle10g]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
BindAsFLOAT = F
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle10g
DSN = Oracle10g
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName = LIMBAS
SQLGetData extensions = F
Translation DLL =
Translation Option = 0
DisableRULEHint = T
UserID = 

in /etc/UnixODBC/odbc.ini folgenden Eintrag hinzufügen

[Oracle10g]
Description     = Oracle ODBC driver for Oracle 10g
Driver          = /usr/lib/oracle/10.2.0.5/client/lib/libsqora.so.10.1
Setup           =
FileUsage       =
CPTimeout       =
CPReuse         = 


Abhängigkeiten

cd /usr/lib/oracle/10.2.0.5/client/lib/
ldd libsqora.so.10.1

wird folgende fehlende unixODBC Abhängigkeit zeigen:
libodbcinst.so.1 => not found

cd /usr/lib
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1

... löst das Problem

testen

Die Verbindung zwischen Client und Server kann mit folgendem Aufruf getestet werden:

sqlplus Benutzername/Passwort@TNSNames-Eintrag

Die ODBC Verbindug kann wie folgt getestet werden

isql -v Oracle10g Benutzername Passwort