Guia de Instalación Oracle 11gR2 con ASM en VirtualBox

He escrito una pequeña guia de instalación de Oracle 11gR2 con ASM (Oracle Restart /Grid Infraestructure) y Virtualbox 4.04 que se encuentra en este enlace:

http://www.fjandrade.com/Download/Instalacion_Oracle11g_ASM_OUL.pdf

Como fue escrito para la Comunidad Oracle Hispana existen dos foros abiertos con preguntas, si tienen alguna duda puede que ya este respondida allí.

http://comunidadoraclehispana.ning.com/forum/topics/instalando-oracle-virtual-box

http://comunidadoraclehispana.ning.com/forum/topics/instalando-oracle-database-11g

El tutorial requiere unos retoques, espero trabajar en ello pronto.

Saludos y espero que sea de ayuda.

ApEx, OracleXe en Servidor Dedicado ( Desarrollo Oracle Económico?)

Versión — 0001

apex_logo

Estaba buscando una forma económica de desarrollar con Oracle, probé con Amazon Web Services (AWS) pero salía la cuenta muy alta ( alrededor de 100 USD mes ).  Ahora encontré un servidor dedicado por 20 EUR al mes ( económico ) en la gama baja de ovh.es, completamos el cuadro con Oracle XE y Apex.

Limitaciones: La base de datos XE está limitada a un procesador y 4GB que es más que suficiente para una aplicación orientada a una PYME. El servidor de entrada de ovh.es es un Celeron con 1GB en RAM, nuevamente suficiente para una PYME.

Resumen: Contratamos un servidor en Kemsirve con Ubuntu ( gama baja de ovh.es ),  instalamos Oracle XE para Ubuntu( Base de datos ), y luego instalamos Oracle ApEx ( Entorno RAD para Oracle ).

Tutorial:

Después de contratar un servidor en Kemsirve, llegará un mail con instrucciones para conectarse como root al servidor contratado. Para conectarse al servidor se puede utilizar putty si se está en windows o ssh directamente si se está en un servidor linux. Una vez conectado como root es bueno configurar unas pocas reglas de iptables ya que el servidor Ubunto no tendrá un muro de fuego por defecto, especialmente para no exponer la base de datos directamente al internet ( muy mala idea ).

iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 8080 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I INPUT 5 -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7
iptables -A INPUT -i eth0 -j DROP

Las anteriores son reglas que permiten el acceso a los puertos 22,80 y 8080 (ssh, 80 y 8080) , a hacer ping y bloquean todo el resto del tráfico.

Una vez que esto está listo se puede instalar Oracle XE, como root editamos el archivo /etc/apt/sources.list ( se puede usar el comando nano si no se sabe usar en vi ) y agregamos esto al final:

Esto incluye el repositorio de Oracle en la lista de aquellos que se puede utilizar para instalar paquetes. Luego instalamos el Oracle XE con los siguientes comandos como root ( el servidor de Kemsirve usar root, si es un Ubuntu se puede usar el comando sudo).

#>wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add -
#>apt-get update
#>apt-get install oracle-xe

Después de unos minutos está instalado el software pero no tenemos la base todavia, para  instalar y configurar la base como root ponermos el comando:

#>/etc/init.d/oracle-xe configure

Durante el procesos de configuración se nos solicitará la clave para los usuarios administradores de la base SYS y SYSTEM ( recordarla! ), luego nos preguntará si queremos iniciar el servicio de la base de datos y listener cuando el servidor se arranque. El proceso crear la una base de datos, configura el listener y establece los archivos de necesarios para iniciar los servicios ( ya se que no hay servicios en los debian!).

Oracle XE ya viene con una versión de ApEx pero es una versión anterior para actualizarla debemos descargarla de la red de tecnología de oracle (otn.oracle.com)  y tener una cuenta activa, el registro es gratuito pero es un paso indispensable para continuar. Una vez que se tenga la cuenta podemos proceder con la descarga desde el servidor utilizando lynx ( recurso obtenido de la página web del Pythian Group ), asi como oracle:

#>su – oracle – para pasar a ser el usuario oracle
oracle> cd   — para regresar al home de oracle
~oracle> rm .lynx_cookies — en caso de existir este archivo
~oracle> vi  lynx.cfg –se puede utilizar nano

