Instalacion de Oracle en Linux remoto

Transcripción

Instalacion de Oracle en Linux remoto
Instalación de Oracle en Linux remoto
1
CONTENIDOS
1.- Preparación del sistema .................................... 2
2.- Establecimiento de la conexión remota . .... 6
3.- Instalación remota de Oracle . ......................... 13
4.- Arranque automático de Oracle...................... 34
Instalación de Oracle en Linux remoto - Indice
1
1.- PREPARACIÓN DEL SISTEMA
Vamos a usar una instalación mínima de CentOS 6.2. (http://www.centos.org).
Podría valernos cualquier distribución de GNU/Linux, aunque es algo más cómodo
con una distribución “RHEL-alike” (CentOS, Oracle, Scientific, incluso Fedora...). No
quiere decir que con el resto no sea posible, simplemente nos tocaría algo de
trabajo extra: crear una docena de enlaces simbólicos, algún fichero adicional...
nada insalvable.
En primer lugar, actualizaremos el kernel:
Una vez actualizado, necesitamos reiniciar:
Instalamos los paquetes necesarios (alguno ya estará instalado, pero no importa,
así nos lo comprueba)
Configuramos algunos parámetros del kernel, editando el fichero sysctl.conf. El
sistema lee la configuración de este fichero en el arranque.
Instalación de Oracle en Linux remoto
2
Detalle de los parámetros que se modifican:
ip_local_port_range = rango de puertos locales para servir conexiones
rmem_default = tamaño por defecto del buffer de recepción TCP/IP (en bytes)
rmem_max = tamaño máximo del buffer de recepción TCP/IP (en bytes)
wmem_default = tamaño por defecto del buffer de envío TCP/IP (en bytes)
wmem_max = tamaño máximo del buffer de envío TCP/IP (en bytes)
aio-max-nr = máximo de solicitudes simultáneas pendientes (no conviene sobrepasar el
límite propuesto, para no comprometer el subsistema de E/S)
file-max = máximo de ficheros abiertos (no lo olvides, en linux todo son ficheros…)
shmall = cantidad total de segmentos de memoria compartida (en páginas de 4 Kb)
shmmax = Tamaño máximo de segmento de memoria compartida que va a permitir el
kernel, en bytes. El valor indicado arriba es el recomendado para 4 GB de RAM, para otros
valores pondremos la mitad de la RAM en bytes, con un valor límite de 4GB-1 (Encontrarás
un sencillo conversor de GB a Bytes aquí: http://goo.gl/JGYw6).
shmmni = número máximo de segmentos de memoria compartida para el sistema
completo, en bytes
sem = cantidad máxima de: semáforos por grupo, semáforos en el sistema, operaciones
por llamada semop, y grupos de semáforos, respectivamente.
Le inyectamos al kernel directamente en memoria los cambios, con esto evitamos
reiniciar y a la vez comprobamos en pantalla que los cambios se han aceptado:
Y reiniciamos la red para que tome el nuevo rango de puertos
Creamos el usuario oracle y los grupos oinstall y dba, estableciendo una contraseña
para el nuevo usuario:
Incrementamos los límites pam del usuario oracle:
Instalación de Oracle en Linux remoto
3
A continuación editamos el fichero /etc/pam.d/login,
Editamos el profile:
Necesitamos actualizar las variables de entorno (sí, ya se lo que estás pensando,
pero source requiere entrar al directorio):
Como usuario oracle creamos los directorios con los permisos necesarios:
Editamos el .bash_profile:
Instalación de Oracle en Linux remoto
4
Y comprobamos que se han cargado las variables globales:
El siguiente paso será preparar la conexión remota entre CentOS y Windows.
Instalación de Oracle en Linux remoto
5
2.- ESTABLECIMIENTO DE LA CONEXION REMOTA ENTRE
CENTOS Y WINDOWS.
Ya tenemos preparado CentOS para Oracle Database, la cuestión es que a priori la
instalación de Oracle Database en Linux se realiza mediante un GUI (1) que se
apoya en el sistema Xwindow. Por lo tanto, necesitaremos en nuestra máquina local
un cliente ssh (para acceder de forma segura al servidor) y un Xserver (2) para
representar dicho GUI. Linux y la mayoría de los *nix (por no decir todos) disponen
de ambos.
Pero con windows tenemos un problema: no dispone de cliente ssh ni Xserver
nativos.
Para solventarlo, de entre las distintas opciones existentes de uno y otro, en
nuestro Windows instalaremos un Xserver (Xming) y un cliente ssh (PuTTY).
Lo primero que haremos será obtener la huella digital (fingerprint) de nuestro
CentOS, ya que en la primera conexión desde windows debemos aceptar la huella
digital del servidor, y para evitar un posible ataque de intermediario (man-in-themiddle) habremos de conocerla antes de aceptar la conexión:
A continuación descargaremos el ejecutable de PuTTY, desde:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
(1) Podríamos eludir el GUI mediante una instalación desatendida, indicándole al Oracle
Universal Instaler un fichero de texto que contenga las opciones de instalación lo que,
pudiendo ser interesante para instalaciones masivas, no es nuestro objetivo. Más acerca de
la instalación desatendida:
http://docs.oracle.com/cd/B28359_01/install.111/b32002/app_nonint.htm
(2) Conviene aclarar el concepto de “Servidor X”, pues provoca no pocas confusiones: en el
sistema Xwindow, el Xserver se instala en el equipo que ha de representar el display
(nuestro pc con windows en el caso que nos ocupa), con independencia de que para otros
servicios ese pc pueda tener un rol de cliente o servidor.
Instalación de Oracle en Linux remoto
6
PuTTY deberá quedar configurado así:
Configuración de PuTTY (1)
Configuración de PuTTY (2)
Instalación de Oracle en Linux remoto
7
Iniciaremos la conexión haciendo clic en el botón open. Antes de aceptar el
certificado, hemos de comprobar que la huella digital corresponde con la de
nuestro servidor (que habremos anotado previamente).
Accedemos al sistema remoto y, como root, instalaremos los paquetes siguientes:
Editamos el archivo sshd_config:
El próximo paso será descargar e instalar Xming (el XServer que utilizaremos en
windows). Podemos descargarlo desde aquí:
http://sourceforge.net/projects/xming/files/Xming/
Instalación de Oracle en Linux remoto
8
Instalación de Xming (1)
Instalación de Xming (2)
Instalación de Xming (3)
Instalación de Oracle en Linux remoto
9
Instalación de Xming (4)
Instalación de Xming (5)
Instalación de Xming (6)
Instalación de Oracle en Linux remoto
10
Instalación de Xming (7)
Desde windows, lanzamos el Xlaunch mediante el acceso directo que nos habrá
dejado en nuestro escritorio la instalación de Xming:
Configuración de Xlaunch (1)
Configuración de Xlaunch (2)
Instalación de Oracle en Linux remoto
11
Configuración de Xlaunch (3)
Configuración de Xlaunch (4)
Tras pulsar el botón finalizar nos crea un icono en el área de notificación:
Por último, le indicaremos al CentOS (vía PuTTY) dónde ha de enviar el display, en
nuestro caso a nuestra máquina windows:
Y con esto ya tenemos preparada la conexión para instalar Oracle Database de
forma remota.
Instalación de Oracle en Linux remoto
12
3.- INSTALACION REMOTA DE ORACLE
Una vez que tenemos preparada la conexión remota a CentOS, vamos a por el
software de oracle, descargaremos la Enterprise Edition de:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Es necesario registrarse para descargar los paquetes, tendremos que facilitar un
email válido y poco más.
Descargaremos los 2 archivos para Linux (x86 o x86-64, según nuestra
arquitectura sea de 32 o 64 bits): linux_11gR2_database_1of2.zip y
linux_11gR2_database_2of2.zip, ocupan unos 2Gb en total.
Con la ayuda de pscp, copiamos al home de oracle los ficheros que acabamos de
descargar. Lo encontraremos en:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Mediante PuTTY, desde nuestro servidor Linux (como usuario oracle), cambiamos
al directorio tmp creado anteriormente y descomprimimos los paquetes
descargados anteriormente:
Instalación de Oracle en Linux remoto
13
Cambiamos al directorio creado en el proceso de descompresión,
e invocamos al instalador de oracle:
Nos aparecerá en nuestro escritorio windows el GUI de instalación de oracle,
mediante el cual procederemos a su instalación.
Si dispusiéramos de ella, introducimos la contraseña de “Oracle Support” y nuestro
email. Podemos dejarlo en blanco.
instalacion remota oracle (1)
Instalación de Oracle en Linux remoto
14
Seleccionamos “Instalar sólo Software de la base de datos” (configuraremos una
BBDD luego).
instalacion remota oracle (2)
Elegimos “Instalación de Base de Datos de Instancia Única”.
instalacion remota oracle (3)
Instalación de Oracle en Linux remoto
15
Seleccionamos los idiomas deseados. Mínimo español e inglés.
instalacion remota oracle (4)
Deseamos instalar la Enterprise Edition.
instalacion remota oracle (5)
Instalación de Oracle en Linux remoto
16
Nos deberían aparecer las ubicaciones correctas, que ya hemos definido
anteriormente mediante las variables ORACLE_BASE y ORACLE_HOME en nuestro
.bash_profile.
instalacion remota oracle (6)
Lo mismo para el “directorio de inventario”, lo dejamos como está.
instalacion remota oracle (7)
Instalación de Oracle en Linux remoto
17
Los grupos con privilegios de SYSDBA y SYSOPER. Los dejamos tal cual.
instalacion remota oracle (8)
Nos informa de que nos falta el paquete pdksh, no es estrictamente imprescindible,
puesto que ya tenemos instalado el ksh.
instalacion remota oracle (9)
Instalación de Oracle en Linux remoto
18
Por lo que seleccionamos “ignorar todo” y “siguiente”.
instalacion remota oracle (10)
Si estamos de acuerdo con el sumario de configuración, pulsamos “terminar”.
instalacion remota oracle (11)
Instalación de Oracle en Linux remoto
19
Comienza la instalación…
instalacion remota oracle (12)
Nos indica que debemos ejecutar un par de scripts.
instalacion remota oracle (13)
Antes de continuar, ejecutaremos (como root) los script que nos indica:
Instalación de Oracle en Linux remoto
20
Nos informa de que la instalación ha sido correcta, por lo que apretamos el botón
“cerrar”.
instalacion remota oracle (14)
Instalación de Oracle en Linux remoto
21
Llegados a este punto podemos borrar el directorio temporal que creamos para la
instalación.
El siguiente paso será agregar el listener.
Para ello, como usuario oracle, invocamos a netca:
Elegimos la opción “Configuración del Listener”
Configuración del listener (1)
Complicada decisión… Pulsaremos “Siguiente”.
Configuración del listener (2)
Instalación de Oracle en Linux remoto
22
Elegimos el nombre del listener. Podemos dejar el que indica por defecto
Configuración del listener (3)
“Siguiente”. Podríamos añadir los protocolos TCPS e IPC si fuera necesario
Configuración del listener (4)
Podemos elegir el puerto TCP que utilizará el listener. Dejamos el que trae por
defecto
Configuración del listener (5)
Instalación de Oracle en Linux remoto
23
No deseamos configurar otro listener por ahora
Configuración del listener (6)
Pulsando “siguiente” terminamos la instalación del listener
Configuración del listener (7)
Una vez instalado, comprobamos que esté escuchando
Nuestro siguiente paso será crear la base de datos:
Instalación de Oracle en Linux remoto
24
Instalación de Oracle en Linux remoto
25
Instalación de Oracle en Linux remoto
26
Instalación de Oracle en Linux remoto
27
Instalación de Oracle en Linux remoto
28
Instalación de Oracle en Linux remoto
29
Nos muestra un resumen de la base de datos antes de crearla, podemos guardarlo
en HTML. Si estamos de acuerdo, pulsaremos aceptar.
Instalación de Oracle en Linux remoto
30
Y comienza a generar la base de datos…
Una vez ha terminado, nos muestra un resumen con el nombre de la BBDD global,
nombre del SID y la URL para acceder al Enterprise Manager.
Ya instalada la base de datos, abrimos los puertos 1521 y 5500 en el firewall de
CentOS:
Instalación de Oracle en Linux remoto
31
Y guardamos de manera permanente las reglas que acabamos de añadir:
Con esto ya podemos acceder de forma segura mediante protocolo SSL al interfaz
web de administración, introduciendo en nuestro navegador la URL que nos ha
indicado el asistente de configuración de base de datos (dbca). Como Oracle nos
presenta un certificado autofirmado no extendido por ninguna autoridad
certificadora de confianza, el navegador nos va a advertir de la situación. Por una
vez y sin que sirva de precedente, le otorgaremos un voto de confianza y
aceptaremos el certificado, añadiendo y confirmando la excepción de seguridad.
database control (1)
Instalación de Oracle en Linux remoto
32
database control (2)
database control (3)
Tan sólo nos queda confeccionar un script para el arranque automático de oracle.
Instalación de Oracle en Linux remoto
33
4.- ARRANQUE AUTOMATICO DE ORACLE.
Para terminar, una vez hemos instalado nuestro SGBDR Oracle, vamos a prepararlo
para que se inicie automáticamente con el sistema.
En primer lugar editaremos el fichero oratab que se encuentra en /etc, cambiando
la N final por una Y
Y crearemos el script para [iniciar/parar] Oracle
Tal y como se muestra en la página siguiente.
Instalación de Oracle en Linux remoto
34
Contenido del script /etc/rc.d/init.d/oracle:
#!/bin/bash
# oracle Start/Stop Oracle Database 11gR2
#
# chkconfig: 35 99 10
# description: Oracle es un sistema de gestión de bases de datos objeto-relacional.
#
# processname: oracle
# Origen de la biblioteca de funciones de init.
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/opt/oracle/app/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case “$1″ in
‘start’)
if [ -f $LOCKFILE ]; then
echo $0 oracle ya se está ejecutando.
exit 1
fi
echo -n $”Iniciando oracle:”
echo “”
su – $ORACLE_USER -c “$ORACLE_HOME/bin/dbstart $ORACLE_HOME”
# si dispusiéramos de una versión anterior a 10g (no es el caso):
# su – $ORACLE_USER -c “$ORACLE_HOME/bin/lsnrctl start”
su – $ORACLE_USER -c “$ORACLE_HOME/bin/emctl start dbconsole”
touch $LOCKFILE
;;
‘stop’)
if [ ! -f $LOCKFILE ]; then
echo $0 oracle no se está ejecutando.
exit 1
fi
echo -n $”Parando oracle:”
echo “”
su – $ORACLE_USER -c “$ORACLE_HOME/bin/dbshut $ORACLE_HOME”
# si dispusiéramos de una versión anterior a 10g (no es el caso):
# su – $ORACLE_USER -c “$ORACLE_HOME/bin/lsnrctl stop”
su – $ORACLE_USER -c “$ORACLE_HOME/bin/emctl stop dbconsole”
rm -f $LOCKFILE
;;
‘restart’)
$0 stop
$0 start
;;
‘status’)
if [ -f $LOCKFILE ]; then
echo $0 se está ejecutando.
else
echo $0 no se está ejecutando.
fi
;;
*)
echo “Uso: $0 [start|stop|restart|status]”
exit 1
esac
exit 0
Instalación de Oracle en Linux remoto
35
Le asignamos permisos de ejecución al script recién creado
Comprobamos que el script inicia y para correctamente oracle
Añadimos oracle al listado de servicios del sistema
Y por último, establecemos que oracle se inicie con el arranque del sistema en los
niveles de ejecución 3 y 5
Referencias de interés:
Oracle Database Installation Guide 11g for Linux
http://docs.oracle.com/cd/E11882_01/install.112/e24321/toc.htm
System-wide configuration files
http://linux.die.net/Bash-Beginners-Guide/sect_03_01.html#sect_03_01_01
Individual user configuration files
http://linux.die.net/Bash-Beginners-Guide/sect_03_01.html#sect_03_01_02
man 5 sysctl.conf
man 8 sysctl
man 5 limits.com
man 5 pam.d
EXENCION DE RESPONSABILIDAD
Este documento se distribuye con la esperanza de que sea útil. La información contenida en el
mismo puede ser incorrecta o estar desfasada. El uso que se haga de este documento y toda
información en él contenida queda bajo su responsabilidad.
EL AUTOR NO DA NINGÚN TIPO DE GARANTÍA EXPLÍCITA O IMPLÍCITA.
Si desea hacer algún comentario o alguna pregunta por favor no dude en hacerla.
Quejas, reclamaciones y lamentos varios irán directamente a /dev/null
Este trabajo de Oscar Garrabella ([email protected]) está bajo una licencia
Creative Commons Reconocimiento-CompartirIgual 3.0.
http://creativecommons.org/licenses/by-sa/3.0/es/
Oracle es una marca registrada de Oracle Corporation y/o sus empresas afiliadas.
Windows es una marca registrada de Microsoft Corporation en Estados Unidos y/o en otros países.
X Window System es una marca registrada del Massachusetts Institute of Technology.
Xming es una implementación del sistema X Window realizada por Colin Harrison con licencia
freeware.
Putty es un cliente telnet/ssh desarrollado por Simon Tatham bajo licencia Open Source.
CentOS (Community ENTerprise Operating System) es una bifurcación a nivel binario de la
distribución Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a partir del código
fuente liberado por Red Hat. Se distribuye bajo licencia GPL.
Instalación de Oracle en Linux remoto
36

Documentos relacionados