instalación oracle en debian
TRANSCRIPT
Instalación de Oracle 11G Enterprise Edition sobre Debian Squeeze
Alejandro Ocaña Gualda
Febrero de 2012
Índice
1. Introducción....................................................................... 22. Preparación del Sistema..................................................... 23. Instalación de Oracle.......................................................... 64. Arranque y Parada de la Instancia................................... 215. Instalación de SQL Developer......................................... 226. Referencias....................................................................... 24
1. Introducción
En este documento vamos a tratar la instalación de Oracle 11G sobre un sistema Linux, concretamente Debian Squeeze. En mi caso realizaré la instalación en una máquina virtual limpia, es decir, recién instalada y con entorno gráfico, pero de realizarse en una máquina física, sería exactamente igual.
Tendremos que bajar la versión que corresponda de la página oficial de Sun, en mi caso, la versión que usaré sera la de 64bits.
2. Preparación del sistema
Antes de comenzar con la instalación, tendremos que realizar algunas acciones para que no se produzcan problemas durante la misma.
Lo primero que haremos será instalar los siguientes paquetes, en mi caso, muchos de ellos ya estaban instalados, pero por asegurar, mejor introducir el comando completo:
# aptget install alien binutils buildessential cpp4.4 debhelper g++4.4 gawk gcc4.4 gcc4.4base gettext html2text ia32libs ia32libsdev intltooldebian ksh lesstif2 libaiodev libaio1 libbeecrypt7 libc6 libc6dev libc6devi386 libdb4.8 libelfdev libelf1 libltdldev libltdl7 libodbcinstq1c2 libqt4core libqt4gui libsqlite30 libstdc++5 libstdc++6 libstdc++64.4dev lsb lsbcore lsbcxx lsbdesktop lsbgraphics lsbqt4 make odbcinst pax podebconf rpm rpmcommon sysstat unixodbc
Alejandro Ocaña Gualda 2 Febrero de 2012
unixodbcdev unzipUna vez terminada la instalación de los paquetes, vamos a crear los grupos y el
usuario que usaremos para la instalación:
Grupos:# addgroup system oinstall # addgroup system dba
Usuario:# useradd r g oinstall G dba m s /bin/bash d /opt/oracle oracle
Asignamos una contraseña al usuario:# passwd oracle
Tambien tenemos que configurar algunos parámetros del kernel, para ello editamos el archivo “/etc/sysctl.conf”
# nano /etc/sysctl.conf
Y añadimos las siguientes lineas al final del documento:
fs.aiomaxnr = 1048576 fs.filemax = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
Una vez modificado el archivo, recargamos el kernel para que coja los parámetros que hemos introducido.
# sysctl p
Alejandro Ocaña Gualda 3 Febrero de 2012
Establecemos límites de Sell para el usuario oracle, para ello tenemos que modificar el archivo “/etc/security/limits.conf”
# nano /etc/security/limits.conf
Y añadimos las siguientes líneas al final del documento:
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240
Editamos el archivo “/etc/pam.d/login” asegurándonos de que la siguiente línea existe y está descomentada:
session required pam_limits.so
Añadimos las siguientes líneas en el archivo “/etc/profile”
# nano /etc/profile
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/bash" ]; then ulimit p 16384 ulimit n 65536 else ulimit u 16384 n 65536 fifi
Vamos ahora a crear los directorios que vamos a usar para la instalación y a cambiar sus propietarios y permisos
Creamos los directorios# mkdir p /opt/app/oracle# mkdir p /opt/oradata
Alejandro Ocaña Gualda 4 Febrero de 2012
Cambiamos los propietarios# chown R oracle:oinstall /opt/app /opt/oradata
Cambiamos los permisos# chmod R 775 /opt/oradata /opt/app
Configuramos el entorno del usuario oracle, para ello editamos el siguiente archivo:# nano /opt/oracle/.profile
Añadiendo las siguientes líneas:umask 022export ORACLE_BASE=/opt/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclunset TNS_ADMINif [ d "$ORACLE_HOME/bin" ]; then PATH="$ORACLE_HOME/bin:$PATH"fi
Debian no tiene soporte oficial para Oracle, por lo que necesitaremos crear algunas carpetas y enlaces simbólicos para que la instalación se realice sin problemas. Algunos de estos enlaces, ya aparecen, por lo menos en mi caso, pero para asegurarnos, ejecutamos todas las ordenes igualmente, ya que encaso de existir el enlace, nos dirá que ya existe.
# mkdir /usr/lib64
# ln s /etc /etc/rc.d
# ln s /lib/x86_64linuxgnu/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_64linuxgnu/libc_nonshared.a /usr/lib64/
# ln s /usr/lib/x86_64linuxgnu/libpthread_nonshared.a /usr/lib64/
# ln s /usr/lib/x86_64linuxgnu/libstdc++.so.6 /lib64/
Alejandro Ocaña Gualda 5 Febrero de 2012
# ln s /usr/lib/x86_64linuxgnu/libstdc++.so.6 /usr/lib64/
# ln s /usr/lib/x86_64linuxgnu/libstdc++.so.6.0.16 /lib64/libstdc++.so.6
# ln s /usr/lib/x86_64linuxgnu/libstdc++.so.6.0.16 /usr/lib64/libstdc++.so.6
Copiamos el instalador que nos descargamos de la página oficial al directorio “/opt” y los descomprimimos con unzip
# cp linux.x64_11gR2_database_1of2.zip /opt/oracle# cp linux.x64_11gR2_database_2of2.zip /opt/oracle# cd /opt/oracle# unzip q linux.x64_11gR2_database_1of2.zip# unzip q linux.x64_11gR2_database_2of2.zip
En caso de haber hecho todos estos pasos conectados por ssh, como es mi caso, ahora tenemos que iniciar sesión en modo gráfico con el usuario oracle.
Abrimos el terminal, el normal, no de superusuario, y entramos en la carpeta “/opt/oracle/database” y ejecutamos el instalador:
# cd /opt/oracle/database# ./runInstaller
3. Instalación de Oracle
La instalación es si no exactamente, casi exactamente igual que en windows, con la unica diferencia de la ruta donde se van a instalar los archivos.
Al ser práticamente igual, en algunos pasos, elegiré una configuración que no será la óptima ya que es una instalación de ejemplo, para demostrar que Oracle puede funcionar perfectamente sobre Debian.
Alejandro Ocaña Gualda 6 Febrero de 2012
1º “Configurar Actualizaciones de Seguridad” me lo salto, no las configuro.
2º “Seleccionar Opción de Instalación”, seleccionamos la primera opción.
Alejandro Ocaña Gualda 7 Febrero de 2012
3º “Clase de Sistema”, seleccionamos la opción “Clase de Servidor”
4º “Selección de Nodos”, seleccionamos la 1ª opción
Alejandro Ocaña Gualda 8 Febrero de 2012
5º “Seleccionar Tipo de Instalación”, seleccionamos “Instalación Avanzada”
6º “Seleccionar Idiomas del Producto”, Seleccionamos los idiomas que queramos o necesitemos.
Alejandro Ocaña Gualda 9 Febrero de 2012
7º “Seleccionar Edición de Base de Datos”, seleccionamos la opción “Ecterprise Edition”
8º “Especificar Ubicación de Instalación”:Directorio Base de Oracle: /opt/app/oracleUbicación del Software: /opt/app/oracle/product/11.2.0/dbhome_1
Alejandro Ocaña Gualda 10 Febrero de 2012
9º “Crear Inventario”Directorio de inventario: /opt/app/oraInventoryNombre del grupo oraInventory: oinstall
10º “Seleccionar Tipo de Configuración”, seleccionamos “Uso General/...”
Alejandro Ocaña Gualda 11 Febrero de 2012
11º “Especificar Identificadores de Base de Datos”, en ambos campos “orcl”
12º “Especificar Opciones de Configuración”, lo deje tal cual estaba.
Alejandro Ocaña Gualda 12 Febrero de 2012
13º “Especificar Opciones de Gestión”, seleccioné la opción “Usar Database Control...”
14º “Especificar Opciones de Almacenamiento de Base de Datos”, seleccionamos la “Sistema de Archivos” y en el campo “Especificar Ubicación...” ponemos “/opt/app/oracle/oradata”
Alejandro Ocaña Gualda 13 Febrero de 2012
15º “Especificar Opciones de Recuperación”, seleccionamos “No activar Copias de Seguridad Automáticas”
16º “Especificar Contraseñas de Esquema” seleccioné la opción “Usar la misma contraseña...” si queremos ganar en seguridad, deberíamos elegir la primera opción.
Alejandro Ocaña Gualda 14 Febrero de 2012
17º “Grupos del Sistema Operativo con Privilegios”Grupo de Adminitración de Base de Datos: dbaGrupo de Operador de Base de Datos: oinstall
18º “Realizar Comprobaciones de Requisitos”, todas las comprobaciones saldrán como FALLO, ya que como dije antes, Oracle no esta soportado oficialmente en Debian, seleccionamos la casilla “Ignorar Todo”
Alejandro Ocaña Gualda 15 Febrero de 2012
19º “Resumen”, no tiene nada, solo es un resumen de la configuración
20º “Instalar Producto”, no es mas que el proceso de instalación.
Alejandro Ocaña Gualda 16 Febrero de 2012
Una vez terminada la instalación, nos dará la opción de cambiar las contraseñas de los usuarios, la opción más segura, sería cambiarlas, pero como es una instalación de prueba, no las cambié.
Alejandro Ocaña Gualda 17 Febrero de 2012
Nos saldrá una nueva ventana, en la que nos pide que ejecutemos dos comandos como usuario root.
Abrimos el terminal (root) y ejecutamos las dos ordenes# /opt/app/oraInventory/orainstRoot.sh# /opt/app/oracle/product/11.2.0/dbhome_1/root.sh
Alejandro Ocaña Gualda 18 Febrero de 2012
21º “Terminar” por último, nos muestra un mensaje de que la instalación ha sido correcta y nos muestra la url por la que podemos acceder al Oracle Enterprise Manager
Si abrimos el navegador y entramos en la dirección que se nos facilitó, veremos Oracel EM
Alejandro Ocaña Gualda 19 Febrero de 2012
Para conectarnos a la base de datos por línea de comandos, usaremo la siguiente orden:
# sqlplusIntroducimos el usuarioIntroducimos la contraseña
Alejandro Ocaña Gualda 20 Febrero de 2012
Es posible, que salga un mensaje de error, diciendo que el comando sqlplus no se reconoce, esto se debe a que desde que modificamos la variable de entorno, no hemos reiniciado la máquina, por lo que aún no reconoce los comando de oracle, para solucionarlo, modificamos el PATH de la siguiente forma:
# PATH="$ORACLE_HOME/bin:$PATH"
4. Arranque y Parada de la Instancia
Si reiniciamos la máquina, la instancia estará bajada por defecto, para levantarla tenemos que modificar el archivo “/etc/oratab”
# nano /etc/oratab
en la línea orcl:/opt/app/oracle/product/11.2.0/dbhome_1:N
sustituimos la N por un Y, quedando asíorcl:/opt/app/oracle/product/11.2.0/dbhome_1:Y
Una vez hecho esto, podemos iniciar la instancia con la siguiente orden:# /opt/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
Y podemos pararla con esta otra:# /opt/app/oracle/product/11.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
Si lo deseamos, también podemos crear un script y hacer que se inicie al iniciar la máquina, pero al instalarlo en una máquina que no funciona como servidor, prefiero levantarla cuando lo quiera usar, ganando así rapidez en el inicio de la máquina.
Alejandro Ocaña Gualda 21 Febrero de 2012
5. Instalación de SQLDeveloper
Descargamos el paquete para Linux de SQL Developer de la pagina oficial de Oracle.
Instalamos JDK de java, para ello tenemos que añadir los repositorios contrib y non-free. Una vez añadidos, hacemos un update e instalamos el JDK# aptitude install sunjava6jdk
Movemos el paquete de instalacion de SQL Developer a /opt# mv sqldeveloper3.0.04.341.noarch.rpm /opt
Lo instalamos # cd /opt# alien d sqldeveloper3.0.04.341.noarch.rpm# dpkg i sqldeveloper_3.0.04.342_all.deb# cd sqldeveloper/sqldeveloper/bin# nano sqldeveloper.confSetJavaHome /usr/lib/jvm/java6sun1.6.0.26/
Para poder iniciar SQLDEVELOPER, tenemos que añadirlo al PATH:#PATH=”/opt/sqldeveloper/sqldeveloper/bin:$ORACLE_HOME/bin:$PATH”
Para evitar que al cerrar sesion el PATH se restablezca, modificamos lo siguente:# nano /opt/oracle/.profile
Dejándolo de esta formaumask 022export ORACLE_BASE=/opt/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclunset TNS_ADMINif [ d "$ORACLE_HOME/bin" ]; then PATH="/opt/sqldeveloper/sqldeveloper/bin:ORACLE_HOME/bin:$PATH"fi
Alejandro Ocaña Gualda 22 Febrero de 2012
Para ejecutar SQL Developer, usamos la orden:# sqldeveloper &
Ya solo quedaría configurar la conexión:
Alejandro Ocaña Gualda 23 Febrero de 2012
En esta última imagen ya se puede ver SQL Developer configurado y funcionando.
6. Referencias
http://edin.no-ip.com/comment/214
Alejandro Ocaña Gualda 24 Febrero de 2012