Añadimos las siguiente líneas archivo al editarlo

SET_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
COOKIE_FILE:~/.lynx_cookies
INCLUDE:/etc/lynx.cfg

Luego llamamos a lynx ( navegador web en consola (que locura!)).

~oracle> lynx -cfg=./lynx.cfg http://download.oracle.com/otn/java/appexpress/apex_3.1.2.zip

Se nos presentará una pantalla para introducir el usuario y contraseña de la red tecnológica de oracle, luego aplastamos botón derecho o intro para descargar el archivo en el mismo directorio en el cual llamamos a la aplicación. Tomá unos pocos minutos es una descarga de alrededor de 90MB.

El instalador de Oracle para debian y todos sus primos está bien, sin embargo no declara las variables de entorno para poder usar la base de datos XE, es por ello que creamos  como oracle ( ojo seguimos como oracle ) el archivo .bash_profile.

~oracle> vi .bash profile– en caso de existir este archivo

Agregamos estas líneas:

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH

Luego cargamos estas variables de entorno que nos permitirán usar el software de la base de datos.

~oracle> . .bash_profile 
–para cargar el perfil en la sesión actual, no necesario si se realizan otras conexiones.
~oracle> env | grep ORACLE 
–para valirdar que el ORACLE_HOME y ORACLE_SID esten presentes

~oracle> env | grep PATH
–para valirdar que el PATH apunte a ORACLE_HOME/bin

Una vez establecidas estas variables se debe descomprimir el software que descargamos en algún lugar, yo lo pongo junto a los binarios de la base:

~oracle> cd    –para regresar al home de oracle
>>oracle>mv apex_3.1.2.zip ./app/oracle/product/
>>oracle>cd app/oracle/product/
>>oracle>unzip apex_3.1.2.zip

esto crea un directorio que se llama “apex”.

>>oracle>cd apex
>>oracle>sqplus sys@xe as sysdba – para ingresar a la base como sys
—> ingresamos el password
SQL> @apexins SYSAUX SYSAUX TEMP /i/ –este comando instala apex

Después de unos 30 minutos el proceso debe terminar sin errores, inmediatamente sale al sistema para debemos configurar todavia la cuenta de administrador y el puerto del ApEx, para ello como oracle:

~oracle>sqplus sys@xe as sysdba
– para ingresar a la base como sys
SQL>@apxchpwd
– para cambiar la password del usuario “admin” de apex
SQL>@apex_epg_config  /usr/lib/oracle/xe/app/oracle/product
– para configurar el plsql gateway (la web)
SQL>ALTER USER ANONYMOUS ACCOUNT UNLOCK;
–desbloquea el usuario anónimo (para la web)

SQL>@apxldimg.sql /usr/lib/oracle/xe/app/oracle/product
–para actualizar la imágenes de ApEx
SQL> SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
–para validar en que puerto está configurado el gateway ( tiene que ser 8080)
.
SQL>EXEC DBMS_XDB.SETHTTPPORT(8080);
–para establecer el puerto (en caso de que no sea correcto).

Todos estos pasos se encuentran en la guía de instalación de Oracle ApEx aunque un poco más dispersos. Para ingresar a apex ponemos la dirección del servidor http://miservidor:8080/apex , para ingresar a la consola de administraciónhttp://miservidor:8080/apex/apex_admin.

Ahora bien con esto termino la versión 00001 de esta guía, para poder realizar una aplicación se ingresa a la consola con administrador se crea un workspace de desarrrollo se hace logout y se ingresa con el usuario de desarrollo y el nombre del workspace ( hoy ya me cansé pongo pantallas de eso luego).

Como podrá intuir cualquier paranoico ( yo soy uno ) esta configuración no es extremadamente segura ( depende de que tan seguro sea el oracle ), se puede utilizar un servidor web para redireccionar la información de ApEx eso también espero descubrir como.

Finalmente el producto no está completo sin poder generar PDFs para descargar documentos imprimibles, sé que eso se puede realizar redireccionando datos a un Tomcat y utilizando unas cuantos servlets, ya que la solución de Oracle para ello es de pago, eso también espero adjuntarlo a este tutorial.

Espero que sea de utilidad.

Slds

FJA

Simulando discos ASM

