Bienvenidos

Bienvenidos al libro digital de Micro Outsourcing, aquí encontraras una serie de artículos preparados por nuestros profesionales con base a nuestras experiencias y conocimientos, con el compromiso de aclarar tus inquietudes y solucionar los problemas que se presentan a diario en el campo informático.

jueves, 9 de febrero de 2012

Instalación de Oracle 10g R2 sobre Linux

Introducción: 

De seguro este tema es muy llamativo para quienes desean hacer uso de la tan prestigiosa base de datos oracle; a diferencia de Windows, instalar esta Base de Datos (BD) sobre un sistema Linux, suele ser muy complicado. Por tal razón, el manual simplifica en cierta forma el proceso de instalación, demostrando como objetivo final una instalación pura de la BD Oracle. 

Datos importantes:


Esta es la fuente donde pueden consultar más información si lo ven necesario, y si requieren datos acerca de cómo se puede hacer este proceso dependiendo del Sistema Operativo que tengan:



http://www.oracle.com/pls/db102/homepage
Matriz de compatibilidad: http://www.oracle-base.com/articles/linux/ArticlesLinux.php



Por tal motivo es importante recalcar que para cada versión hay detalles técnicos que se deben de cumplir.



REQUERIMIENTOS PREVIOS:


Los siguientes datos y requerimientos forman parte de la instalación de Oracle 10g R2 sobre CentOS 5.7 x86-64 y deben ser ejecutados como usuario root, hasta que se indique lo contrario.

Hardware:

  • Por lo menos 1 GB de RAM física.
La siguiente tabla describe la relación entre la memoria RAM instalada y la necesidad de espacio swap configurado. 


RAM
Espacio de intercambio
Hasta 512 MB
2 veces el tamaño de RAM
Entre 1024 MB y MB 2048
1,5 veces el tamaño de RAM
Entre 2049 MB y MB 8192
Igual al tamaño de RAM
Más de 8192 MB
0,75 veces el tamaño de RAM

 
·         400 MB de espacio en disco en el /tmp del directorio.
·         Entre 1,5 GB y 3,5 GB de espacio en disco para el software de Oracle, en función del tipo de instalación.
·         1,2 GB de espacio en disco para una base de datos pre configurada que utiliza el almacenamiento de archivos del sistema (opcional).

Software:

Lo primero que se debe hacer es verificar que la configuración de red esté bien establecida.

Como ejemplo se puede ver lo siguiente:

  
Establecer bien el nombre del host y el dominio respectivo en el que está tu red.


 
Modifica los valores del archivo hosts, de tal manera que esté de acuerdo con los valores de la red donde estás trabajando, y concuerdan con lo que estableciste en la tarjeta de red.

Luego que hayas hecho bien la configuración de la red, y que compruebes que tu máquina esté en red puedes pasar a hacer lo siguiente: 

  • Antes de actualizar o instalar Oracle Database 10 g Release 2, instale libaio. 
  • Instale oracleasm-support la versión del paquete 2.1.7 o superior, que se puede descargar del siguiente enlace:                                                                                                 http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html      
  •  Instale el siguiente paquete:  binutils-2.17.50.0.6-14.el5.x86_64 o superior.
Paquetería necesaria, la cual puedes verificar previa instalación de Oracle 10g R2 en CentOS 5.7 x86-64 (de seguro que cuando instales estos paquetes habrá nuevas versiones, no hay porque preocuparse, lo importante es que los instales y mucho mejor si son los más actualizados):
 
binutils-2.17.50.0.6-2.el5
compat-db-4.2.52-5.1
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
compat-libstdc++-33-3.2.3-61
compat-libstdc++-33-3.2.3-61(i386)
compat-libstdc++-296(i386)
gcc-4.1.1-52.el5.2
gcc-c++-4.1.1-52.el5.2
glibc-2.5-12
glibc-2.5-12(i386)
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-devel-2.5-12(i386)
glibc-headers-2.5-12
libgcc-4.1.1-52.el5(i386)
libXp-1.0.0(i386)
libXt-1.0.2(i386)
libXtst-1.0.1(i386)
libaio-0.3.106-3.2
libaio-devel-0.3.106-3.2
libgcc-4.1.1-52.el5
libstdc++-4.1.1-52.el5.2
libstdc++-devel-4.1.1-52.el5.2
libgomp-4.1.1-52.EL5
make-3.81-1.1
numactl-devel-0.9.8.x86_64
sysstat-7.0.0-3.el5
 
  
Configuración del sistema:

Grupos y usuario:

Crear la carpeta en la cual va a instalar el software y la base (se puede tomar como ejemplo los siguientes directorios).
               /oracle/orasoft
               /oracle/oradata

