Instalación Oracle 11g EE en Debian...

17
Instalación Oracle 11g EE en Debian Lenny 1. Comprobar la configuración hardware. 1 GB de ram --> grep MemTotal /proc/meminfo 2 GB de swap --> grep SwapTotal /proc/meminfo Versión mínima del kernel 2.6.18 --> uname -r Memoria compartida recomendable: 1GB --> df -kh /dev/shm/ podría dar el error ORA-00845 2. Comprobar la configuración de red. En el archivo /etc/localhost debe estar la linea: localhost.localdomain En el archivo /etc/hosts debe estar la linea: 127.0.0.1 localhost.localdomain localhost 3. Instalar las dependencias para la instalación de oracle. aptitude install alien cpp-3.4 debhelper gawk gcc-3.4 gcc-3.4-base gettext html2text intltool-debian ksh lesstif2 libaio-dev libaio1 libbeecrypt6 libdb4.6 libelf- dev libelf1 libltdl3 libltdl3-dev libodbcinstq1c2 libqt4-core libqt4-gui librpm4.4 libsqlite3-0 libstdc++5 libstdc++6-4.3-dev lsb lsb-core lsb-cxx lsb-desktop lsb- graphics lsb-qt4 odbcinst1debian1 pax po-debconf rpm sysstat unixodbc unixodbc-dev ademas tendremos que modificar los siguientes paquetes con alien -k: compat-glibc_2.3.4-3.26_i386.rpm compat-libstdc++_7.3-2.96.118_i386.rpm cvuqdisk_1.0.7-1_i386.rpm elfutils-libelf-devel_0.97.1-5_i386.rpm glibc-devel_2.3.4-2_i386.rpm libaio_0.3.106-3.2_i386.rpm libstdc++_3.4.6-11_i386.rpm make_3.81-1.1_i386.rpm unixodbc_2.2.11-7.1_i386.rpm 4. Crear los grupos y los usuarios necesarios. addgroup --system oinstall addgroup --system dba useradd -r -g oinstall -G dba -m -s /bin/bash -d /var/lib/oracle oracle passwd oracle (e introducimos la nueva contraseña) 5. Configurar los parámetros del kernel. Editamos el fichero /etc/sysctl.conf y añadimos las lineas: kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536

Transcript of Instalación Oracle 11g EE en Debian...

Instalación Oracle 11g EE en Debian Lenny

1. Comprobar la configuración hardware.• 1 GB de ram --> grep MemTotal /proc/meminfo • 2 GB de swap --> grep SwapTotal /proc/meminfo • Versión mínima del kernel 2.6.18 --> uname -r • Memoria compartida recomendable: 1GB --> df -kh /dev/shm/ podría dar el error

ORA-00845

2. Comprobar la configuración de red.• En el archivo /etc/localhost debe estar la linea:

➢ localhost.localdomain• En el archivo /etc/hosts debe estar la linea:

➢ 127.0.0.1 localhost.localdomain localhost

3. Instalar las dependencias para la instalación de oracle.• aptitude install alien cpp-3.4 debhelper gawk gcc-3.4 gcc-3.4-base gettext

html2text intltool-debian ksh lesstif2 libaio-dev libaio1 libbeecrypt6 libdb4.6 libelf-dev libelf1 libltdl3 libltdl3-dev libodbcinstq1c2 libqt4-core libqt4-gui librpm4.4 libsqlite3-0 libstdc++5 libstdc++6-4.3-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 odbcinst1debian1 pax po-debconf rpm sysstat unixodbc unixodbc-dev

• ademas tendremos que modificar los siguientes paquetes con alien -k:➢ compat-glibc_2.3.4-3.26_i386.rpm➢ compat-libstdc++_7.3-2.96.118_i386.rpm➢ cvuqdisk_1.0.7-1_i386.rpm➢ elfutils-libelf-devel_0.97.1-5_i386.rpm➢ glibc-devel_2.3.4-2_i386.rpm➢ libaio_0.3.106-3.2_i386.rpm➢ libstdc++_3.4.6-11_i386.rpm➢ make_3.81-1.1_i386.rpm➢ unixodbc_2.2.11-7.1_i386.rpm