Para probar las nuevas características de la versión 11g necesito unos discos ASM, para simularlos la forma más sencilla es usar el comando dd de Linux para crear archivos que simulen discos o particiones limpias, luego enlazarlos a dispositivos loop. Ésta es una configuración de pruebas y no debe ser nunca puesta en producción, me voy a basar en un artículo de

Como root creamos un directorio y  4 archivos de 200MB que utilizaremos como discos.

mkdir /asmdisk
dd if=/dev/zero of=/asmdisk/disk1 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk2 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk3 bs=1024k count=200
dd if=/dev/zero of=/asmdisk/disk4 bs=1024k count=200
ls -lah /asmdisk/

Atención con la k después de 1024 caso contrario los discos sería de 200KB y no de 200MB. Después enlazamos los discos a dispositivos de loopback.

/sbin/losetup /dev/loop1 /asmdisk/disk1
/sbin/losetup /dev/loop2 /asmdisk/disk2
/sbin/losetup /dev/loop3 /asmdisk/disk3
/sbin/losetup /dev/loop4 /asmdisk/disk4

Llegado a este punto se puede o bien instalar ASMLib para gestionar los “discos”, o bien enlazar los archivos a dispositivos RAW. Además si se tiene problemas y se requieren aún más dispositivos pueden utilizar este tutorial de la base de conocimientos de Red Hat para superar el límite de dispositivos loopback.  Voy a probar con RAW aunque está desfazado y no debe ser usando en producción, lo correcto es instalar ASMLib para gestionar los discos ( si no me creen pongan man raw en un Linux); Además se dice (aunque no he encontrado pruebas de rendimient) que ASMLib es más rápido para configuraciones ASM que RAW. Relizamos como root:

raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
raw /dev/raw/raw3 /dev/loop3
raw /dev/raw/raw4 /dev/loop4

Debemos cambiar los permisos, como root:

chown oracle:oinstall /asmdisk/disk*
chown oracle:oinstall /dev/raw/raw*

Se deben poner todos los comandos de creación antes utilizados de los dispositivos además del cambio de permisos en /etc/rc.local si se piensa reiniciar el servidor para no perder la configuracion.

Estamos listos, es hora de configurar la instancia ASM. Lo más sencillo es lanzar el dbca y hacer que el asistente configure la instancia. como el usuario dueño del software de  Oracle:

dbca
Se inicia la applicacion java, escogemos la opción ->  Configure Automatic Storage Management
Se nos pide ejecutar como root: $ORACLE_HOME/bin/localconfig add para configurar los CSS. (lo hacemos)
Nos piden asignar la clave del usuario SYS.

Finalmente creamos un nuevo disco con dos de los dispositivos existentes, se nos presentan los dispositivos raw disponibles como se aprecia en la gráfica.

Asignamos un nombre al Disk Group (yo le he puesto prueba1), le damos redundancia normal y asignamos dos o mas dispositivos RAW disponibles.

Para validar su uso podemos crear un  tablespace en el nuevo disco ASM, como un usario administrador en sqlplus:

SQL> create tablespace tbsp1 datafile ‘+PRUEBA1′ size 100M;
Tablespace created.

Creamos un usuario, le damos permisos y creamos una tabla relativamente grande (en proporción al tablespace) en nuestro tablespace sobre ASM. Como un usuario administrador en sqlplus:

SQL> create user dbup1 identified by dbpu1 default tablespace tbsp1 temporary tablespace temp;
User created.
SQL> grant resource, connect to dbup1;
Grant succeeded.
SQL> create table dbup1.cust as select * from sh.customers;
Table created.

Y estamos listos, tenemos un tablespace montado en un diskgroup ASM con dos discos utilizados en redundacia normal y dos mas como candidatos. Con esta configuración ya podemos jugar con ASM, si se quiere pasar de RAW a ASMLib existe información en este artículo en ORACLE-BASE de Tim Hall además existe una referencia a los comandos de ASM en el mismo sitio. Este es un paso previo a probar nuevas características de ASM en 11g de lo que espero escribir en breve.

Como ejercicio se podría intentar agregar un disco, remover un disco, cambiar los permisos de un disco para que ASM no lo pueda ver y mirar que sucede con el diskgroup, etc.

Saludos… FJA

Repetir comandos de SQLPLUS y RMAN en Linux

