Introducción
En esta entrada vamos a ver como instalar Oracle 11g R2 Enterprise Edition en un sistema Debian 7 Wheezy .
Para empezar, debemos descargar oracle desde la página oficial, en nuestro caso descargamos la versión «Oracle Dtabase 11g Release 2» para sistema «Linux x86-64».
Configuración
Mientras se realiza la descarga procedemos a configurar la máquina:
Modificamos el fichero «/etc/apt/sources.list» y dejamos los repositorios de esta forma:
deb http://ftp.es.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.es.debian.org/debian/ wheezy main contrib non-free
Actualizamos los repositorios e instalamos los siguientes paquetes:
root@debian-oracle:/home/usuario#apt-get update root@debian-oracle:/home/usuario# apt-get install gcc make binutils libmotif4 lesstif2 rpm libaio1 libdb5.1 libstdc++6 libstdc++5
Una vez termine la instalación, vamos a añadir 2 nuevos grupos al sistema para realizar la instalación:
root@debian-oracle:/home/usuario# addgroup --system oinstall Añadiendo el grupo `oinstall' (GID 123) ... Hecho. root@debian-oracle:/home/usuario# addgroup --system dba Añadiendo el grupo `dba' (GID 124) ... Hecho.
Creamos un nuevo usuario llamado «oracle» con el que realizaremos la instalación, debemos asignar una nueva contraseña:
root@debian-oracle:/home/usuario# useradd -r -g oinstall -G dba -m -s /bin/bash -d /opt/oracle oracleuario oracle. root@debian-oracle:/home/usuario# passwd oracle Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente
El siguiente paso será crear estos 3 directorios y asignar los permisos y propietario correspondientes para poder realizar la instalación correctamente:
root@debian-oracle:/home/usuario# mkdir -p /opt/app/oracle /opt/oradata /opt/oracle root@debian-oracle:/home/usuario# chown -R oracle:oinstall /opt/app /opt/oradata /opt/oracle root@debian-oracle:/home/usuario# chmod -R 775 /opt/oradata /opt/app /opt/oracle
Modificamos el fichero «/opt/oracle/.profile» para configurar el entorno de usuario oracle y añadimos las siguientes lineas:
umask 022 export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl unset TNS_ADMIN if [ -d "$ORACLE_HOME/bin" ]; then PATH="$ORACLE_HOME/bin:$PATH" fi
Este paso es muy importante ya que esto permitirá una instalación correcta de oracle, evitando fallos ya que oracle no tiene soporte para linux (Esto es sólo para la versión de 64bits). Crearemos el siguiente directorio y los enlaces simbólicos:
mkdir /usr/lib64 ln -s /etc /etc/rc.d ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/ ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/basename /bin/basename ln -s /usr/bin/rpm /bin/rpm ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 /lib64/
Una vez terminada la descarga de oracle movemos ambos archivos al directorio «/opt/oracle»:
root@debian-oracle:/home/usuario# mv linux.x64_11gR2_database_* /opt/oracle/
Descomprimimos ambos archivos:
root@debian-oracle:/opt/oracle# unzip -q linux.x64_11gR2_database_1of2.zip root@debian-oracle:/opt/oracle# unzip -q linux.x64_11gR2_database_2of2.zip
Volvemos a cambiar los permisos para evitar errores:
root@debian-oracle:/home/usuario# chown -R oracle:oinstall /opt/oracle root@debian-oracle:/home/usuario# chmod -R 775 /opt/oracle
Ahora cerramos sesión con el usuario actual e iniciamos sesión con el usuario creado para oracle.
Vamos al directorio «/opt/oracle/database» y ejecutamos el instalador:
oracle@debian-oracle:~$ cd /opt/oracle/database/ oracle@debian-oracle:~/database$ ./runInstaller
Comenzará la instalación y debemos ir seleccionando las siguientes opciones:
- Opción de Instalación: «Crear y configurar base de datos».
- Clase de Sistema: «Clase de Servidor».
- Selección de Nodos: «Instalación de base de datos en instancia única».
- Tipo de instalación: «Instalación avanzada».
- Selección Edición de Base de Datos : «Enterprise Edition»
- Ubicación de instalación: Directorio Base «/opt/app/oracle» y Ubicación del Software «/opt/app/oracle/product/11.2.0/dbhome_1
- Crear Inventario: «/opt/app/oraInventory» y como nombre del grupo oraIventory «oinstall»
- Seleccionar tipo de configuración: «Uso general…»
- Especificar identificadores de base de datos: «orcl»
- «Especificar opciones de configuración»: vamos a la espetaña «esquemas de ejemplo» y activamos la opción.
- Especificar Opciones de Gestión: Usar database control…
- Especificar Opciones de Almacenamiento de Base de Datos: «/opt/app/oracle/oradata»
- Especificar opciones de recuperación: No activar…
- Especificar contraseñas de esquema: Usar la misma contraseña para todas las cuentas.
- Grupos del sistema operativo con privilegios: «dba» y «oinstall»
- «Realizar comprobaciones de requisitos»: Aquí nos saldrán todas las comprobaciones como fallo ya que oracle no está soportado oficialmente, por lo que seleccionamos «Ignorar Todo»
- Damos en termimar y comenzará la instalación.
Durante la instalación obtendremos este error:
Para solucionarlo debemos modificar el fichero «/opt/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk» y añadir a lo siguiente «-lnnz11» al final de estas lineas:
$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL)
Debería quedar así:
$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11
Pulsamos reintentar y seguimos con la instalación.
Justo antes de terminar la instalación nos saldrá la siguiente ventana:
Nos pide que ejecutemos como root las siguientes ordenes:
/opt/app/oraInventory/orainstRoot.sh /opt/app/oracle/product/11.2.0/dbhome_1/root.sh
Ejecutamos las ordenes y aceptamos. La instalación habrá finalizado y podremos acceder a la consola de administración desde el navegador accediendo a la url que se nos proporciona al finalizar la instalación, en este caso «https://debian-oracle:1158/em» :
Para que la instancia arranque automáticamente en cada reinicio debemos modificar el fichero «/etc/oratab» y cambiar en la siguiente linea «N» por «Y»:
orcl:/opt/app/oracle/product/11.2.0/dbhome_1:Y
Ejecutamos el siguiente comando para iniciar el servicio desde consola:
/opt/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
Modificamos el fichero «/opt/app/oracle/product/11.2.0/dbhome_1/bin/emctl» para iniciar la consola de administración y sustituimos «#! /bin/sh -f» por «#! /bin/bash -f». Ahora podemos ejecutar lo siguiente para iniciar la consola:
oracle@debian-oracle:~$ emctl start dbconsole
Comprobamos que podemos acceder, tendremos que arrancar algunos servicios manualmente, nos pedirá identificarnos con el usuario oracle:
Comprobamos si podemos acceder a sqlplus:
Pues bien, hemos terminado la instalación de Oracle 11g R2 Enterprise Edition en un sistema Debian 7 Wheezy y todo funciona correctamente.
¡Un saludo!