viernes, 12 de agosto de 2011

Instalando ORACLE 11G en ubuntu.


Instalando ORACLE 11G en ubuntu.

Guia de instalación de Oracle 11g en Debian/Ubuntu



Puedes descargarte el instalador de Oracle desde su página de descargas. Yo voy a instalar sobre un Ubuntu 64 por lo que me bajaré el instalador linux 64 bit. Tu bajate el que se ajuste a tu arqutectura.
Tras descargar y descomprimir, vamos a empezar.

PRESUPUESTOS

  1. La instalación la hará el usuario root u Oracle cuando se especifique
  2. Tienes al menos 500 MB de ram
  3. Tienes al menos 1 GB de swap

PREPARANDO EL SISTEMA

1. Crear el usuario y grupo de oracle:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle
2. Creamos ciertos directorios y le asignamos permisos
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
3. Parámetros del kernel
.... 




ORACLE INSTALLATION:


Oracle Software Prerequisites


Install required packages


sudo su -

apt-get install build-essential
apt-get install libaio1
apt-get install libaio-dev
apt-get install unixODBC
apt-get install unixODBC-dev
apt-get install pdksh
apt-get install expat
apt-get install sysstat
apt-get install libelf-dev
apt-get install elfutils
apt-get install lsb-cxx
To avoid error "linking ctx/lib/ins_ctx.mk...":
cd /tmp
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_amd64.deb ia64-libs
cp ia64-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib64/
cd /usr/lib64/
ln -s libstdc++.so.5.0.7 libstdc++.so.5

cd /tmp
wget http://mirrors.kernel.org/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
cd /usr/lib32
ln -s libstdc++.so.5.0.7 libstdc++.so.5

cd /tmp
rm *.deb
rm -r ia64-libs
rm -r ia32-libs

To avoid error invoking target 'idg4odbc' of makefile:
ln -s /usr/bin/basename /bin/basename

To avoid errors when executing the post-install root.sh script:
ln -s /usr/bin/awk /bin/awk


Kernel Parameters


sudo su -

Make a backup of the original kernel configuration file:
cp /etc/sysctl.conf /etc/sysctl.original

Modify the kernel parameter file


echo "#">> /etc/sysctl.conf
echo "# Oracle 11gR2 entries">> /etc/sysctl.conf
echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf
echo "fs.file-max=6815744" >> /etc/sysctl.conf
echo "kernel.shmall=2097152" >> /etc/sysctl.conf
echo "kernel.shmmni=4096" >> /etc/sysctl.conf
echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range=9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default=262144" >> /etc/sysctl.conf
echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default=262144" >> /etc/sysctl.conf
echo "net.core.wmem_max=1048586" >> /etc/sysctl.conf
echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf

Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes
Load new kernel parameters
sysctl -p



Oracle Groups and Accounts


sudo su -

groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
usermod -s /bin/bash oracle

passwd oracle

groupadd nobody
usermod -g nobody nobody

id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
Make a backup of the original file:
cp /etc/security/limits.conf /etc/security/limits.conf.original

echo "#Oracle 11gR2 shell limits:">>/etc/security/limits.conf
echo "oracle soft nproc 2048">>/etc/security/limits.conf
echo "oracle hard nproc 16384">>/etc/security/limits.conf
echo "oracle soft nofile 1024">>/etc/security/limits.conf
echo "oracle hard nofile 65536">>/etc/security/limits.conf



Oracle Directories


i.e. /u01/app for Oracle software and /u02/oradata for database files

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u02/oradata

chown oracle:oinstall /u01/app/oracle
chown oracle:oinstall /u01/app/oraInventory
chown oracle:oinstall /u02/oradata

chmod 750 /u01/app/oracle
chmod 750 /u01/app/oraInventory
chmod 750 /u02/oradata


Oracle Universal Installer


Login as the Oracle user - do not use 'su' command
ssh -Y oracle@server_address

See Tips below for mounting the Oracle installation source
/path_to_installer/runInstaller

Note: Select the "Ignore All" button at the Prerequisite Checks dialog.


 ********************************************************************************
*********************************************************************************



Guia de instalación de Oracle 11g en Debian/Ubuntu

Puedes descargarte el instalador de Oracle desde su página de descargas. Yo voy a instalar sobre un Ubuntu 64 por lo que me bajaré el instalador linux 64 bit. Tu bajate el que se ajuste a tu arqutectura.
Tras descargar y descomprimir, vamos a empezar.

PRESUPUESTOS

  1. La instalación la hará el usuario root u Oracle cuando se especifique
  2. Tienes al menos 500 MB de ram
  3. Tienes al menos 1 GB de swap

PREPARANDO EL SISTEMA

1. Crear el usuario y grupo de oracle:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle
2. Creamos ciertos directorios y le asignamos permisos
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
3. Parámetros del kernel
Vamos a ver que los parámetros del kernel
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
Te tiene que salir algo así como :
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
Si no, como es mi caso, haz los cambios necesarios en /etc/sysctl.conf
vi /etc/sysctl.conf
#
# Lineas a añadir para la configuración de oracle
#
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
Y aplicas los cambios
/sbin/sysctl -p
Ahora vamos a establecer los límites. Para eso editamos el fichero /etc/security/limits.conf y ponemos dentro (incluidos los asteriscos):
*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536
Añade ( o descomenta ) la siguiente línea en : /etc/pam.d/login /etc/pam.d/su
session    required     /lib/security/pam_limits.so
Dado que usamos Bash debemos añadir este código a /etc/profile
if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
      else
            ulimit -u 16384 -n 65536
      fi
fi
Instalamos los siguientes paquetes ya que tenemos una distribución x64
aptitude install build-essential ia32-libs libc6-dev-i386 libc6-dev   libaio-dev
y hacemos unos cuantos enlaces simbolicos. Oracle está pensado para funcionar con Red Hat y va a buscar las cosas a los directorios donde espera encontrarlos en Red Hat. Por lo que vamos a ponerle las cosas faciles.
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename 
ln -s /etc /etc/rc.d                  
Por fin nos cambiamos de usuario para ser oracle
Y, al menos en mi caso, cambiamos de usuario significa que salimos de la sesion actual y nos volvemos a logar como oracle. Si estas haciendo la instalacion en local vuelves a entrar en gnome okde. Esto es porque si no no podrás hacer el export del display. Ya volveremos sobre este tema.
Vamos a poner algunas cosas en el ~/.bash_profile
ORACLE_BASE=/home/oracle/ORACLE
ORACLE_SID=test
export ORACLE_BASE ORACLE_SID
unset ORACLE_HOME
unset TNS_ADMIN
umask 022
Para poder exportar el DISPLAY. Cosa totalmente necesaraia para la instalción debemos haber entrado com el usuario oracle.
Abirmos una consola y ejectuamos
xhost +
Para comprobar que todo ha ido bien puedes hacer exactamente la misma comprobación que hará Oracle:
/usr/X11R6/bin/xclock
Y se te abriá el reloj.
Recuerda: yo estoy haciendo la instalación en la misma máquina. y tengo un entorno gráfico ejecutando. He salido de la sesion del entrono grafico y he entrado como el usuario oracle que hemos creado un poco mas arriba.
ahora ya podemos empezar. Vamos al directorio dode hayamos descomprimido el instalador y:
./runInstaller -ignoreSysPrereqs

No hay comentarios:

Publicar un comentario