¿Cansado de crear archivos para probar comandos de rman o sqlplus? ¿ Buscas una forma de  poder repetir los comandos de rman o sqlplus en Linux (*NIX)?. Veo en el blog de Lutz Hartmann como utilizar un programa llamado rwrap para invocar  a sqlplus/rman y solucionar este problema. Este pequeño programa incluye las opciones de repetir comandos en estas dos interfaces  (realmente los ejecuta dentro de un embalaje virtual que recuerda los comandos previamente ingresados).

Al parecer es un poco inestable y comandos como spool o el host no funcionan del todo bien, por lo que al realizar el alias en Linux es conveniente establecer otros nombres que no sean: rman o sqlplus . ( alias sqlplusw=’rpwrap sqlplus’ , alias rmanw=’rpwrap rman’)

He encontrado más referencias sobre esta solución en ésta otra web  con una variante que permite crear un diccionario de palabras a completar,  con esta base se puede hacer que rman/sqlplus reemplacen o completen  términos como oracle_home o oracle_base . Bastante útil para sacarse la frustración de encima.

ApEx en la nube de Amazon (APEX+EC2+S3)

apexlogoBueno me quede con la idea de montar un APEX en el internet y hoy por fin lo probé. Contraté una cuenta de Amazon Web Services, en toda esa lista de productos de AWS los que interesan para este proyecto son el EC2 ( Elastic cloud) o la nube y los servicios de almacenamiento S3 (Simple Storage Services ). Una vez que tienes las claves de acceso puedes leer este documento que explica como iniciar/parar/crear una máquina virtual en el EC2, a nivel local (en la máquina de casa) se emplea un API de gestión que utiliza java 5 y las llaves de acceso que te da Amazon.

El primer punto interesante es que uno no tiene que hacer mucho esfuerzo para crear una máquina virtua en la nube, existen máquinas virtuales listas con Fedora Core y Ubuntu. Yo escogí una maquina virtual pública que tiene Ubuntu 7.10 , en base a esta cree la imagen privada siguiendo el documento de Amazon y estuvo lista en pocos minutos.

Una vez arriba acceder a la máquina virtual desde un windows es ligeramente complicado porque uno tiene que configurar el Putty, desde Linux no es ningún problema. Una vez dentro de la maquina virtual añadiendo el repositorio de Oracle instalar una base de datos XE es tan fácil como hacer ‘apt-get install oracle-xe’. El proceso de instalación se queja de que no tiene swap pero la memoría de la máquina virtual es más que suficiente para una XE (1.7GB) y no presenta problemas después.

Una vez con la base de datos XE arriba podemos con wget obtener el software de ApEx 3.1, este paso tiene un truco. Se realiza con el comando:

wget –cookies=yes –http-user=<usuario_otn> –http-passwd=<password_otn> http://download.oracle.com/otn/java/appexpress/apex_3.1.zip

Este comando la primera vez hace la descarga de un link del jsp de autorización, pero la segunda vez que lo ejecutas ya descarga el programa porque deja guardadas las contraseñas en el cookie.

Se puede tambien con scp inyectar el archivo zip del APEX desde el ordenador de casa pero yo tengo el problema de que mi velocidad de subida va bajando paulatinamente (gracias Orange por eso me cambio de proveedor!) . Al final tomaba como 45 minutos subir el archivo, con wget lo hice en menos de 5 minutos desde la máquina virtual.

Bueno una vez que se tiene el archivo se lo extrae (unzip) y se instala utilzando sqlplus. El problema que tenemos con este paso es que las variables de entorno no estan creadas para la instalación. El paquete oracle-xe instala un usuario oracle pero no deja configurado el entorno. Puedes crear un archivo .bash_profile en el home del usuario oracle (su – oracle) que contenga esto:

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH

Se puede cargar este archivo con el comando ‘. .bash_profile’ y probar que esten establecidas en el entorno con ‘env | grep ORACLE’ . Una vez que las variables están establecidas ya puedes seguir la guia de instalación de APEX sin problemas.

Una vez terminada la instalación de APEX no hay que olvidar actualizar las images, ya que nuestra instalaciónde APEX es un actualización de la versión 3.0 (Oracle XE viene con APEX), si no se ejecuta este comando las imagenes no se presentan.

