Category ArchiveOracle
DB &Oracle Fernando José on 08 Oct 2008
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 Pankaj Chandiramani y un pdf de ATS services . Esta instalación difiere a la del artículo antes mencionado en que yo solo voy a crear un tablespace sobre discos ASM, no pienso poner toda la base en ASM, para ello asumimos además que ya tenemos una base de datos 11g sobre Linux instalada y funcionando.
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
Oracle Fernando José on 03 Jul 2008
Oracle+BEA línea de evolución
Thomas Kurian en un webcast de 1:40 minutos de duración ( si tienen tiempo merece la pena verlo ) expuso el roadmap o línea de evolución de los productos conjuntos de Oracle y BEA. Como era de esperarse algunos productos se van otros se quedan.
Primero los productos de BEA se clasificaron en tres grupos: estratégicos, en desarrollo y convergencia y en periodo de mantenimiento. El primero son los productos que se incorporarán inmediatamente, los segundos se rediseñaran e incluiran en la línea de productos de Oracle, finalmente a los últimos se les brindará soporte ya que BEA los quitó de su línea de desarrollo antes de la adquisición de la empresa. Es muy interesante que Oracle quiera dar soporte a todos los productos y no forzar las migración, esto genera un costo bastante que se compenzar al mantener la base de clientes.
En la segunda parte de la charla Thomas Kurian fue explicando cada una de las areas de arquitectura de negocio tanto en la estratégia a adoptar por Oracle como evaluando producto por producto la línea de desarrollo. Los temás mas relevantes (en mi opinión) por área de negocio son:
Herramientas de Desarrollo: JDeveloper es y será la herramienta de referencia para toda la pila de aplicaciones. Productos anteriores de BEA como BEA Workshop se fusionara en un producto de Oracle llamado Eclipse Pack ( para Eclipse obvio) . Se continúa el soporte de desarrollo de Forms y Reports.
Servidores de Aplicaciones y Procesamiento de Transacciones: Se pone énfasis a un producto que muchos lo daban por muerto Tuxedo, este producto será el principal para procesamiento de transacciones en plataformas C, C++ y Cobol. El notición ( para mi ) fue que el servidor de aplicaciones principal es el de BEA y que todo lo que tiene relación con “fusion” estará orientado a este servidor de aplicaciones; se continua dando soporte y desarrollo al OC4J de Oracle. JRockit de BEA es la máquina virtual de Java por defecto para Oracle, aunque se soportarán y certificarán otras Java VM (Sun,IBM). Toplink continuará siendo el referente para la gestión de JPA y EJBs y Coherence será el producto para realizar datagrids.
SOA: En el campo de SOA se mantiene Oracle Data Integration como producto de ETL ( es interesante ver como encaja esto con Oracle BIEE ) . Se unen dos productos Oracle ESB y Aqualogic Service Bus de BEA para formar Oracle Service Bus . Se mantiene BPEL processes manager como herramienta – plataforma de orquestación, sin embargo se integrará BEA Weblogic Integration a Oracle BPEL.
BPM: Se unen BPA ( una herramienta creada por ARIS para Oracle?) y Aqualogic BPM Designer de BEA, también se fusionaran las máquinas de ejecución de ambas lineas de producto ofreciendo una aplicación en conjunto que reemplace el BPM suite.
Enterprise 2.0 y Portales: Oracle Universal content manager como gestor de contenidos, Oracle Web Center como framework de desarrollo. La inclusión de productos de BEA como Pathways para análisis de flujo de navegación en sitios web y tagging . Todos los productos se fusionarán en Oracle Web Center.
Identity Management: Se mantiene el Oracle Identity Manager (LDAP) y la mayoría de productos de gestión de identidad ( Role, Access, SSO, Identity Federation). Se añade al grupo Aqualogic Enterprise Secutity como gestor de autorización (no autenticación).
Enterprise System Management: Enterprise Manager Grid Control (OEM) tiene muchos más management packs para control de Middleware de BEA, SOA, Identity Management, BPM??. También plugins de diagnostico de Middleware (AD4J, JRockit).
SOA Gobernance: Todo el gobierno de servicios se centrará alrededor del repositorio Aqualogic de BEA, se mantiene Oracle Service Repository (UDDI), para control de calidad de servicio Oracle Web Service Manager. Se complementa esta área con plugins para Grid Control (OEM) , el plugin de gestión de servicios (SLAs) y el de gestión de SOA.
Service Delivery Platform: finalmente Kurian hablo de productos orientados a las Telcos, pricipalmente en la gestión de protocolos SIP, PBX Virtuales, etc. De este tema se poco asi que prefiero no opinar.
Al finalizar puntualizó que la mayoría de productos BEA ingresaran como 10gR3 y se cortó un poco en decir que va a pasar en 11g aunque el camino cada vez parece más claro.
En conclusión, el servidor de applicaciones preferido por Oracle será el de BEA. Enterprise Manager Grid Control tiene una función predominante con plugins que trascienden varias capas de negocio ( SOA, SLAs, VMs, etc) . Muchos productos BEA-Oracle tanto de SOA, BPEL y BPM se fusionan para formar una propuesta más consistente. En fin que hay que estudiar con premura el servidor de aplicaciones de BEA y luego ir evaluando el resto de productos (uff ufff).
Existe información adicional en un sitio web preparado especialmente por Oracle para explicar esta transición. Blogs de Oracle [1][2] y externos [1] se hacen eco de este tema a la vez.
Saludos y ha estudiar BEA y Siebel.
Oracle Fernando José on 13 Jun 2008
Certificaciones Oracle
Con este post quiero aclarar un poco como es el sistema de certificaciones y los requisitos. Primero existen dos tipos de certificaciones en Oracle, una que se basa en tres niveles ( asociado, profesional y master ) y otra que es especifica de un producto o tecnología (experto).
Estos dos tipos de certificaciones aplican para diferentes productos, así se puede ser profesional, asociado o master en bases de datos, servidores de aplicaciones o el Linux de Oracle. Los niveles han variado en el número de exámenes y productos certificables por ejemplo en versión 9i de base de datos para ser profesional se requirían 4 exámenes, dos para asociado ( SQL y fundamentos) y dos más para llegar a profesional ( respaldos RMAN y afinamiento ). En versión 10g de bases de datos solo se requieren dos exámenes 1 para asociado ( SQL y fundamentos ) y otro examen para profesional ( respaldos y afinamiento ).
Si bien para ser asociado (OCA) no es necesario ningún requisito adicional a dar el examen, que se lo puede tomar en cualquier centro prometrics, para ser profesional (OCP) se requiere seguir algún curso referente a la tecnología en la que queremos tomar el examen en Oracle University ( no son válidos cursos ni “masters” en ningún otro sitio ).
Otra historia es llegar a ser un Oracle Master que no es lo mismo que cursar un “master en oracle”. Para ser Oracle Master se tiene que dar un examen que dura dos dias y cuyo custo esta alrededor de 2000 euros, además se tiene que haber realizado 2 cursos en Oracle University de temas avanzados ( RAC, data guard, streams, …) . El examen es complicado porque se basan en la instalar o afinar un serie de escenarios sobre servidores Linux y bases de datos 10g, la buena noticia es que se lo puede dar en Madrid en las instalaciones de Oracle University. Sé que existen muy pocos OCM en España, no se diga Latinoamérica, creo que existe uno en versión 10g y otro en versión 9i en toda España. Creo que mal han hecho ciertas empresas en llamar a sus planes de formación masters, crean mucha confusión con las certificaciones originales no se diga con títulos oficiales de universidades, aunque las universidades tienen la culpa también en países como EE.UU. no hay problemas en los escalafones de estudio uno es BS, MS /MSc y PhD no existe a donde más tirar (pregunten como es en España LOL).
Existen productos muy interesantes para certificarse como son los servidores de aplicaciones , que últimamente han quitado el requisito de realizar un curso en Oracle University para certificarse como profesional; o las de linux que te permiten convalidar certificaciones LPI u otros exámenes. No esperes una certificación en desarrollo con Oracle de peso, el lenguaje estelar de Oracle es Java y las certificaciones Java las lleva SUN. Oracle podría plantearse una certificación en su framework de desarrollo rápido (ADF) pero al día de hoy no esta disponible. Oracle tenía una certificación para PL/SQL y desarrollo en forms pero era para versión 9i y no he sabido más de ella.
Con todas las compras que Oracle ha realizado ahora tiene certificaciones de People Soft, de Oracle Applications, de Siebel tanto en CRM como en BI además de en Hyperion . Existen dos programas de profesionales que están para mantener los productos adquiridos antes del famoso “Fusión” de Oracle, orientados a productos de Applicaciones 11i y a Siebel CRM 7. El resto de productos están todos orientados a la certificación de experto que en casi todos los casos requiere un curso en Oracle University como requisito previo a obtener la certificación.
Ahora la pregunta es ¿Qué certificación me conviene?, podemos analizar por este tema por rol:
- Si eres un DBA de Oracle la certificación es al menos un OCP en base de datos, un OCM es factible pero teniendo al menos unos 5 años de experiencia en Oracle y un buen sistema de financiamiento ya que con los cursos y el coste del examen esta certificación puede salir en alrededor de 5000 euros. Si ya estas certificado como OCP (9 o 10) es conveniente dar el examen de actualización a Oracle 11g ya que cuando salga la 11gR2 el número de nuevas características incrementará y con ello la dificultad del examen.
- Si tu rol es de desarrollador Oracle no existe una certificación en Java, PL/SQL, WS o BPEL. La opción es obtener un OCA en Bases de datos y en otro en servidores de aplicaciones, eso indica que tienes un buen nivel de SQL y que conoces la infraestructura de un IAS/OAS.
- Un administrador /analista de BI tendría que ir por Siebel e Hyperion ya que al parecer son los productos en los que se basa la BI EE de 10g y en la que se va a basar la BI EE 11g. Para estos productos hay certificaciones de experto basados en las versiones de producción. Se puede esperar a ver que sucede con la versión 11g de BI que al parecer viene con múltiples sorpresas.
- Un administrador / analista de CRM tiene la certificación de profesional en versión 7 u 8 de Siebel disponible a espera de lo que puede pasar con “Fusión” de Oracle. Parece que Oracle va a basar su suite de CRM en el producto de Siebel.
- Un administrador de sistemas Linux puede optar por un OCP en Linux de Oracle que es muy parecido ( es más es un clon ) de RHAS así que si tienes una certificación LPI o un RHCE y trabajas con Linux de Oracle es algo que se puede obtener sin ponerle mucho esfuerzo.
Finalmente queda esperar para saber que sucede con la fusión de aplicaciones de Oracle además de la fusión de BEA y Oracle, puede salir un producto de servidor de aplicaciones interesante ( o desastroso!).
DB &Oracle Fernando José on 18 May 2008
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.
DB &Oracle Fernando José on 03 May 2008
ApEx en la nube de Amazon (APEX+EC2+S3)
Bueno 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
DB &Oracle Fernando José on 06 Apr 2008
¿Hosting de APEX? y ¿Por qué no virtualización?
Bueno 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.
Oracle Fernando José on 30 Mar 2008
¿Que contiene cada versión de Oracle BI?
Para los que conocimos las antiguas herramientas de BI de Oracle (discoverer, warehouse builder, reports, portal ..)
la compra de Siebel ha cambiado todos los productos. Tuve recien un curso de BI EE+ y nos explicaron todas las herramientas a detalle. Pues bien ahora, en versión 10g, Oracle ofrece 3 “paquetes” de BI:
- Oracle BI Enterprise Edition: que es Siebel Analytics con todos los módulos.
- Oracle BI Standard Edition: que es discoverer y warehouse builder.
- Oracle BI Standar Edition One: que es un versión reducida de Siebel Analytics.
Recientemente la Enterprise Edition tiene un + que refleja la comprar de Hyperion, además se van a vender plataformas BI listas para diferentes industrias que se llamaran BI Applications. La consolidación de los productos de BI se realizará en la versión 11g aunque todo apunta indudablemente a que los productos de Siebel tendrán mas peso sin que esto reste soporte a las empresas que ya tengan un desarrollo en discoverer.
Después de tener mis primeros pinitos en BI EE es fácil saber porque se consolidarán las herramientas de BI con Siebel, el producto es limpio y sencillo, puede alimentarse de varias fuentes de datos y tiene integración con servicios de reportes y autenticación.
En la parte de extración, transformación y carga (ETL) Oracle seguramente seguirá utilizando Warehouse Builder ya que lo incluye inclusive en la versión 11g de la base de datos, pero está por verse la consolidación que se realice con productos de Siebel e Hyperion, además de terceros que tienen relación directa como informática. Estaré pendiente de que ocurre.
DB &GridControl &Oracle Fernando José on 15 Feb 2008
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.
Oracle Fernando José on 30 Jan 2008
Tom Kyte en Madrid
Tom Kyte estuvo de visita por Madrid, gracias a los amigos de Oracle University pude asistir a una charla con uno de los más famosos (si no es el más famoso) consultor de tecnología Oracle.