Los grupos operativos de sistema y de usuario son necesarios si va a instalar la base de datos Oracle:

El grupo OSDBA ( dba ) 

Debe crear este grupo, la primera vez que instale el software de Oracle de base de datos en el sistema. En él se identifican las cuentas de usuario de funcionamiento del sistema con privilegios de base de datos administrativos (el privilegio SYSDBA). El nombre predeterminado para este grupo es dba .
Comando para crear el grupo:

groupadd dba

El grupo de Oracle Inventory ( oinstall )
Debe crear este grupo, la primera vez que instale el software de Oracle en el sistema. El nombre común elegido para este grupo es oinstall . Este grupo tiene el inventario de Oracle, que es un catálogo de todo el software de Oracle instalado en el sistema.
Comando para crear el grupo:

groupadd oinstall


El usuario software propietario de Oracle (por lo general, oracle ):

Para crear el oracle usuario y asignarle el HOME DIRECTORY específico, introduzca un comando similar al siguiente: 

  # useradd –d /oracle -g oinstall -G dba oracle

En este comando: 

  • g especifica el grupo principal, que debe ser el grupo de inventario de Oracle, por ejemplo oinstall.
  • G especifica los grupos secundarios, que deben incluir el grupo OSDBA.
Establezca la contraseña de oracle usuario: 


  # passwd oracle

Verifique que el usuario oracle ha sido creado, ejecutando lo siguiente:


 
Poner permisos necesarios:
               chmod -R 775  /oracle
               chown -R oracle:dba /oracle
               chown -R oracle:oinstall /oracle


Antes de instalar el software, realice el siguiente procedimiento para verificar que el nobody usuario existe en el sistema:


Para determinar si el usuario nobody existe, ingrese el siguiente comando:


1.                                                  # id nobody

Si este comando muestra información sobre nobody usuario, entonces usted no tiene que crear ese usuario.

Si el nobody usuario no existe, a continuación, escriba el siguiente comando para crearlo:

                       # useradd nobody 
 
Variables del Kernel:

Verifique que los parámetros del kernel  que se muestra en la siguiente tabla se establecen en valores iguales o superiores al valor recomendado que se muestra.

Se puede verificar los valores ejecutando los siguientes comandos:

# /”RUTA”/”DIRECTORIO” -a | grep “VARIABLE_DE_KERNEL”

Ejemplo:

# /sbin/sysctl -a | grep sem
 
 
Parámetro
Valores Mínimos
Ruta
SEMMSL
SEMMNS
SEMOPM
SEMMNI
250
32000
100
128
/proc/sys/kernel/sem
shmall
2097152
/proc/sys/kernel/shmall
shmmax
La mitad del tamaño de memoria física (en bytes)
/proc/sys/kernel/shmmax
shmmni
4096
/proc/sys/kernel/ shmmni
file-max
327679
/proc/sys/fs/ file-max
ip_local_port_range
Minimum: 9000
Maximum: 65500
/proc/sys/net/ipv4/ ip_local_port_range
rmem_default
262144
/proc/sys/net/core/ rmem_default
rmem_max
2097152
/proc/sys/net/core/ rmem_max
wmem_default
262144
/proc/sys/net/core/ wmem_default
wmem_max
1048576
/proc/sys/net/core/ wmem_max
 
  
Nota: Si el valor actual de cualquier parámetro es mayor que el valor que aparece en esta tabla, no cambiar el valor de ese parámetro.

Si el valor de cualquier parámetro del kernel es diferente del valor recomendado, a continuación, complete el siguiente procedimiento:

Con cualquier editor de texto, crear o editar el /etc/sysctl.conf archivo, y agregar o editar líneas similares a lo siguiente:

 kernel.shmall = 2097152
 kernel.shmmax = 2147483648
 kernel.shmmni = 4096
 kernel.sem = 250 32000 100 128
 fs.file-max = 327679
 net.ipv4.ip_local_port_range = 9000 65500
 net.core.rmem_default = 262144
 net.core.rmem_max = 2097152
 net.core.wmem_default = 262144
 net.core.wmem_max = 1048576

A continuación ejecute (para que entren en funcionamiento las variables):
                       # sysctl -p /etc/sysctl.conf

Sino, reinicie el sistema.


Ajuste de los límites de Shell para el usuario de Oracle: 

Para mejorar el rendimiento del software en los sistemas Linux, es necesario aumentar los límites siguientes, para el usuario oracle:
Límite de Shell
Ítem  en limits.conf
Límite duro
El número máximo de descriptores de archivos abiertos
nofile
65536
El número máximo de procesos disponibles para un solo usuario
nproc
16384

Para aumentar los límites de shell:  