SQL> @apxldimg /usr/lib/oracle/xe/app/oracle/product/10.2.0/

Finalmente es necesario abrir el puerto 8080 que utiliza APEX en las maquinas virtuales de la nube, el comando ‘ec2-authorize default -p 8080′ del API de Amazon hace lo suyo.

Saludos. FJA

¿Hosting de APEX? y ¿Por qué no virtualización?

apex logoBueno primero ¿Qué es APEX?, si alguien conoció HTMLDB es simplemente la evolución de ese producto, para alguien nuevo en Oracle es un entorno RAD (Desarrollo de Applicaciones Rápido) orientado a la web y que funciona sobre una base de datos Oracle (10 o superior).

Oracle Application Express o APEX es un producto interesante para cualquier persona que tenga conocimientos de PL/SQL y BD Oracle ya que brinda un entorno para realizar applicaciones orientadas a formularios y reportes muy rápidamente con una curva de aprendizaje muy corta.

Justamente necesito hacer una aplicación con estas características:

  • Un solo formulario
  • Sistema de reportes básico, probablemente ordenamientos a demanda.
  • Impresión de reportes.

El problema que tengo con APEX está en que todos los hostings que encuentro a un precio interesante (no mas de 30 USD al mes) no incorporan una base de datos Oracle, ni tan si quiera la version Express, o si te ofrecen un hosting con APEX te dan un espacio en disco de risa.
Ahora bien, mi hermano que es un experto escudriñando la red me envió la dirección de un sitio en el que te dan un servidor virtual en el que puedes instalar un ubuntu (xubuntu?) a un buen precio, si esto es verdad puedo por alrededor de 30 USD al mes o menos tener una base de datos Oracle XE con APEX en un servidor virtual con 512 MB de RAM y disco suficiente para una aplicacion con unos pocos usuarios.

Si lo piensas bien una vez que se tiene Ubunto basta con agregar el repositorio de Oracle para Debian y instalar la base de datos XE con el apt-get, luego se instala con el APEX 3.1. con el script de instalación. Es una buena opción a probar.

Licenciamiento de OEM 10g (o algo que no uso y debería)

La semana anterior estuve dando un curso de Grid Control Oracle Enterprise Manager 10g. Uno de mis alumnos trabajaba en consultoria-ventas (Saludos Juan Carlos). Le hice unas cuantas preguntas sobre licenciamiento y me sorprende la información que me da:

  • OEM 10g no existe en la lista de precios como producto, al licenciar la base uno tiene acceso a instalar Grid Control.
  • El licenciamiento se da a nivel de producto por management packs para la base de datos y con packs de afinamiento/gestión para el servidor de aplicaciones.
  • OEM Grid Control tiene opciones licenciables (aunque no tengo mucha idea de como ) que son el gestor de servicio, el gestor de provisionamiento (provisioning en inglés) y el gestor de configuración.
  • Los plugins de grid control para gestionar productos no Oracle ( Bases de Datos SQL-Server, DB2, Websphere, etc, etc) tienen un coste extra.

En conclusión Grid Control es una herramienta a la cual se tiene acceso pero no he visto muchas intalaciones del mismo, se puede pero no se utiliza. Tener todas las bases de datos, servidores de aplicaciones, alertas y la capacidad de gestionar tareas desde un punto centralizado me parece una característica muy importante cuando se tienen muchas bases o un RAC.

Me queda la duda del licenciamiento cuando se tiene un esquema de alta disponibilida de grid control. Ya tendremos alguna otra oportunidad de preguntar al respecto.

Instalar Oracle 10gR2 en OUL4 (Red Hat AS4) sobre Vmware Server (windowsXP)

Esta es una guía para instalar la distribución de Linux de Oracle (Oracle Unbreakable Linux 4) sobre VMware (Windows XP). Esta instalación esta pensada con fines didácticos y no esta soportada por Oracle, no me hago responsable de cualquier daño que se pueda producir por seguir esta guía

El primer paso es obtener el software, se lo puede encontrar en los siguientes enlaces. Necesitamos :

Instalamos VMware server sobre Linux aceptando todas las opciones por defecto. Es conveniente validar que la instalación de las interfaces virtuales de red sea correcta. Dentro de “Conexiones de Red” tenemos que tener dos interfaces de red de VMware Net1 y Net8.

