.bash profile grid

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Profil shell (compte Grid Infrastructure)
Compte OS grid
Contexte Oracle Grid Infrastructure 11gR2 (RAC)
Voir aussi .bash profile oracle · .bash profile standalone oracle · Oracle · Asm

.bash_profile (compte grid) définit l'environnement shell du compte système grid, propriétaire de l'installation Oracle Grid Infrastructure (Clusterware + ASM) dans une configuration RAC à comptes séparés.

Rôle du compte grid

Sur une installation Oracle RAC standard (« role separation »), deux comptes OS distincts se partagent les logiciels :

  • grid : propriétaire du Grid Infrastructure (Clusterware + ASM), démarré avant tout le reste au boot du nœud.
  • oracle : propriétaire du logiciel base de données, voir .bash profile oracle.

Sur un serveur qui n'est pas en cluster, ces deux rôles peuvent être fusionnés sur un seul compte — voir .bash profile standalone oracle pour ce cas.

Mise en place

vi /home/grid/.bash_profile

Contenu

# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User:      grid
# Application:  Oracle Grid Infrastructure
# 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 ASM sur ce nœud.
# Chaque nœud RAC doit avoir un ORACLE_SID unique (+ASM1, +ASM2, ...)
ORACLE_SID=+ASM1; export ORACLE_SID

# JAVA_HOME : SDK/runtime Java utilisé par les outils d'installation.
JAVA_HOME=/usr/local/java; export JAVA_HOME

# GRID_BASE : racine OFA pour le propriétaire grid (logs diagnostics
# ASM/Clusterware).
GRID_BASE=/u01/app/grid; export GRID_BASE

ORACLE_BASE=$GRID_BASE; export ORACLE_BASE

# GRID_HOME : répertoire du logiciel Grid Infrastructure. Ne doit pas
# être placé sous un ORACLE_BASE ni sous le home d'un autre compte
# d'installation. Pendant l'installation, root reprend la propriété du
# chemin vers GRID_HOME (cause fréquente d'erreurs de permission sur
# d'autres installations si le chemin est mal isolé).
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME

ORACLE_HOME=$GRID_HOME; export ORACLE_HOME

# ORACLE_PATH : chemin de recherche des scripts SQL*Plus.
ORACLE_PATH=/u01/app/oracle/dba_scripts/sql; 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 : listener.ora / tnsnames.ora / sqlnet.ora du Grid Home.
TNS_ADMIN=$GRID_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$GRID_HOME/nls/data; export ORA_NLS11

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

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

CLASSPATH=$GRID_HOME/JRE
CLASSPATH=${CLASSPATH}:$GRID_HOME/jdbc/lib/ojdbc6.jar
CLASSPATH=${CLASSPATH}:$GRID_HOME/jlib
CLASSPATH=${CLASSPATH}:$GRID_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}:$GRID_HOME/network/jlib
export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp
export TMPDIR=/tmp

# umask 022 : les fichiers créés par l'installation Oracle le sont en 644.
umask 022

Points clés

  • ORACLE_SID préfixé + : convention pour les instances ASM (+ASM1, +ASM2...), à ne pas confondre avec le SID d'une instance base de données.
  • ORACLE_HOME pointe ici vers $GRID_HOME : normal pour ce compte, le Grid Home *est* l'Oracle Home du contexte grid.
  • Le chemin vers GRID_HOME ne doit jamais être sous un ORACLE_BASE ou un home d'un autre compte d'installation, au risque de casses de permissions après le passage de root.sh.

Voir aussi