Agregue las líneas siguientes al /etc/security/limits.conf archivo: 

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
2.     

      Añadir o editar la siguiente línea en el /etc/pam.d/login archivo, si no existen:

session    required     pam_limits.so
 

Variables de entorno:

Definir variables de entorno en el archivo .profile (debe estar creado en el HOME_DIRECTORY del usuario, en este caso la ruta es:  /oracle/.profile; lo puedes hacer con cualquier editor de texto).


export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/orasoft/10.2.0
export ORACLE_SID=mosdb
export PATH=$PATH:/oracle/orasoft/10.2.0/bin
export TMPDIR=/var/tmp
export TEMP=/var/tmp
export DISPLAY=soracle.mos.com.ec:0.0
export XAUTHORITY=$HOME/.Xauthority
umask 022


  
Tomar en cuenta que los parámetros que se especifican allí, son los que siguen el ejemplo de este tutorial. Además, es importantísima la última línea (umask 022).

NOTA:
ORACLE_SID; Es el nombre que le vamos a dar a BD, por lo tanto puede variar.

/10.2.0 : Es la versión del producto.
XAUTHORITY= En el siguiente link se explica el uso de esta variable: http://docs.oracle.com/cd/E19620-01/805-7644/networkapp-82688/index.html


Descarga Oracle 10g Release 2

El siguiente enlace muestra el software de base de datos que debes de tener para esta instalación:
 
http://www.oracle.com/technetwork/database/10201linx8664soft-092456.html

Una vez descargado, debes descomprimirlo en /oracle/orasoft (OPCIONAL).

INSTALACIÓN:

Cuando tengas  descomprimido el archivo gunzip, quedará un archivo.cpio; es sobre este archivo donde trabajaremos la instalación:

Para empezar el proceso de instalación debemos iniciar sesión como usuario oracle . Por eso es importante que demos los permisos de control necesarios, a dicho usuario (antes de iniciar sesión como oracle), de la siguiente manera:

# xhost [+] NOMBRE_USUARIO
O simplemente ejecutar lo siguiente:
# xhost +

NOTA: Si aún se tiene inconvenientes puedes modificar el siguiente archivo /etc/gdm/custom.conf al cual se debe añadir la siguiente línea, debajo de [security]:

DisallowTCP=false. Luego reinicia el servicio gdm (cerrando la sesión del sistema y volviendo a abrirla), o reinicia el sistema.


A continuación procedemos a iniciar sesión como usuario autenticado oracle; si es por línea de comandos que queremos hacer toda esta parte del proceso debemos  ejecutar lo siguiente:

# su – oracle
     Luego de esto nos pedirá la contraseña, si la hemos establecido previamente.

Ahora debemos ubicarnos en la ruta en que se encuentra el archivo.cpio, y ejecutar lo siguiente para descomprimir los archivos de instalación necesarios.


$ cpio -idmv < NOMBRE_ARCHIVO.cpio
NOTA: No omitir el símbolo < (menor que).


Si lo anterior se efectuó con éxito procedemos con lo siguiente:

El proceso mencionado antes debió crear la carpeta database.
  1. Ingresar a esa carpeta:                                   $ cd /database
  2. Ejecutar el archivo de instalación:                  $ ./runInstaller  -ignoreSysPrereqs


Si has hecho todo bien debería aparecerte las siguientes ventanas (puedes seguir los pasos):






 
 
NOTA: Caso contrario si se te presenta algún error relacionado con .java y no te carga la ventana, verifica que los siguientes paquetes estén instalados en tu sistema:  
libXpm-devel-3.5.5-3 
libXp-1.0.0-8.1.el5 
libXpm-3.5.5-3

Damos click en siguiente, y veremos esto:


 

Debido a los datos cargados en el archivo .profile, oracle cargara automáticamente los parámetros.

Das click en siguiente…


 

Escoges el tipo de instalación.

Das click en siguiente…








La siguiente opción muestra el nombre que le darás a tu Base de Datos, así que debes personalizarlo.


























Los datos de esta ventana son importantes para poder ingresar a la BD. Es necesario que se guarden los enlaces, para poder recordarlos. 

Listo!

NOTA: Si se te ocurrió reiniciar o apagar el sistema luego de la instalación, debes saber que los servicios de oracle, una vez que se restaure el sistema, no se inician automáticamente. Puedes ejecutar o hacer un script de los siguientes comandos (debe ser como usuario oracle):

  • lsnrctl start <intro>
  • emctl start dbconsole <intro>
  • sqlplus <user: / as sysdba> <intro>
  • SQL> startup <intro>
  • SQL> exit <intro>
  • isqlplusctl start <intro>
  De esta manera se iniciarán nuevamente los servicios. OK!