Se crea una máquina virtual típica. En el tipo de sistema operativo escogemos Linux y después Red Hat Enterprise Linux 4, este paso es importante ya que si no lo hacemos la instalación no detecta el disco duro virtual.

 

En el tipo de red podemos escoger NAT o Bridged dependiendo de lo que se requiera, en la primera opción la red de Linux estará enmascarada dentro de la máquina real y en la segunda opción el Linux tendrá acceso a la misma red que la máquina real ( usar NAT para seguir este documento). Finalmente asignamos un disco SCSI de 16GB (mínimo) a la máquina virtual, el proceso de creación del disco toma su tiempo.

Modificamos la máquina virtual creada para que tenga 1G de ram (1024MB) y todos los discos del OUL (*.iso) enlazados a CDROMs. La imagen del primer disco debe estar en IDE y las otras tres en SCSI. También se pueden poner todos en IDE, en ese caso es bueno que el primer dispositivo del primer bus IDE esté enlazado con el primer disco. Al final tendremos una configuración como la siguiente:

VMachine OUL4

Al iniciar la máquina virtual debe aparecer una pantalla de instalación de Enterprise Linux, aplastamos intro. Luego se nos presenta la opción de realizar una validación de los CDs cambiamos de opción y ponemos SKIP.

Para pasar de la máquina virtual a la real usamos CTR+ESC

Se iniciará el instalador gráfico, escogemos practicamente todas las opciones por defecto menos el nombre del host y los paquetes a instalar:

  • El idioma general de la instalación y del entorno (Spanish) <Siguiente>.
  • La disposición del teclado (Spanish/Español Tradicional) <Siguiente> .
  • Particionamiento Automático <Siguiente> (mensaje de advertencia) <SI>.
  • Eliminar todas las particiones del sistemas <Siguiente> (mensaje de advertencia) <SI>.
  • Se nos muestra la distribución del particionamiento <Siguiente>.
  • Se nos muestra la configuración del programa de arranque <Siguiente>.
  • Llegamos a la pantalla de configuración de red, marcamos “manualmente”, y le asignamos un nombre el host (EJ:oul1.oraclelab.net) <Siguiente>.
  • En el siguiente menú desactivamos el cortafuegos (muro de fuego) “ningun cortafuegos” y luego bajamos el nivel de seguridad de SELinux a “Advertencia”<Siguiente>, (mensaje de advertencia) <Proceder>.
  • En la configuración de lenguajes agregamos English/US ( si queremos configurar el idioma en inglés depués de la instalación) <Siguiente>.
  • Contraseña de root. Ponemos dos veces una contraseña que procurarémos no olvidar <Siguiente>.
  • En la selección de paquetes a instalar escogemos “Personalizar los paquetes a instalar” <Siguiente>, añadimos a la instalación: Editores, Intenet gráfica, Herramientas de desarrollo, Desarrollo de software para X, Desarrollo de software para GNOME, Desarrollo de Software para KDE, Desarrollo de Software Legado, finalmente Herramientas del Sistema. No se requieren todos los paquetes de desarrollo pero esto limita los paquetes indivuduales que será necesario instalar posteriormente.<Siguiente>.
  • Un mensaje final previo a la instalación <Siguiente>, mensaje de advertencia sobre la disponibilidad de todos los discos de instalación <Aceptar>.

Al final del proceso tenemos instalada la distribución de OUL4, se nos pide un reinicio. Aceptar todas las características por defecto del asistente de primer inicio. No intentar cambiar el tamaño de la pantalla esto se hace con herramientas propias de VMware. Si se desea se puede crear un usuario durante esta fase aunque no lo vamos a utilizar. Aplastar <Siguiente> en todas las preguntas.

 

Ingresar con el usario root ( el password lo asignamos en la instalación). Aplastar el botón derecho sobre el papel tapiz y seleccionar “Abrir un terminal”. En ese terminal escribimos los siguientes comandos:

 

  • groupadd oinstall <intro>
  • groupadd dba <intro>
  • groupad oper <intro>
  • useradd -g oinstall -G dba oracle <intro>
  • passwd oracle <intro> <le damos dos veces el nuevo password del usuario oracle>
  • mkdir -p /u01/app/oracle <intro>
  • chown oracle:oinstall /u01 -R <intro>

