ULACIT
Instalacin de Servidores de Base de Datos Oracle en el Sistema Operativo Oracle Enterprise Linux 5.5.
Hecho por Jonathan Snchez Ugalde Correo: jonathan@desarrollo-libre.org
2011
Instalacin de Oracle en Linux
ndice
ULACIT .....................................................................................................1 Instalacin de Servidores de Base de Datos Oracle en el Sistema Operativo Oracle Enterprise Linux 5.5...................................................1 ndice........................................................................................................2 Introduccin:.............................................................................................3 Requisitos.................................................................................................4 Requisitos de Software.............................................................................5 Parmetros de Configuracin....................................................................7 Parmetros del Kernel........................................................................... 7 Recursos Lmites Para el Usuario..............................................................9 Instalar el software de la base de datos................................................. 13 Crear instancia por medio del DBCA:......................................................28 Configurar el Listener..............................................................................42 Reconfigurar el Enterprise Manager.................................................... 43 Certificado de Seguridad en Enterprise Manager................................ 44 Instalacin de la base de Datos y configurar la instancia:......................46
2 / 51
Instalacin de Oracle en Linux
Introduccin:
A continuacin se presenta una gua paso a paso para la instalacin de una base de datos Oracle en un sistema Operativo Linux, concretamente Oracle Enterprise Linux 5.5 tanto del sistema gestor de base de datos como de la instancia de la base de datos. Tambin se explica una serie de comandos y aspectos del entorno tiles para que una persona que no conoce sistemas tipo Unix/Linux puede realizar la instalacin fcilmente. Cabe resaltar que si bien la instalacin se enfoca en Oracle Enterprise Linux es perfectamente compatible con Red Hat Linux y CentOS(este no est soportado oficialmente), as mismo sirve de referencia para la instalacin en otro sistema GNU/Linux.
3 / 51
Instalacin de Oracle en Linux
Requisitos
Tras la instalacin del sistema Operativo tenemos que configurar ciertos parmetros: Primero que todo los requerimientos: Requisitos de Memoria * Por lo menos 1 GB de RAM Para verificar el tamao de tu RAM grep MemTotal /proc/meminfo * Espacio swap Para verificar el tamao de tu espacio Swap grep SwapTotal /proc/meminfo Para el espacio swap se suele utilizar el doble de RAM o seguir por ejemplo la especificacin de la siguiente tabla, todo depende del enfoque y tipo de hardware: RAM Disponible Espacio Swap Requerido Entre 1 GB y 2 GB 1.5 veces el tamao de la RAM Entre 2 GB y 16 GB Igual al Tamao de la RAM Ms que 16 GB 16 GB Requisitos de Hardware * 1 GB de espacio en el directorio /tmp Tipo de Instalacin Requerimientos de Archivos SW (GB) Enterprise Edition 3.95 Standard Edition 3.88 Tipo de Instalacin Requerimientos Para Datafiles (GB) Enterprise Edition 1.7 Standard Edition 1.5 Para verificar el espacio utilizado y disponible, as como las particiones existentes podemos hacer uso del comando: df -k
4 / 51
Instalacin de Oracle en Linux
Requisitos de Software
Depende de la distribucin y versin de Linux instalado. Para este caso es compatible con RHEL 5.5, Oracle Linux 5.5 y CentOS Se puede verificar la versin con el comando: cat /proc/version * Kernel Requerido 2.6.18 Para verificar que la versin instalada: uname -r * Paquetes Requeridos Todos son la versin mencionada o posterior. binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-2.2.11 (32 bit) unixODBC-devel-2.2.11 unixODBC-devel-2.2.11 (32 bit)
5 / 51
Instalacin de Oracle en Linux Para verificar si tienes el paquete instalado, utiliza el siguiente comando rpm -q nombre_paquete Tambin se puede entrar al administrador de paquetes grfico para verificar si se tienen instalado o instalar el paquete(requiere configurar repositorio de paquetes y acceso a internet), el comando es: pirut
De igual forma los paquetes se pueden conseguir en los repositorios de Internet o en el disco de la distribucin de GNU/Linux que se est utilizando. Para la instalacin por consola utilizar como usuario root el comando: rpm -ivh nombredelpaquete.rpm Nota: En una distribucin GNU/Linux para cambiar de usuario se puede hacer mediante el comando: su nombredeusuario Si se quiere cambiar al usuario root se puede obviar el usuario: su Para cargar variables de ambiente y configuraciones del usuario util para ejecutar ciertos comandos o programas directamente con el nombre sin ir a la carpeta especifica donde se encuentra su 6 / 51
Instalacin de Oracle en Linux
Parmetros de Configuracin
Una vez que se tenga instalado el sistema operativo procedemos a realizar ciertas configuraciones que requiere el software de Oracle para trabajar correctamente:
Parmetros del Kernel
Los siguientes son parmetros que deben ser configurados en el archivo sysctl que se encuentra en la ruta /etc/systcl.conf Para ver el valor puedes abrir directamente el archivo en /etc/sysctl.conf: more /etc/sysctl.conf gedit /etc/sysctl.conf (en modo Grfico con Gnome) Nota: para poder editarlo tienes que abrirlo como usuario root. Tambin se puede verificar los valores con el comando: /sbin/sysctl -a | grep filtro Ejemplo /sbin/sysctl -a | grep sem Parmetro semmsl semmns semopm semmni Valor Mnimo 250 32000 100 128 Descripcion Semforos SEMMNI: nmero mx de conjuntos SEMMSL: mx de semforos por conjunto SEMMNS: mx de semforos del sistema SEMOPM mx de operaciones por llamada opsem (mltiple operaciones de semforo) Total de pginas de la memoria compartida Mximo de Memoria Compartida. Utilizada por el SGA Restricciones en 32bits SO 32bits =2GB max (1.7GB solo del SGA ) SO 32bits PAE= 3GB (2.7GB solo del SGA) Tamao mximo de segmento de memoria compartida Mximo de archivos abiertos.
shmall shmmax
2097152 Default: 536870912
shmmni file-max
4096 6815744
ip_local_port_range Mnimo: 9000 Rango de ips Mximo: 65500 rmem_default rmem_max 262144 4194304 Parmetro default para I/O red Parmetro max para I/O red 7 / 51
Instalacin de Oracle en Linux Parmetro wmem_default wmem_max aio-max-nr Valor Mnimo 262144 1048576 1048576 Descripcion Parmetro default para I/O red Parmetro max para I/O red Mximo de llamadas aio permitidas.
Nota sobre shmmax & shmall Por ejemplo si se da 80% del total de RAM a memoria compartida, un clculo para estos valores es el siguiente: cat /proc/meminfo | grep MemTotal MemTotal: 24675512 kB getconf PAGE_SIZE 4096 Entonces si el server tiene 24GB en RAM y un tamao por pgina de 4096 el clculo sera: echo -ne "kernel.shmmax = "; echo "((24675512 * 1024) * .80) / 1" | bc -q kernel.shmmax = 20214179430 echo -ne "kernel.shmall = "; echo "((24675512 * 1024) * .80) / 4096" | bc -q kernel.shmall = 4935102 Utiliza el siguiente comando para reiniciar los valores actuales que tiene el kernel con los nuevos que se establecieron: /sbin/sysctl -p Para confirmar que los valores estn correctos: /sbin/sysctl -a
8 / 51
Instalacin de Oracle en Linux
Recursos Lmites Para el Usuario
Debido a que el gestor de base de datos se va a ejecutar bajo el usuario oracle, hay que ajustar los parmetros lmites del shell de dicho usuario. Para ello hay que editar el fichero /etc/security/limits.conf : Estos son los valores recomendados por Oracle y se encuentran en el archivo: /etc/security/limits.conf y requiere que privilegios de root para modificarlo: Recurso Lmite del Shell Descriptores de Open file nofile Numero de procesos disponibles a un solo usuario Tamao del segmento stack del proceso por lo menos 1024 por lo menos 2047 por lo menos 10240 KB por lo menos 655 Recurso Lmite Soft Lmite Hard
nproc
por lo menos 16384
stack
por lo menos 10240 KB, y como max 32768 KB
Ejemplo: oracle oracle oracle oracle
soft hard soft hard
nproc 2047 nproc 16384 nofile 1024 nofile 65536
Para que estas configuraciones estn disponibles se requiere reiniciar el sistema. Seguidamente crear el usuario oracle que se especifica en esta configuracin.
9 / 51
Instalacin de Oracle en Linux
Crear el usuario Oracle y los grupos
Tomando en cuenta de que esta es una instalacin crear los siguientes grupos dba (puede que ya exista) y oinstall Ejecutar los siguientes comandos como root: /usr/sbin/groupadd dba /usr/sbin/groupadd oinstall Crear el usuario oracle y asignarle los grupos: /usr/sbin/useradd -c Propietario de Software Oracle -g oinstall -G dba oracle Para cambiar el password del usuario, vamos a usar el siguiente comando passwd oracle Crear los Directorios Necesarios La ubicacin de directorios tanto de la instalacin como de los instaladores y de los datos depende del estndar de cada empresa o di se sigue el estndar de OFA, para esta instalacin utilizamos la siguiente: Creamos como root la siguiente estructura de directorios: mkdir /app/ mkdir /app/oracle mkdir /app/instaladores Cambiar el propietario de los directorio al usuario de oracle con: chown -R oracle:oinstall /app/instaladores chown -R oracle /app/oracle Como usuario oracle descomprimir los instaladores de Oracle en esa carpeta, si se descargaron los de GNU/Linux vienen divididos en 2 archivos comprimidos, el contenido de la carpeta (/database/stage) del segundo comprimido debe moverse dentro del contenido que se extrajo del primer archivo en la misma ruta (database/stage). Los instaladores se copian al disco duro por motivos de rendimiento cuando se instala el software.
10 / 51
Instalacin de Oracle en Linux
Configurando las variable de ambiente
Configurar las variables de ambiente para que estn disponibles para el usuario oracle se hace por medio del archivo .bash_profile que se encuentra en el carpeta home del usuario oracle normalmente /home/oracle. #ruta a la carpeta base en la que se va instala software de oracle ORACLE_BASE=/app/Oracle #carpeta de instalacin de los binarios de oracle ORACLE_HOME=/app/oracle/product/11gR2 #nombre de la instancia de Oracle ORACLE_SID=linprod #exportar como variables de entorno export ORACLE_HOME ORACLE_SID ORACLE_BASE #redefinir LD_LIBRARY_PATH agregndole las libreras de Oracle LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH #redefinir PATH agregndole la carpeta de binarios de Oracle PATH=$ORACLE_HOME/bin:$PATH export PATH #establecer carpeta temporal TMPDIR=/tmp TMP=/tmp export TMPDIR TMP
11 / 51
Instalacin de Oracle en Linux Ejemplo:
12 / 51
Instalacin de Oracle en Linux
Instalar el software de la base de datos
Antes de iniciar el instalador es necesario establecer el comando para que los usuarios puedan ejecutar aplicaciones grficas de X Server entonces abrir una terminal y abrir una sesin con el usuario root y ejecutar el comando: xhost + Antes de iniciar el instalador se requiere tener una resolucin mnima de 1024x768, por lo que se tiene que verificar este aspecto y ajustarlo si es necesario, puede que el cambio de resolucin requiera reiniciar el XServer.
13 / 51
Instalacin de Oracle en Linux
Para iniciar el instalador ejecutar el siguiente comando desde la carpeta del instalador: ./runInstaler
14 / 51
Instalacin de Oracle en Linux Al iniciar el instalador solicitara que se digite el email y su usuario de la cuenta de Oracle si se quiere y/o tiene una cuenta digitarla,(para este caso los dejamos en blanco)
Seleccionar el tipo de instalacin en este caso vamos a instalar solo el software posteriormente crearemos la instancia.
15 / 51
Instalacin de Oracle en Linux Seleccionamos la opcin de Instalacin de una instancia simple y le damos siguiente
16 / 51
Instalacin de Oracle en Linux Seleccionamos los lenguajes que va a tener el producto, por estndar es preferible dejar el lenguaje por defecto en ingls ya que mensajes y logs de errores es mucho ms fcil buscarlos en ese idioma; y seleccionar los dems idiomas como secundarios.
17 / 51
Instalacin de Oracle en Linux Seleccionar el Tipo de producto a instalar, est parte es crtica ya que el tipo de producto involucrar en costos y caractersticas disponibles dependiendo tambin del hardware de la mquina. Para el ejemplo utilizaremos Enterprise Edition y dar click en siguiente.
18 / 51
Instalacin de Oracle en Linux Seleccionar la ruta de instalacin La ruta estndar de instalacin es primero el dispositivo o nodo u01, u02; luego app y luego oracle; sin embargo como es una instalacin de prueba y no tenemos otros dispositivos de almacenamiento obviamos la parte del u01 de la siguiente forma /app/oracle como el Oracle Base (debe ser igual a la variable de ambiente relacionada) /app/oracle/product/11Gr2/ que es la ruta donde se instalar el software.
19 / 51
Instalacin de Oracle en Linux Para el Oracle Inventory lo dejamos en la ruta /app/oraInventory (/u01/app/oraInventory si en el paso anterior usamos u01).
20 / 51
Instalacin de Oracle en Linux Seleccionamos los privilegios al grupo dba del sistema operativo
21 / 51
Instalacin de Oracle en Linux Al llegar a este paso revisar que se cumplan todos los parmetros del kernel requeridos as como paquetes instalados, requisitos de hardware, permisos y otras configuraciones:
22 / 51
Instalacin de Oracle en Linux Tambin nos indica que parmetros puede el corregir por medio de la ejecucin de un script al dar clic en el botn Fix $ Check Again, le crear un script que el usuario debe correr como superusuario (root) en el sistema operativo para corregirlo
23 / 51
Instalacin de Oracle en Linux Como superusuario en una consola ejecutamos el script y cuando se haya ejecutado sin errores volvemos a la pantalla del instalador. Nota: pueden crearse varios script a ejecutar para corregir diversos problemas o configuraciones no establecidas.
Una vez que tenemos todos los requerimientos le damos siguiente. Nota: Por un bug en el instalador algunos requisitos como Physical Memory o Swap pueden mostrarse como no cumplidos auque si esten correctamente por lo que le damos en Igonre All y luego en siguiente:
24 / 51
Instalacin de Oracle en Linux
Al final nos muestra un resumen de la instalacin y damos clic en finish para proceder a instalarlo:
25 / 51
Instalacin de Oracle en Linux De igual manera si durante la instalacin requiere la ejecucin de algn script, nos indicar cuales son los script a ejecutar para despus proseguir con la instalacin.
Ejecutamos el script que nos indica oraInstRoot.sh y clic en OK del instalador:
26 / 51
Instalacin de Oracle en Linux Ejecutamos el segundo script root.sh y click en OK del instalador
Y Finalmente tendremos instalado el software de la base de datos Al final nos muestra una ventana informativa con la instalacin que acabamos de realizar. Despus de esta instalacin se requiere crear la o las instancias de la base de datos para ello ejecutamos la herramienta dbca (database configuration assistant).
27 / 51
Instalacin de Oracle en Linux
Crear instancia por medio del DBCA:
Para iniciar el instalador Database Configuration Assistant por medio de la consola ejecutamos el comando dbca:
28 / 51
Instalacin de Oracle en Linux Posteriormente seleccionamos Crear una base de datos y clic en siguiente
Seleccionamos el tipo de base de datos a utilizar, para el ejemplo de propsito General o Transaccional.
29 / 51
Instalacin de Oracle en Linux Digitamos el nombre de la instancia de la base de datos SID as como el global database name que generalmente se usa el nombre del SID ms el del dominio de la empresa u organizacin:
30 / 51
Instalacin de Oracle en Linux
En este paso seleccionamos si se desea configurar el Enterprise Manager con la instancia, el EM es la herramienta de consola adminsitriva web utilizada para configurar y manejar las bases de datos en el servidor. Para este paso requiere que el LISTENER de la base de datos se este ejecutando por lo que procedemos a hacerlo:
31 / 51
Instalacin de Oracle en Linux Primeramente verificamos el estadk con el siguiente comando lsnrctl STATUS
Si est Detenido procedemos a Iniciarlo con el comando lsnrctl START.
32 / 51
Instalacin de Oracle en Linux Seleccionamos los password de los usuarios por defecto
Especificamos la ruta donde se guardarn los datafiles de la base de datos, tambin nos permite especificar el ASM si tenemos disponible.
33 / 51
Instalacin de Oracle en Linux Seleccionamos la ruta donde se almacenara loa informacin del Flash Recovery Area, por su naturaleza se recomienda que este area sea en un dispositivo diferente a donde se encuentra el sistema gestor o los datos de la base de datos, tambin permite estableceer el uso de Archiving para la instancia.
34 / 51
Instalacin de Oracle en Linux En esta seccin podemos indicar los script a ejecutar posterior a la creacin de la base de datos, si tenemos informacin de catlagos o restauracin de base de datos por un script, etc.
35 / 51
Instalacin de Oracle en Linux Configurar la cantidad de memoria a utilizar para el SGA y PGA dentro del funcionamiento de la instancia segn las necesidad y caractersticas de hardware.
Otro aspecto importante es el del set de caracteres, se recomienda WE8MSWIN1552, as como la definicin de la localizacin.
36 / 51
Instalacin de Oracle en Linux En Connection Mode da la posibilidad de elegir si nuestro Server permitir conexiones compartidas (recursos entre mltiples usuario) o si trabajar con una conexin individual por cliente.
En Sizing permite definir el numero de procesos que permitir Oracle que se conecten como mximo, el tamao del bloque se configura dependiendo de la eleccin del tipo de base de datos para este caso Multipropsito o Transaccional:
37 / 51
Instalacin de Oracle en Linux En esta pantalla se pueden definir la configuracin de los archivos de configuracin, crear grupos de los Redo Log as como especificar multiplexacin entre otras caractersticas.
Al final seleccionamos crear la base de datos y clic en finish.
38 / 51
Instalacin de Oracle en Linux Nos muestra un resumen de lo que va a realizar y las configuraciones correspondientes que se eligieron
39 / 51
Instalacin de Oracle en Linux Se inicia el proceso de instalacin:
40 / 51
Instalacin de Oracle en Linux Al final muestra un informe de la instalacin:
41 / 51
Instalacin de Oracle en Linux
Configurar el Listener
Para crear o configurar el listener o se tiene alguna configuracin no correcta se puede acceder al Oracle Net Manager para realizar estas tareas: Que permite por ejemplo configurar diferentes listener y el puerto a utilizar por los mismos. El comando para ejecutarlo es netmgr
42 / 51
Instalacin de Oracle en Linux
Enterprise Manager:
Para levantar la consola administrativa (Enterprise Manager) se ejecuta el siguiente comando: emctl start dbconsole Para detenerla: emctl stop dbconsole
Reconfigurar el Enterprise Manager
Si por algn motivo el Enterprise manager no inicia dando un error de OC4J, el motivo es que no se ha configurado correctamente su conexin con la instancia o se perdi o se corrompi. La solucin es volver a configurarlo: Para volver a configurarlo se utiliza el comando: Desde la carpeta bin del Oracle Home cd $ORACLE_HOME/bin Ejecutamos el siguiente comando y seguir las instrucciones: ./emca -config dbcontrol db -repos create Lo cual creara el repositorio. Si queremos eliminar el actual y crear uno nuevo ejecutamos el siguiente comando y posteriormente el anterior: Desde la misma ruta ($ORACLE_HOME/bin) ejecutamos ./emca -deconfig dbcontrol db -repos drop
43 / 51
Instalacin de Oracle en Linux
Certificado de Seguridad en Enterprise Manager
Al entrar en la ruta que se configur para el EM el navegador muestra algn mensaje referente al certificado de seguridad, damos clic en Add Exception
Clic en Get Certificate:
44 / 51
Instalacin de Oracle en Linux Ahora si se puede entrar correctamente al EM
45 / 51
Instalacin de Oracle en Linux
Instalacin de la base de Datos y configurar la instancia:
Nota: Se puede ver la instalacin especificada anteriormente si se requiere algn detalle ms preciso sobre un paso similar. Al iniciar el instalador y llegar al paso dos: Seleccionamos la primera opcin Create and configure a database y dar clic en next.
46 / 51
Instalacin de Oracle en Linux Seleccionar la primera opcin par crear una instancia simple, la otra opcin es para cluster de base de datos:
Al llegar al paso 3 seleccionar la opcin que ms convenga de acuerdo a su objetivo, para este caso seleccionamos Desktop Class.
47 / 51
Instalacin de Oracle en Linux Seleccionar el Oracle base en este caso no se usa /u01 en las rutas el cual se usa generalmente, pero por motivos de que no se tienen otros dispositivos o nodos lo obviamos Aqu se define el Oracle base , la ruta de instalacin, donde se guardarn los data files, el set de caracteres, el grupo del sistema operativo y el password a utilizar.
Si se tiene algn problema se lo indica con un mensaje ejemplo un password muy dbil o que el espacio libre en disco no es suficiente:
48 / 51
Instalacin de Oracle en Linux En esta seccin nos especifica que estn correctas todas las variables, paquetes y requisitos, si existe algn problema de configuracin como las variables de ambiente, los parmetros del kernel entre otros, nos permite corregirlo mediante la ejecucin de scripts como superusuario. Nota: Es posible que por un error en el instalador muestre que la memoria y el swap fallan por lo que le seleccionamos ignore all y luego next.
49 / 51
Instalacin de Oracle en Linux Muestra el resumen de lo que va a realizar durante la instalacin segn lo seleccionado en el instalador
Al dar clic en Finish inicia la instalacin, si se tiene algn problema, mostrar una pantalla como la siguiente indicndolo, as mismo si requiere la ejecucin de un script lo solicitar por medio de una ventana indicando el script y que debe ejecutarlo como superusuario (root)
50 / 51
Instalacin de Oracle en Linux Bibliografa: Estndares de Configuracin para Servidor Oracle en Linux RHES 4.0 Ronald Vargas. Oracle 11g R2 sobre CentOS 64 http://ticframework.blogspot.com/2011/01/oracle-11g-r2-sobre-centos64.html Victor Adsuar Installing Oracle Database 11g R1 on Linux - (RHEL 5) http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_20.shtml Jeff Hunter Installing Oracle Software and Building the Database Tutorial Oracle Requisitos Para Instalar Oracle 11gR2 en Linux x86 para RHEL5 http://oracleenespanol.blogspot.com/2010/12/requerimientos-parainstalar-oracle.html Installing 11gR2 on Red Hat Linux 5 http://burzaco.wordpress.com/2010/07/08/installing-11gr2-on-red-hat- linux-5/ Juan Andres
51 / 51