Oracle User Environment

Nach der Installation der Oracle Software und der Datenbank-Instanz will man vielleicht auch gern mal damit arbeiten. In dem Falle brauch man noch ein paar Environment-Variablen, sonst kennt das System Oracle nicht wirklich. Es empfiehlt sich außerdem vieles wirklich nur über den User „oracle“ zu machen. So läuft man z.B. nicht Gefahr, sich Dateirechte, welche zum Betrieb der Datenbank notwendig sind kaputt zu machen.

Die zusätzlichen Variablen schreibt man am besten in die „.bash_profile“ des User, also „oracle„, welche in seinem Home-Verzeichnis liegt. Da sie mit einem Punkt beginnt ist es eine „versteckte“ Datei, wird also möglicherweise, je nach Programm, nicht gleich angezeigt.  Man könnte, um die Benutzung für alle System-User zu ermöglichen aber auch eine „oracle.sh“ in „/etc/profile.d/“ anlegen. Das Empfiehlt sich aber nicht wirklich, da dies wie gesagt, ungewollte Seiteneffekte haben könnte.

Also was brauchen wir denn nun für Variablen?

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Hierbei sei noch einiges zu beachten. $ORACLE_BASE muss natürlich auf den im aktuellen System installierten Pfad der Oracle-Systemdateien zeigen. Genauso muss natürlich auch $ORACLE_HOME dementsprechend angepasst werden. Die $ORACLE_SID sollte den Instanznamen beinhalten. Bei mehren Instanzen, den der am meisten genutzten Instanz. So brauch man dies dann nicht vor jedem SQL*Plus Aufruf immer angeben, muss sich aber beim verwenden einer anderen Instanz dessen auch bewusst sein. Die restlichen Variablen kann man so eigentlich übernehmen.

Mit diesen Environment ist man nun in der Lage die ganzen Oracle-eigenen Tools zu benutzen. SQL*Plus, dbstart, lsnrctl usw.