Ninguno de los comandos anteriores deben dar errores, el comando groupadd agrega grupos de usarios, el comando useradd agrega el usuario ‘oracle’ que es aquel con el que trabajeremos, el comando passwd se utiliza para asignar un password a ‘oracle’, el comando mkdir crea los directorios sobre los que instalaremos el software de oracle y finalmente chown cambia el propietario de esos directorios.

 

Aprovechando que estamos como root y que los discos de instalación están montados, instalamos algunos paquetes que faltan para la instalación. En la misma consola ejecutamos los comandos.

 

  • rpm -Uvh /media/cdrom*/Enterprise/RPMS/sysstat*.rpm
  • rpm -Uvh /media/cdrom*/Enterprise/RPMS/openmotif21*.rpm
  • rpm -Uvh /media/cdrom*/Enterprise/RPMS/libaio*.rpm

El comando rpm administra el RedHat Package Manager o administrador de paquetes de Linux compatible con Red Hat, con él instalamos, actualizamos, borramos software empaquetado.

Luego bajamos el Linux ya que necesitamos desmontar los discos para instalar el software de gestión de Vmware. En la misma consola podemos poner el comando

 

  • shutdown -g0

La máquina virtual Linux se para.

Editamos la máquina virtual, eliminamos casi todos los discos asociados dejando solo el disco IDE. Enlazamos el disco IDE al dispositivo físico o lo configuramos en modo de autodetección. Reiniciamos la máquina virtual e ingresamos al Linux como usario root.

Salimos de la máquina virtual (CTRL+ESC) y en el menu exterior de la máquina virtual encontraremos varias opciones (File, Edit, View, Host…) una de ellas es VM, dentro de ella escogemos la opción “install Vmware tools” se nos despliega un mensaje informativo, aplastamos <Aceptar>. Inmediatamente en el sistema se monta un CDROM virtual con el software de Vmware. Este CDROM se lo puede ver fácilmente en sobre el escritorio, dentro de este CDROM se encuentra un RPM con las herramientas de configuración de vmware, para instalarlos damos doble click sobre el archivo RPM.

OUL2

Finalizada la instalación se desmonta automáticamente el CDROM virtual, a continuación abrimos un terminal y ejecutamos el comando.

  • vmware-config-tools.pl

 

Este comando instala un demonio de sincronización de la maquina virtual con la real y nos pregunta si queremos cambiar el tamaño de la pantalla de la máquina virtual, escogemos el tamaño 3 y luego intro. Terminado el proceso de instalación llamamos al comando desde el terminal.

  • vmware-toolbox

Se nos presente una aplicación con varias pestañas, en la primera pestaña activamos la opción de sicronización de la fecha/hora entre máquina virtual y real (“Time Sinchrononization between the virtual machine and the operating system”).

 

Hemos terminado todo el proceso necesario con el usuario root. Reiniciamos la máquina virtual para que los cambios tomen efecto.

Ingresamos con el usario oracle, abrimos un terminal y obtenemos la dirección IP de la máquina Linux con el comando:

  • /sbin/ifconfig

La dirección IP es la que se encuentra al lado del inet addr, y siempre empieza con 192.X.X.X, la dirección 127.0.0.1 no es de la tarjeta de red virtual, es la interface de autoreferencia del sistema (ojo).

 

Ingresamos desde la máquina real o sistema host a la máquina virtual utilizando el programa WinSCP (en caso de no estar instalado, instalarlo con las opciones por defecto), ingresamos la IP del sistema Linux, el usuario (oracle) y el password asignado en pasos previos. Una vez conectados a nuestra izquierda se mostrará el sistema de archivos de windows y la derecha el sistema de archivos de linux (apuntando a /home/oracle). Pasamos el .zip que contiene el software de Oracle Server 10gR2 al sistema de archivos Linux y éste archivo.zip que contiene unos archivos de configuración.

OUL3

 

 