Si no sabes quien es (que no es pecado), él es el Tom detrás del website AskTom , sitio que recibe más de 100K visitas al mes . También ha escrito muchos libros sobre bases de datos Oracle, y trabaja directamente para Oracle como consultor “Super Senior”.
La charla estuvo super interesante aunque nos faltó tiempo, el material que tenía preparado Tom era muy extenso y no pudimos abordar temas como Database Replay, sin embargo la calidad del seminario no se vio afectada, todos los temas que abordó los trató con ejemplos prácticos tal y como lo hace en su website para no dejar ni una duda suelta.
El seminario fue extenso en las nuevas caracteríscas de 11g sobre cache, almacenamiento y utilización de índices. Se abordo con una profundidad sorprendente el problema de los bloqueos por latches del shared pool y como afectan al uso de CPU . Otro tema interesante fue la incidencia de los constraints en el CBO,y para completar nuevas características en particionamiento y compresión de datos.
En fin que el seminario estuvo excelente y lo mejor de todo es que me pude tomar una foto con Tom Kyte… que más se puede pedir.
Actualización 31-01-08:
Roberto Nogueras me envía una foto con casi todos los instructores y TKyte.

DB &Oracle Fernando José on 11 Nov 2007
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 :
- Vmware Server para Windows (Versión 1.0.4 al día).
- Oracle Unbreakable Linux 4, se necesitan los 4 CD en .iso, no los Cds que contienen los SRPMS.
- El disco de instalación de Oracle Server 10gR2 para Linux.
- WinSCP4 (cliente de sftp).
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:
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.
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.
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.
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.