4. Crear los grupos y los usuarios necesarios.• addgroup --system oinstall • addgroup --system dba• useradd -r -g oinstall -G dba -m -s /bin/bash -d /var/lib/oracle oracle • passwd oracle (e introducimos la nueva contraseña)

5. Configurar los parámetros del kernel.• Editamos el fichero /etc/sysctl.conf y añadimos las lineas:

➢ kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 262144

➢ Y ejecutamos sysctl -p para volver cargar los parametros del kernel.

6. Editar los parámetros de la shell para el usuario oracle.• Modificamos el fichero /etc/security/limits.conf y añadimos:

➢ oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536

• Modificamos /etc/pam.d/su y descomentamos:➢ session required pam_limits.so

• Modificamos /etc/pam.d/login y añadimos:➢ session required /lib/security/pam_limits.so

• Modificamos /etc/profile y añadimos:➢ if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536

else ulimit -u 16384 -n 65536

fifi

7. Crear los directorios y darles los permisos necesarios:• mkdir -p /u01/app/oracle

mkdir -p /u02/oradatachown -R oracle:oinstall /u01 /u02chmod -R 775 /u01 /u02

8. Configuración de entorno del usuario oracle:• Modificamos el fichero /var/lib/oracle/.profile. Se va a crear una base de datos

en AL32UTF8 si fuera en ASCII seria:US7ASCII➢ umask 022

export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1export NLS_LANG=.AL32UTF8unset TNS_ADMINif [ -d "$ORACLE_HOME/bin" ]; then PATH="$ORACLE_HOME/bin:$PATH"fi

9. Configurar un falso instalador de oracle.• Como oracle no soporta oficialmente debian sino Red Hat hay

que crear enlaces simbolicos:➢ ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/rpm /bin/rpmln -s /usr/bin/basename /bin/basenameln -s /etc /etc/rc.d

• Tambien nos enmascaramos como Red Hat:➢ echo 'Red Hat Linux release 5' > /etc/redhat-release

10. Ultimo paso.• Copiamos el fichero de oracle al directorio principal de el

usuario oracle.• Y nos vamos a :cd /var/lib/oracle/database y ejecutamos

➢ ./runInstaller

11. Y realizamos la instalacion dependiendo de nuestras preferencias.

Seleccionamos la 2 opción por los parámetros anteriores.

Antes del siguente paso da un fallo que se soluciona con: aptitude install make

Después de este paso da un fallo que se soluciona con: aptitude install linbcln-dev

Modificamos las variables del sistema con:

export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1export PATH=$PATH:/u01/app/oracle/product/11.1.0/db_1/bin/export ORACLE_SID=orclexport LD_LIBRARY_PATH=/u01/app/oracle/product/11.1.0/db_1/lib/

Creamos un script como este:

#!/bin/bash# /etc/init.d/oracledb# Run-level Startup script for the Oracle Listener and Instances# It relies on the information on /etc/oratab

export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1export ORACLE_OWNR=oracleexport PATH=$PATH:$ORACLE_HOME/bin

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]then echo "Oracle startup: cannot start" exit 1fi

case "$1" in start) # Oracle listener and instance startup echo -n "Starting Oracle: " su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start" su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart" touch /var/lock/oracle echo "OK" ;; stop) # Oracle listener and instance shutdown echo -n "Shutdown Oracle: " su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop" su $ORACLE_OWNR -c $ORACLE_HOME/bin/dbshut rm -f /var/lock/oracle echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1esac

exit 0

Y lo guardamos en: /etc/init.d/oraclebd

Le damos los permisos chmod: a+x /etc/init.d/oracledb

Y lo ejecutamos con: sh oraclebd start

Ya podemos entrar en el SQLplus con el comando sqlplus y nos pedira el nombre de usuario y la contraseña.