.bash profile standalone oracle

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Profil shell (compte unique, serveur standalone)
Compte OS oracle
Contexte Oracle Database + Grid Infrastructure for a Standalone Server, 11gR2
Voir aussi .bash profile grid · .bash profile oracle · Oracle · Asm

.bash_profile (compte oracle, serveur standalone) définit l'environnement shell d'un serveur Oracle non-RAC où le rôle grid (Grid Infrastructure for a Standalone Server, notamment pour ASM) et le rôle oracle (logiciel base de données) sont réunis sur un seul compte OS — contrairement au découpage en deux comptes (grid/oracle) décrit dans .bash profile grid et .bash profile oracle pour un cluster RAC.

Avant personnalisation

Le .bash_profile par défaut livré par la distribution (RHEL et dérivés), avant toute customisation Oracle :

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

Mise en place

vi /home/oracle/.bash_profile

Contenu (version personnalisée)

# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User:      oracle
# Application:  Oracle Database Software Owner
#               Oracle Grid Infrastructure for a
#               Standalone Server
# Version:      Oracle 11g Release 2
# ---------------------------------------------------

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi

alias ls="ls -FA"

# ORACLE_SID : identifiant de l'instance base de données locale.
ORACLE_SID=testdb1; export ORACLE_SID

# ORACLE_UNQNAME et ORACLE_HOSTNAME : requis depuis 11gR2 pour piloter
# Enterprise Manager (dbconsole), en plus d'ORACLE_HOME.
ORACLE_UNQNAME=testdb1; export ORACLE_UNQNAME
ORACLE_HOSTNAME=testnode1.example.com; export ORACLE_HOSTNAME

JAVA_HOME=/usr/local/java; export JAVA_HOME

# ORACLE_BASE : racine OFA du propriétaire de la base.
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

# ORACLE_HOME : répertoire du logiciel base de données.
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

# GRID_HOME : Grid Infrastructure for a Standalone Server (ASM local,
# pas de Clusterware complet), installé sous le même compte ici.
GRID_HOME=$ORACLE_BASE/product/11.2.0/grid; export GRID_HOME

ORACLE_PATH=/u01/app/oracle/dba_scripts/sql:$ORACLE_HOME/rdbms/admin; export ORACLE_PATH

# SQLPATH=/u01/app/oracle/dba_scripts/sql; export SQLPATH

ORACLE_TERM=xterm; export ORACLE_TERM

NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT

# TNS_ADMIN : avec ASM, le listener tourne depuis GRID_HOME plutôt que
# depuis ORACLE_HOME.
# TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
TNS_ADMIN=$GRID_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=.:${JAVA_HOME}/bin:$JAVA_HOME/db/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/oracle/dba_scripts/bin
export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant.jar
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant-launcher.jar
CLASSPATH=${CLASSPATH}:$JAVA_HOME/db/lib/derby.jar
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp
export TMPDIR=/tmp

umask 022

Points clés

  • Un seul compte OS porte à la fois ORACLE_HOME (base) et GRID_HOME (ASM standalone) : normal hors RAC, pas de séparation de rôles à ce niveau.
  • TNS_ADMIN pointe vers le GRID_HOME et non le dbhome dès qu'ASM est utilisé, même en standalone — piège classique si on l'oublie après une bascule vers ASM.
  • ORACLE_HOSTNAME doit correspondre au nom d'hôte réel du serveur (l'exemple ci-dessus est générique, à adapter).

Voir aussi