Descomprimimos los dos zips con el comando unzip, a continuación copiamos los archivos de configuración a los lugares respectivos (se puede realizar una copia de seguridad antes de sobreescribir), para esta tarea abrimos una consola y ejecutamos los siguientes comandos:

 

  • su – <password de root y luego intro>
  • cd /home/oracle/config_oracle <Intro> (esta carpeta es la resultante de descomprimir este zip)
  • cp limits.conf /etc/security/limits.conf <intro, pide confirmación, aceptar con ‘s’>.
  • cp login /etc/pam.d/login <intro, pide confirmación, aceptar con ‘s’>.
  • cp profile /etc/profile <intro, pide confirmación, aceptar con ‘s’>.
  • cp profile_oracle /home/oracle/.bash_profile <intro, pide confirmación, aceptar con ‘s’>.
  • cp sysctl.conf /etc/sysctl.conf <intro, pide confirmación, aceptar con ‘s’>.

 

Los archivos anteriores configuran los limites del sistema, especifican parámetros de kernel y establecen las variables de entorno del usario Oracle. Reiniciar el sistema Linux para que los cambios tomen efecto (se puede utilizar el comando ‘init 6′).

 

Una vez reiniciado el sistema ingresar con el usario oracle, vamos al directorio del software de oracle (/home/oracle/database) y ejecutamos el comando ./runInstaller. Se ejecuta inmediatamente el Oracle Universal Installer y estamos listos para instalar Oracle Server, escogemos las instalación básica y le damos una contraseña a todos los usuarios de administración.

OUL4

Utilizamos la ubicación por defecto para el Inventario, si nos da un error es porque no realizamos bien el cambio de dueño para la carpeta /u01/app/oracle.

Durante la validación previa a la instalación vamos a tener una advertencia por instalar Oracle sobre DHCP la podemos ignorar ya que vmware siempre nos dará la misma dirección para la máquina virtual. Esta validación no nos tiene que dar ninguna otra advertencia o error.

Casi al finalizar la instalación es necesario ejecutar dos scripts como root, una vez hecho esto se nos muestran los URL de la consola de administración (dbconsole). Podemos lanzar ya sea firefox (que se encuentra en un ícono en la parte superior izquierda del linux) o mozilla que se encuentra en Aplicaciones->Internet. Ponemos la dirección proporcionada por el instalador (generalmente http://<HOSTNAME>:5500/em ) en el navegador y accedemos a la consola de administración. Si no recordamos estas direcciones dentro del directorio $ORACLE_HOME/install está el archivo readme.txt con la información general de la instalación.

 

Una vez que apaguemos la máquina virtual, al reiniciarla estarán abajo todos los servicios. Una secuencia típica de inicio manual es la siguiente (todos los comandos como ‘oracle’ desde el terminal):

  • lsnrctl start <intro>
  • emctl start dbconsole <intro>
  • sqlplus <user: / as sysdba> <intro>
  • SQL> startup <intro>
  • SQL> exit <intro>
  • isqlplusctl start <intro>

El primer comando levanta el listener (proceso de escucha en el puerto 1521 necesario para conexiones TCP/IP), el segundo levanta la consola de administración, el tercero levanta la base de datos en sí y el último una consola para comandos SQL vía web. La secuencia contraria, para bajar todos los servicios es la siguiente (todos como usuario oracle):

  • isqlplusctl stop <intro>
  • emctl stop dbconsole <intro>
  • sqplus < usuario: / as sysdba><intro>
  • SQL> shutdown immediate <intro>
  • SQL>exit <intro>
  • lsnrctl stop <intro>

Se puede realizar de manera sencilla un script con estos comandos.

Espero que les sea de utilidad, saludos FJA.

Oracle 11g sobre Linux – ronda de Links

Listo, está disponible al fín para Linux Oracle 11g ( link de descarga).
Me voy de vacaciones y no lo podré probar. Sin embargo la opción para el que tenga M$ Windows y unos pocos GB de RAM es instalarlo sobre una máquina virtual de vmware. La opción más lógica para no tener problemas es usar la distribución de Oracle, (Unbreakable Linux).  Aunque se utilice otro sistema operativo siempre es bueno hacer una instalación desde cero para probar, las máquinas virtuales son lo mejor para esta tarea. No creo que sea una instalación sencilla, aunque últimamente me sorprende gratamente Oracle. Espero poder comentar sobre esta nueva versión cuando regrese de vacaciones.

Unos Links para facilitar las cosas:

Los links los he sacado de este post, sin embargo el tanto el agregador de oficial de Oracle como OraNA tienen mucha información al respecto. Nos vemos al regreso.