martes, 29 de junio de 2010

"Patada inicial para el 2011", Oracle KickOff FY11

Con la participación de la Israilí Safra Catz de 47 años de edad, Presidenta y Directora de Oracle Corporation y una de las 20 mujeres más poderosas del Mundo, según Forbes, con ingresos por $24.3 millones de dólares anuales, ha sido presentado durante todo el día, una serie de entrevistas, que reúnen los objetivos de la corporación, para el nuevo año fiscal.

Lástimosamente y para no hacer ningún excepción del caso, todo el evento, fue en idioma inglés y hubo falta de tradución en línea o al menos subtítulos, como si lo hubo, para la presentación del mismo evento, para la zona pacífica asiática.

Manny Marrero, Lider Regional para Latinoamerica, formó parte del grupo de panelistas que conversaron con Judson Althoff, VicePresidente Senior de Alianzas Mundiales y Canales de Oracle, quién sirvió de moderador del evento.  Le escuchamos saludar en español a toda su región, pero fue lo único que habló en nuestro idioma.

Mucha gente ingreso en el chat del evento y preguntaba constantemente, como entrar a la presentación, a pesar, de que cuando ingresaban en el sitio del Programa de OPN, aparecía el video de primera mano.  Este fenómeno se repitió en más de una ocasión, ya que la invitación inicial, enviada a los Partners, venía en idioma español y se entendía por su descripción, que el evento, iba a ser realizado en nuestro idioma, en el horario establecido como referencia, para la ciudad de Buenos Aires, Argentina.

Nuestras conclusiones previas, fueron herróneas, y nuevamente nos dieron un alegrón de burro!!!

Oracle Webinar Gratis sobre Oracle Virtual Machine x86



Para realizar el registro en este evento, puedes seguir el siguiente link

viernes, 25 de junio de 2010

Twitter: el nuevo ‘teléfono rojo’ entre las potencias

24 de Junio de 2010
Fuente: CNN

Ahora que ambos mandatarios de Rusia y Estados Unidos tienen sus cuentas de Twitter, probablemente las comunicaciones puedan trascender de una buena vez la tecnología típica de la Guerra Fría, propuso jocosamente Barack Obama a su colega ruso Dmitri Medvedev en Washington.
En una conferencia de prensa conjunta, Obama recordó que Medvedev creó su cuenta de Twitter esta misma semana, durante una gira que hizo al cuartel general de la firma de Internet en California.
“Yo también tengo una”, dijo Obama. “Así que ya podemos botar esos teléfonos rojos que han estado por aquí por tanto tiempo”, dijo riendo.

El teléfono rojo es un ícono de la Guerra Fría y el sistema se montó tras la Crisis de los Misiles en Cuba de 1962. Durante casi 50 años, el teléfono rojo ha servido como un enlace directo entre la Casa Blanca y el Kremlin en caso de una crisis nuclear que requiera consultas inmediatas.

jueves, 24 de junio de 2010

Cinco de algunos de los grandes errores que cometí como DBA Oracle en estos 20 años.

Por lo general, a todos nos gusta hablar de nuestros éxitos, pero escondemos hasta donde sea posible, nuestros fracasos.  Como ser humano que somos, nos da miedo reconocer, que producto de nuestras acciones muchas otras personas, han sufrido algún daño colateral, como resultado de una mala decisión, desatención o simplemente negligencia.

Con la frente en alto y la mirada fija en los ojos de la gente, puedo sentirme orgulloso, de que nunca, jamás y lo recalco, jamás, las decisiones que tomé, los errores que cometí, lo hice de manera deliverada con el afán de crear o hacer un daño a un tercero, simplemente, me equivoqué.

Y como producto de ese aprendizaje perenne, que es nuestra vida, ofrezco a ustedes, mi confesión, cinco de los grandes errores que he cometido durante estos 20 años de dedicación, al trabajo como DBA. 

No les he querido presentar estos datos en un orden específico, ustedes jusguen, si ha bien lo tienen y hagan su propio "ranking".

  1. Durante una ejecución de una tarea delicada, recibí una llamada telefónica.  En lugar de detenerme en ese momento, continúe con el trabajo y la llamada en paralelo.  Había generado una copia de respaldo de la tabla de datos, de una planilla y la conversación se volvió acalorada.  Mi estado de ánimo cambió y sin notarlo, empecé a discutir por teléfono.  Sin darme cuenta, como parte de la conclusión del trabajo que estaba haciendo, debía borrar la tabla temporal de datos.  Al no estar centrado totalmente sobre lo que estaba haciendo, borré la tabla transaccional y no la de pruebas.  Poco después, me llamaron y me preguntaron, que si sabía que había pasado con los datos de los empleados, ya que ese día se debía generar la planilla.  Como respuesta dí un no muy seguro.  Un análisis con Logminer de los redologs, arrojó, que yo había dropeado la tabla de producción.  Cuál fue mi error.?  Nunca, jamás, en ningúna situación, uno debe conversar cosas personales, que son de importancia, durante el período en que se esta laborando.  Los asuntos familiares deben atenderse en la casa y los asuntos laborales en el trabajo.  De ahí en adelante, cada vez que sonaba el teléfono, quitaba las manos del teclado y procedía a atender la llamada.  Tienen razón cuando dicen, que conducir un automovil y hablar por teléfono, es una combinación mortal, se ha comprobado que el hecho de hablar por teléfono móvil mientras se maneja reduce el tiempo de reacción en un 9% al momento de tener que frenar y en 19% cuando se debía acelerar luego de haber frenado.  Esto fue lo que me sucedió.

  2. Después de más de 48 horas sin dormir, por atender una emergencia de trabajo, emprendí el regreso a mi hogar.  Con una distancia por recorrer de más de 220 kilómetros y 5 horas y media de viaje, apresuré el paso, para que no me llegará la noche en la carretera.  Había recorrido la mitad del camino, cuando por un instante nada más, cerré los ojos, producto del cansancio mental, que me había dado el recuperar un servidor con una falla de hardware y luego montar todo a partir de respaldos y dejarlo nuevamente funcionando como se debía.  Por algún motivo, en fracciones de segundos, volví a abrir los ojos y me encontraba en medio de un puente sobre un río caudaloso por aquel entonces - tiempo de invierno- y bastante profundo, en el carril contrario.  Un autobus, venía de frente, tocando su pitoreta, para que me quitará del frente.  Apenas por algunos metros, pude pasarme nuevamente a mi carril, terminé de cruzar el puente y seguidamente, me estacioné al costado de la carretera y descanse por una hora y media.  En mi casa me esperaban, mi esposa y mis dos hijos pequeños por aquél entonces- al final tuve el honor de tener 2 varones y una niña, el mayor actualmente tiene 13 años, el que le sigue 11 años y medio y mi princesa 10 años-, el mayor tenía 3 años de edad, pude no verlos crecer y estar orgulloso como lo estoy hoy en día de lo que son cada uno de ellos.  El trabajo de DBA es sumamente agotador.  Si estamos concientes, que la labor va ha ser larga, mejor dejemos el auto en la casa y trasladémos al lugar en taxi.  Si es en una zona alejada, siempre planifíque, descansar una noche en el lugar.  Nunca maneje de noche, con más de 10 horas de labor realizada.

  3. Qué password le puse al usuario root ó administrator, en la instalación.?  Muchas veces hacemos las cosas de manera mecánica.  La confianza que dá los años de experiencia, nos hacen cometer errores tan simples y tontos, que cuando suceden, siempre buscamos alguna escusa tonta, para salir del paso.  Yo les recomiendo, siempre documentar todo, por más obvio que sea, es mejor "invertir" algunos segundos documentando, que "perder" una buena cantidad de tiempo, reinstalando todo.

  4. No leyó el readme.txt.? Upppsss!!!, que error más grande, el archivo de texto, indicaba el procedimiento que se debía seguir, para poder realizar un "rollback", de la aplicación de un parche.  Realizó el respaldo que se le solicitaba.?  Verificó que las cintas en dónde se bajo el respaldo podían ser leídas.?  Si iba a "raspar" el servidor ( reinstalar ), verificó que tenía todos los drivers del mismo, para la versión del sistema operativo.?   Este último fue mi error, siempre cuidé mucho, las letras menudas y antes de aplicar un parche de base de datos o sistema operativo, sobre todo en ambiente Linux ó Unix, verificaba que los respaldos se hubieran hecho de la manera adecuada.  Pero hasta que no me pasó, no verificaba con el cliente, que tuviera a la mano, todos los drivers del hardware requerido.  Anteriormente recordemos, era más difícil, buscar los drivers de hardware específicos, como controladores de disco, discos duros SATA o SCSI, tarjetas de video, puertos seriales, etc.  Todo un día tuve que invertir, en bajar de INTERNET, los drivers, que requería para reinstalar el equipo.  El proceso se atrasó un día por completo, cuando se había estimado, que el trabajo duraría 4 horas.

  5. Salió de gira a realizar un trabajo y no llevó su propio juego de cd´s, con el software requerido.?  Qué haría usted, si va para un lugar a realizar un trabajo, dónde no se tiene conexión a INTERNET y el cliente, se equivocó al indicarle, que tenía todo el software listo para instalar.  En una ocasión, despues de viajar casí 4 horas en auto, llegué a un lugar a instalar un Linux y el motor de la base de datos y según la información que me habían dado, ellos lo tenían todo.  Para resumir, la distribucción del Linux, era muy antigua y los discos del motor de la base de datos, era para plataforma MS Windows.  En otra ocasión, la versión del sistema operativo era x86 y los discos de instalación del software del motor de base de datos, eran de 64bits.  La inexperiencia y exceso de confianza, no me dejó ver, que podrían no tener los medios correctos para la instalación.  De ahí en adelante, cada vez, que me trasladaba a un cliente lejano, llevaba conmigo, mi propio juegos de cd´s.  En 6 de cada 10 ocasiones que debía hacer una instalación entre el 2000 y el 2007, el cliente no contaba con el software correcto.
Estos son algunos ejemplos, no necesariamente, los más malos, que por razones de confidencialidad puedo contarles, pero que sirven de ejemplo, para que ustedes no los cometan en el futuro.
Cuando inicié, era muy joven y las ganas de hacer y hacer, te hacía emprender muchas cosas, pero a la vez también cometer muchos errores.

Hoy que ya peino algunas canas, la experiencia me ha enseñado, que aún, estando completamente seguro de que todo va a salir bien, debo nuevamente hacer el chequeo, para evitar una sorpresa.  Guardar siempre un poco de humildad, para reconocer el error cometido y un poquito menos de soberbia, para brindarme apoyo en los momentos de gloria

Muchas gracias, este tipo de comentarios son agradecen en "paleta"

Ronald, buen día.

Agradezco tu colaboración con el video que colocaste en el blog : Demo: Cómo reasignar el password a root en Linux.

Trabajo en una empresa de soporte Oracle en Guatemala y este aporte es en verdad muy enriquecedor para los miembros de este importantísimo blog. Muchs gracias.

Saludos

--

Lista de seminarios Web ofrecidos por los gurús de Oracle para el mes de julio de 2010, Gratuitos

Saludos amigos y amigas
La semana anterior, tuve la suerte de participar de un seminario impartido por el legendario Arup Nanda, que como siempre, estuvo excepcional.  Para el 18 contaremos con la participación nuevamente de él y más adelante en el mes tendremos también a Daniel Morgan, que esperamos este presente en nuestro país ( Costa Rica ), con el OTN TOUR, programado para la fecha 25 de octubre de 2010.

Es una gran importunidad, para escuchar charlas de carácter técnico, como las que nos gusta a todos.
Aquí les dejo la invitación original de mi amigo.

Francisco Muñoz, Oracle ACE Director, creador de OracleMania presenta:

Un Mensaje a Todos los miembros OracleMania
Estimados y Estimadas:
Lista oficial hasta el momento de Webinars para este mes de Julio:

- Julio 8, 18:00 hrs de Brasil, Sr. Arup Nanda - Ajuste del rendimiento en RAC - Registración https://www1.gotomeeting.com/register/319363409

- Julio 13, 18:00 hrs de Brasil, Sr. Alex Gorbachov - Oracle 11g Release 2 ASM - La Evolución - Registración https://www1.gotomeeting.com/register/227020097

- Julio 15, 18:00 hrs de Brasil, Sr. Daniel Morgan - Edición 11gR2 base Redefinición - Registración https://www1.gotomeeting.com/register/234057032

- Julio 22, 18:00 hrs de Brasil, Sr. Arup Nanda - PUnder las campanas de las Cache Fusion, GES, GCS y GRD - Registración https://www1.gotomeeting.com/register/351404801

- Julio 29, 10:00 horas de Brasil, la Sra. Debra Lilley - Fusion Applications, ¿Qué está detrás de él! - Registración https://www1.gotomeeting.com/register/800684232

Aprovecho tambien de recordarles que todavía quedán cupos para asistir la presentacion final del presente mes de Junio:

- Junio 24, 18:00 hrs de Brasil, el Sr. Daniel Morgan - Cómo leer e interpretar un Plan Explicar - Registración https://www1.gotomeeting.com/register/588793721

Muchos Saludos,
Francisco Muñoz Álvarez

miércoles, 23 de junio de 2010

Oracle Application Express 4.0, ya se encuentra disponible

Oracle Application Express versión 4.0 fue lanzado el día de hoy, 23 de junio de 2010. Ahora puede seleccionar para descargar todos los idiomas (para ejecutar la aplicación Express en alguno de los idiomas traducidos) o sólo en inglés (puede ejecutar sólo Application Express en inglés).

La versión sólo en inglés seguirá siendo compatible con las aplicaciones que se crean en otros idiomas de traducción.

Oracle Application Express 4.0 esta soportado en todas las ediciones (SE1, SE, EE, and XE) de la base de datos Oracle desde la versión 10.2.0.3 en adelante. Application Express 4.0 también puede ser utilizado con Oracle Database 10g Express Edition y en las siguientes plataformas.
  • Linux x86
  • Microsoft Windows (32-bit)
  • Mac OS X Server
  • Linux on Power
  • Linux x86-64 z/Linux
  • Linux Itanium
  • Solaris x86
  • Microsoft Windows (64-bit Itanium)
  • Microsoft Windows (x64)
  • Solaris Operating System (SPARC) (64 bit)
  • AIX5L
  • HP-UX PA-RISC
  • HP Tru64 UNIX
  • HP-UX Itanium
  • OpenVMS AlphaOpenVMS Itanium
Mayor información la puedes ubicar en el siguiente link

martes, 22 de junio de 2010

Demo: Cómo reasignar el password a root en Linux

Demostración de como reasignar el password de root en un sistema operativo Linux, en caso de olvido o error en el cambio.

Hecho por: Ronald Vargas, oracledbacr.blogspot.com, 2010
Laboratorio: Oracle VirtualBox Machine con Oracle Enterprise Linux 5.0 ...

Padding Oracle Exploit Tool 1.0.0 demo

Padding Oracle Exploit Tool 1.0.0 demo. In minutes POET completely decrypts the VIewState of a JavaServer Faces application. The server is Apache MyFaces configured to use AES/CBC encryption with a random secret key and IV. POET uses Vaudenay's padding oracle attack to decrypt the web application client-side state byte by byte.

Ministro alemán aboga por "borrador" en Internet

Editorial del Lunes: Ronald Vargas Quesada
11:23 a.m. 22/06/2010


Berlín (DPA).El ministro alemán de Interior, Thomas de MaiziŠre, abogó hoy por la creación de una especie de "borrador" con la cual puedan ser eliminados datos de Internet.

Cada declaración en Internet es potencialmente pública en todo el mundo, argumentó el político democristiano. Esto impide que pueda rehabilitarse alguien que se ve perjudicado por unas declaraciones en su contra en la red.

"Por ello sería importante enseñarle a Internet a olvidar o a 'no poder encontrar' en el futuro en ciertos ámbitos", alegó. La idea sería crear una "goma de borrar digital" o instaurar una fecha de caducación que los usuarios podrían utilizar para sus datos en la red, explicó.

"Quizás podríamos considerar la posibilidad de crear un 'derecho a permitir olvidar' como el que propone la Comisión Europea", dijo el ministro al presentar a grandes rasgos la estrategia de manejo de Internet del gobierno alemán en Berlín.

Este tipo de propuestas, con todo el respeto del caso, me parece absurdas e imperdonables.  Ahora nos van a decir, que la humanidad, podría con un borrador, eliminar de su historia todas aquellas injusticias llevadas a cabo durante la época de la inquisición, la esclavitud o las dictaduras y regímenes, aún existentes en el mundo.?

En todo caso, le doy los siguientes "tips" al Sr. Ministro de Interior Alemán para ayudarle en su propuesta:

Crear una papelera de reciclaje, para que en caso, de haber cometido un error - meter la pata-, pueda disolver ( UNDO ), la decisión tomada.

Dimensionemos entonces; si la papelera de reciclaje, debiera de activarse con un período de retención de unos 7 días, por aquello, de los flashback parciales: "Cuánto espacio podríamos requerir, para permitir a nuestros segmentos de rollback crecer ?".  Para este problema, le recomiendo, utilizar alguna de las opciones de EXADATA 2 con Oracle Sun, para el manejo y rendimiento del espacio requerido.  ASM, podría servirle como una opción, para brindar alta disponibilidad y escalabilidad, reforzado en un ambiente RAC.

Bueno, podríamos tal vez pensar, que podríamos implementar la opción de "Total Recall" y activar el flashback data archive, para registrar y mantener un histórico de datos, de aquellos temas de interés común y así, no requerir tanto espacio físico para el "flash recovery area".

Ahora, que si me lo dicen, también sería necesario establecer alguna auditoría, para evitar, que algún Hacker mal intencionado, utilizara el "borrador", para eliminar información importante.  En este caso, si aceptaran mi propuesta, sería necesario implementar Audit Vault, para poder auditar la plataforma heterogénea de bases de datos, en donde se almacena información y así poder tener un reporte de resumen, de las distintas actividades desarrolladas.

Como no es una tarea fácil de llevar a cabo, no estaría demás, implementar Database Vault también, para así implementar la separación de responsabilidades y establecer varios DBA's, para la administración de las instancias.

Ustedes que opinan ?  Algo se me quedó de lado.?

lunes, 21 de junio de 2010

Recordatorio para Partners de Oracle Latinoamerica - WEBCAST: Open Market Model (OMM) Training

Estimado Partner:
 
En un esfuerzo por dirigir y mantener su conocimiento sobre Open Market Model (OMM), así como la estrategia general y su objetivo, usted está invitado a participar en los entrenamientos de OMM, los cuales se llevarán a cabo vía Web Conference y serán impartidos por el equipo Central de OMM.
 
OMM representa un punto crítico para la interacción entre Oracle y nuestra comunidad de socios debido a que su uso y manejo apropiados los benefician a ambos. Estas sesiones de entrenamiento fueron diseñadas para asegurar que ambas partes, Oracle y los socios, comprendan el valor, significado e importancia de conocer y adherirse a sus políticas.
 
Agenda:
  • ¿Qué es Open Market Model?
  • ¿Por qué Oracle y sus Partners deben adoptarlo?
  • Beneficios claves de OMM para Oracle y nuestros socios de negocio
  • Reglas de compromiso en oportunidades de OMM
  • Sesión de preguntas y respuestas
Audiencia requerida:
Todos los miembros de Oracle PartnerNetwork (OPN).
 
Perfil de los invitados:
Gerentes comerciales y fuerza de ventas.
 
Calendario de sesiones:
 
Fecha y hora Call ID. Call Passcode ID. Web. Conf.
 
22-JUN-2010
 
11:00 am EST* 8400129 4567 6898641
 
* EST: Hora Miami.
 
Datos de conexión:
 
Por favor haga clic aquí para obtener datos de marcación gratuita por país.
 
Para acceder al Web Conference haga clic aquí. Se le recomienda descargar con anticipación la aplicación de Web Conference para verificar que es compatible con su equipo, así evitará dificultades en la conexión el día de la sesión. Cuando ingrese debe ir a AYUDA (antes de escribir el ID y NAME) donde encontrará DESCARGAR y probar la compatibilidad, luego ingresar.
 
NOTA IMPORTANTE: Cuando usted se conecte a la sesión Web Conference, favor escribir su nombre seguido del nombre de su compañía. Ejemplo: AlexRuíz_GrupoSix.
 
Estos son los horarios locales en que se realizarán las conferencias:
 
País Hora local
 
Costa Rica, Honduras, El Salvador, Guatemala y Nicaragua. 9:00 a.m.
 
Colombia, México, Ecuador, Perú y Panamá. 10:00 a.m.
 
Venezuela. 10:30 a.m.
 
Bolivia, Puerto Rico, Chile y República Dominicana. 11:00 a.m.
 
Uruguay, Paraguay y Argentina. 12:00 m.
 
¿Cómo confirmo mi asistencia?
 
Agradeceremos su confirmación por correo electrónico a sofia.pagano@oracle.com. El título del mail debe ser: WEBCAST: Open Market Model (OMM) Training - Nombre de la empresa a la que pertenece. Es importante que en el cuerpo del mail escriban nuevamente el nombre de la empresa, el nombre completo de los asistentes y sus correos electrónicos.
 
Entrenamiento sin costo.

¡Esperamos contar con su asistencia eligiendo la fecha que se acomode mejor a sus necesidades!

jueves, 17 de junio de 2010

Como pasar de una versión superior de base de datos Oracle a una inferior.

En varias ocasiones me he encontrado en los foros de discusión, amigos y amigas, que preguntan como cargar una base de datos desde una versión superior a una inferior.

Normalmente, no es tan común hacer "rollback" a nivel de releases de software de base de datos, pero en ocasiones especiales, se hace necesario realizar el ejercicio.
Es suficiente con generar un export con la utilidad "exp" en la base de datos de origen y cargarlo en la base de datos destino.? La respuesta es no. Hasta la versión 10gR2, era posible tener como base de datos origen el release 10g y tener como base de datos destino la 9i.  De igual forma, podríamos pasar de una base de datos de origen 9i a 8i y 8x, con algunas limitaciones.  Ahora bien, de ahora en adelante, como lo pueden ver en la matrix publicada en My Oracle Support, si tenemos como base de datos origen la versión 11g, no esta soportado hacer el "down", a una base de datos de una versión inferior a 9iR1.  Pero si tienes 11gR1 o 11gR2 y deseas importar en una versión Oracle 9iR2 ( algunas limitaciones- ver nota al final ) ó Oracle 10gR1 y Oracle 10gR2, si lo puedes hacer.

Si necesitas hacer el ejercicio de importar desde una versión superior hacia una inferior, debes realizar el exportación de la data con la utilidad "exp", de la versión de la base de datos de destino, conectándote a la base de datos origen, tomando en cuenta estos valores para los siguientes parámetros, como recomendación de mi parte, para evitar problemas de compatibilidad:
  • direct=no
  • statistics=no  ( para 11g ó10g de origen con destino en 9i )
Mayor información la pueden encontrar en la nota del sitio de soporte de Oracle My Oracle Support #132904.1


Para Oracle 9iR2:
Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 9.2.0.8 - Release: 9.2 to 9.2
Oracle Server - Enterprise Edition - Version: 11.1.0.6 to 11.2.0.1 [Release: 11.1 to 11.2]
Information in this document applies to any platform.

Symptoms

You need to export data from 11g and import into 9iR2. For this reason, the exp utility version 9iR2 is used to extract data from 11g. There are two aspects of this problem:

1. On some Unix platforms, the exp utility either returns no errors or core dumps.
2. On Windows platforms, exp core dumps (Dr.Watson)

Both created dumps are corrupt, the imp utility crashes immediately after the export dump header is read.

Cause

Exp utility version 9iR2 internally uses the dictionary view EXU9DEFPSWITCHES to get information about some parameters like PLSQL_COMPILER_FLAGS and NLS_LENGTH_SEMANTICS. The parameter PLSQL_COMPILER_FLAGS doesn't exist in 11g anylonger and so the view EXU9DEFPSWITCHES returns unhandled 0 rows.

Solution

1. Connect to database 11g as SYSDBA with SQL*Plus
2. Change the definition of view EXU9DEFPSWITCHES from:

CREATE OR REPLACE VIEW exu9defpswitches (
compflgs, nlslensem ) AS
SELECT a.value, b.value
FROM sys.v$parameter a, sys.v$parameter b
WHERE a.name = 'plsql_compiler_flags' AND
b.name = 'nls_length_semantics'

to:

CREATE OR REPLACE VIEW exu9defpswitches (
compflgs, nlslensem ) AS
SELECT a.value, b.value
FROM sys.v$parameter a, sys.v$parameter b
WHERE a.name = 'plsql_code_type' AND
b.name = 'nls_length_semantics'

(see new parameter PLSQL_CODE_TYPE)

3. Re-start exp version 9iR2 to extract from 11g

4. Import the new dump using imp version 9iR2.

miércoles, 16 de junio de 2010

Patch Set 4 para Oracle Database 10gR2 ( 10.2.0.5 )-Soporte Premier Finaliza en Julio de 2010

El patch set 10.2.0.5, ya esta disponible para aplicar a nuestras bases de datos 10gR2.  Como suele suceder, el patch esta disponible para ambientes Linux x86/x86-64, Solaris x86-64/Sparc 64, HP/UX Itanium, AIX POWER 64 y tiene un tamaño entre 1.9 y 1.2 GB.

Es bastante probable, -salvo que exista una variación en la matrix de ciclo de vida del producto-, que éste sea el release final de la versión 10gR2, esto, porque el Soporte Premier, finaliza en julio del presente año, el cuál proporciona mantenimiento y soporte para la base de datos Oracle, Oracle Fusion Middleware y aplicaciones de Oracle, para un período de cinco años desde la fecha de su disponibilidad general.  A partir del próximo mes, Oracle, no extenderá nuevas certificaciones para hardware, sistema operativo o componentes de terceros, relacionados con esta versión.

De igual manera, para el próximo mes, concluye el período de soporte extendido para la versión Oracle 9iR2, por tanto, es recomendable, que todos aquellos que se encuentren en esta versión, hagan los ajustes necesarios, para migrar sus sistemas, a alguna de las versiones existentes, con soporte al menos extendido.



lunes, 14 de junio de 2010

LAOUC & NZOUG Webinars for LAOUC Members (LAOUC y webinars NZOUG para Members LAOUC)

Estimados Dirigentes,


LAOUC NZOUG y están organizando una serie de seminarios web gratuitos para nuestros miembros, en total serán alrededor de 26 seminarios web en los próximos tres meses con varios gurús de Oracle, por favor encuentre abajo los 3 primeros seminarios para el mes de junio (Siéntase libre de distribuir a los todos sus miembros):


- 16 de junio, 18:00 hrs Brasil de zona horaria, el Sr. Arup Nanda - Cómo proteger tu DB en un Día - Inscripción en https://www1.gotomeeting.com/register/764545409


- 17 de junio, 04:00 hrs Brasil de zona horaria, la Sra. Debra Lilley - Fusion Applications, ¿Qué está detrás de él! - Inscripción en https://www1.gotomeeting.com/register/533450601


- 24 de junio, 18:00 hrs Brasil de zona horaria, el Sr. Daniel Morgan - Cómo leer e interpretar un Plan Explicar - Inscripción en https://www1.gotomeeting.com/register/588793721


La Sra. Debra Lilley presentación se transmitirá de nuevo por la DAI, el 29 de julio a las 10:00 AM Brasil de zona horaria.


Abajo está la lista de los Webcasts otros ya confirmados:


Arup Nanda jul-08 18:00 afinamiento del rendimiento en RAC
Morgan Daniel julio-15 18:00 11gR2 edición basada Redefinición
Dimitri Gielis julio-16 24:00 Experiencias de Apex 3.xa 4.x
Arup Nanda julio-22 18:00 bajo el capó de fusión Cache, GES, GCS y GRD
Debra Lilley julio-29 10 a.m. Fusion Applications - ¿Qué hay detrás de él!
Forbrich Hans agosto-05 18:00 Introducción a Oracle Spatial 9 a 11
Robert Freeman agosto-12 18:00 RMAN avanzada
Arup Nanda agosto-19 18:00 ACFS sistema de archivos
Daniel Morgan agosto-20 18:00 paradigmas para trabajar con grandes bases de datos para desarrolladores y DBAs
Hans Forbrich sep-09 18:00 Conexión a bases de datos Oracle mediante la agrupación de conexiones y la autenticación de usuario del proxy
Daniel Morgan Sep-10 18:00 Razones para actualizar ahora 11gR2
Robert Freeman septiembre-23 18:00 Rac en VMware
Dimitri Gielis septiembre 04 a.m.-30 Experiencias de Apex 3.xa 4.x


Atentamente,
Francisco Muñoz Álvarez

Requisitos del sistema
Asistentes basados en PC
Requerido: Windows ® 7, Vista, XP, Server 2003 o 2000


Asistentes basados Macintosh ®
Requerido: Mac OS ® X 10.4.11 (Tiger ®) o más reciente

Cómo encontrar las certificaciones para productos de base de datos y otros, en los releases Standard, Standard One Edition y Clientes en My Oracle Support ?

Una de las cosas que debemos acostumbrarnos en el nuevo portal de My Oracle Support, es que contrario al antiguo sitio de Metalink, cuando buscamos una certificación para un producto, sólo aparecen las referencias a los productos de la versión Enterprise.

Esto quiere decir que las versiones Standard, Standard One Edition y Clientes, no estan soportadas.?

Pues NO, la respuesta esta en la nota 1062972.1, del 07 de junio de 2010.  De ahora en adelante, cuando requieras obtener información para una versión distinta a la versión Enterprise, debes considerar, que si esta certificada para la version Enterprise Edition, también lo estará para la versión Standard, Standard One Edition, Personal y para el cliente, salvó que se indique lo contrario.

De igual manera, puedes encontrar mayor información en la nota: Oracle Product Lines - Tips for finding Certification Information [ID 964664.1]

...
**If the release is Certified under Oracle Server - Enterprise Edition, then all the Editions (Enterprise, Standard, Standard one, Personal and Client) are considered certified, unless specifically noted otherwise**

Cuál es el papel que juega América Latina, en el engranaje de la Corporación Mundial de Oracle ?

Editorial del lunes

Hola amigos y amigas.  Inmerso en el proceso de inaguración y desarrollo de la primera fase del mundial en Sudafrica y atento a lo que suceda con mi equipo favorito la "verde amarela", sin dejar de lado, lo que las demás representaciones patrias del continente puedan hacer en esta justa y con poco tiempo para ponerme a investigar y escribir algo con contenido educativo, al menos por esta primera semana; me he preguntado una y otra vez y ante la gran cantidad de bruma, que observo en los Partners de negocio de Oracle en Costa Rica:

Cómo estarán las relaciones Partners-Oracle en el resto de America Latina.?

No es querer poner la yaga en la ya muy profunda herida, de una de por sí, muy maltratada relación, en los últimos años de Oracle con sus aliados de negocio, sino más bien, poder llamar la atención de aquellos que tienen el poder de hacer que las cosas cambien.

Una y otra vez, he hecho el comentario, que con el pasar de los años, la relación de programadores dedicados al desarrollo de aplicaciones Oracle en el país, han pasado de una relación de 1 a 1 hace unos 15 años, a una aplastante diferencia negativa de 1 a 10 o más, en herramientas de otros productos del mercado.

Comentamos, que por primera vez en 10 años, se realizó hace pocos días, el Jdeveloper Day, como primer evento para desarrolladores.  Una encuesta que realizamos en este blog, determinó, que para Oracle, según la opinión de los lectores de Oracledbacr:
  • No le importaba los desarrolladores
  • Le daba lo mismo, si existían o no
Cuesta creer, que una empresa mundial, de las características de Oracle, tenga tan malas opiniones, de la misma magnitud, con las que el pueblo, constamente tiene de nuestros gobernantes.

De que vale, un portafolio tan extenso de productos, sino existe, personal técnico, que pueda implementar un proyecto de TI con estas herramientas.?

Los cambios implementados con las especializaciones en las membresías, me parece una buena política, para forzar a los socios de negocio, a mejorar su conocimiento en las distintas áreas de producto de Oracle.

Pero se justificaba, que se le quitáran, privilegios que por años, habían tenido los partnes de la membresía Gold, como tener acceso a los tan elementales, SR ( Service Requests- los famosos TAR ), hasta no tener una especialización completada.?

Una serie de requisitos no tropicalizados, que obligan a decenas de Partners, a realizar un esfuerzo realmente especial, en mantener, contratar y capacitar un grupo importante de su equipo, con el fin de poder atender la especialización requerida.

Y es que existe un gran número de socios de negocio, donde el equipo técnico, lo componen en ocasiones, cuando mucho de 5 a 10 personas.  En ocasiones estas micro-empresas, con equipos muy bien preparados y con una gran cantidad de años de experiencia en el ramo, son las que estan pegando el grito al cielo, ya que se les esta limitando y literalmente eliminando del mercado competitivo.

Entiendo la política como una medida, que sirva de coladero, para eliminar a aquellas empresas, que por años han sido Partners de Oracle y cuyo aporte al crecimiento de la Corporación, ha sido prácticamente nula.  Cuántos socios de negocio, nunca han vendido, aunque sea una licencia de una base de datos o de un producto de capa intermedia.

Cuántos otros, han funcionado a lo largo de estos años, ofreciendo paralelo a la venta de una licencia, mejores precios - como producto de los descuentos otorgados- y han canalizado, como buenos samaritanos, dichos descuentos, para poderlos transformar, en la adquisición de un servicio, para bien propio.?

No digo que del todo esto esté mal, las empresas, se crean para ganar, no para perder o salir tablas, pero, debían pagar justos por pecadores.?

He visto con el pasar de los años, como el mundo de Oracle, cada vez, se ha estrechado más y más en nuestro país.  Ya no existen, aquellas empresas nacionales, que contaban con varios cientos de empleados, repartidos por todo el continente y fuera de él, desarrollando aplicaciones, basadas en productos Oracle.

El mercado se ha contraído y hay más participantes en el juego, para una demanda, que año con año, se ve más afectada, por el golpe de la recepción económica, que nos afecta de forma global a todos.

Mi frase más trillada, ha sido siempre, "Yo desayuno, almuerzo y ceno Oracle, porqué es lo que me ha dado de comer a mí familia en los últimos 20 años", creó, que los Partners, no estan pidiendo que les regalen las cosas, ellos piden, que se les brinde la oportunidad, de poder se competitivos en un mercado cada vez más difícil.  No estan pidiendo que les den de comer, estan pidiendo que les permitan conseguir el alimento de cada día, teniendo como fortaleza, a una empresa que los respalde y les de herramientas, para ser productivos.

Me parece grotesco y de mal gusto, el hecho de haber cambiado, los beneficios de una membresía, a la cuál estaban todos acostumbrados, sin ningún comunicado previo y aún más, a no contar con el apoyo en el momento adecuado y preciso, de todos los problemas, que han sufrido durante este semestre, en relación, con las renovaciones de sus membresías, accesos a áreas de especialización y creación de cuentas de usuarios.

Me pregunto, una y otra vez, que si este descuído al que hemos sido sometidos durante tantos años, será producto, de ser parte de un territorio que representa un porcentaje muy pequeño, en los ingresos mundiales de la compañía, o a una mala percepción del mercado activo de la zona, como en una ocasión lo comentó Francisco Muñoz, Oracle ACE Director Chileno, en la reunión de Grupos de Usuarios de Latinoamerica,del mes anterior, en dónde los números de Oracle, establecía en cerca de unos 3000,  más o menos, los usuarios dedicados a trabajar y desarrollar tecnología, con productos Oracle, cuando tan sólo en el Brasil, la cantidad es de varias decenas de miles.

Ojalá señores, que estan a cargo del desarrollo e implementación de las políticas, en America Latina, abran un poquito los ojos y miren, que lo que estan haciendo, es matando la gallina de los huevos de oro.  Sin canales, no hay como distribuir los productos.  Si no hay ventas, no hay ingresos y no hay razón, de la existencia de una oficina representante del producto en la zona geográfica que controlan.  Sin oficina de Oracle, no hay "brete" - trabajo- por tanto, tampoco hay plata.

Aclaración: Oracledbacr, es un blog independiente y refleja en sus comentarios y contenido, el punto de vista de su creador y por ende, no refleja el punto de vista de la empresa, para la cuál laboro actualmente.  Por tanto, basado en el derecho de libre expresión contenido en nuestra constitución política y siendo nuestro país uno de los más seguros, para hacerla valer, según Reporteros sin Fronteras, hago uso de ella.


miércoles, 9 de junio de 2010

IE de Microsoft le roba en conjunto el primer lugar a Firefox, pero FireFox 3.6, es el Web Browser más utilizado.

Los últimos dos meses, no han sido malos para IE de Microsoft, que despues de más de 9 meses, por primera, retoma el primer lugar, como Web Browser utilizado, en los accesos realizados a este blog.

El crecimiento de IE, se ha potencializado, según la gráfica, por una fuerte adopción de la versión IE 8.0, contrario a lo visto en los meses anteriores.  Posiblemente, los usuarios han decidido, aplicar las actualizaciones a sus respectivos sistemas operativos y la nueva versión, les ha parecido más atractiva, que la versión de FireFox 3.6

Sin embargo, si ven la gráfica, Firefox con su versión 3.6 sigue siendo el Web Browser más utilizado en la red, con un 25.4%, contra un 23.4% de IE 7.0 y un 16.8% de IE 8.0



Oracle OpenOffice Vs Microsoft Office 2010

Hacer comparaciones, es por lo general, lo más engorrozo y mal visto, que se pueda hacer.  Es una mala práctica que los padres, estamos muy dados de hacer, cuando tenemos que llamar la atención a alguno de nuestros hijos, como si ellos, les interesara, lo que los demás pueden hacer o dejan de hacer.

Se nos olvida muy de vez en cuando, que nadie "escarmienta en cabeza ajena".

Por eso, lo único que pretendo, es que ustedes mismos, formulen su propio criterio a partir de un grupo de elementos de juicio.

Todos de alguna manera o otra, nos hemos visto afectados, por la recesión económica, de los últimos dos años.  Ahora que la mayoría de los países latinoamericanos, firmamos tratados de libre comercio con los EUA y con otros países en el viejo continente, nos vemos en la necesidad de cumplir, con los reglamentaciones vigentes a nivel internacional, relacionadas con los derechos de propiedad e intelectualidad.

Por ideología, les diría, que la solución a todos nuestros problemas de licenciamiento a nivel de software para automatización de oficina, es la utilización de programas OpenSource.  Sin embargo, a nivel práctico, sabemos muy bien, que la ideología con la práctica, suelen por lo general estar muy distantes una de la otra.

Cómo justifico, ante un problema grave, que no tengo soporte, para solucionar un problema de operación, que podría poner en peligro todo el engranaje de mi organización.?

Y es cierto, que tal vez, el inconveniente más grande que puede tener, la adopción de software libre, es la obtención de soporte ante problemas de operación o bugs del propio software.  Dependemos de los forums de discusión y de la buena voluntad de los miembros de la comunidad, para poder atender nuestras necesidades.

Ahora que Oracle tiene bajo la manga, el "AS" que con el tiempo creo, será la "Suite Integrada" para los productos de Capa Intermedia y Content Management, para el manejo de documentación; tenemos en Oracle OpenOffice, una excelente herramienta, para implementar la automatización de la oficina, a un precio reducido y con soporte.

Y es que dentro de su gama de productos, que se codean taco a taco con los de la competencia, tiene además de estas ventajas, el hecho de correr en una amplia gama de plataformas:
  • Microsoft Windows 2000 (Service Pack 4 or higher), XP, or Vista (32-bit and 64-bit), Windows 7 (32-bit and 64-bit)
  • Macintosh OS X v10.4 (Tiger) or higher
  • Linux Kernel version 2.4 or higher
  • Solaris 10 operating system (SPARC platform) or higher, Solaris 10 operating system (x86 platform) or higher
Y si hablamos de precio, con el precio de la versión standard de OOO, que no requiere la compra de un número mínimo de licencias, -como si lo tiene la versión EE-, podríamos adquirir 3 licencias de Microsoft Office Home and Student, ó 10 de la versión, Small Business, que sería la versión con la que corresponde comparar, ya que la versión Standard de MsOffice, viene con Outlook, para el manejo de correo electrónico.  De hecho parece poco lógico, que la versión Standard defiera a nivel de precios de la Home, por tan sólo $50,00.

Para muchos usuarios de MSOffice, la interface, podría no ser tan atractiva.  Pero las funcionalidades con las que viene OOO, una vez que lo empiezas a utilizar, cambiarás rápidamente tu forma de pensar.

Basta con intentar editar un documento de más de 100 páginas con MSOffice, para desear, tirar la máquina por la ventana, al tardarce tanto, en poderse trasladar desde el inicio hasta el final del documento.  Con OOO, podrás ver la diferencia.

Y es que OOO, es en esencia, la misma versión del OpenOffice, de código abierto, con algunos pequeños cambios, entre ellos, el soporte y sustento, por parte de Oracle Corporation, para el producto.

Yo les recomiendo, que hagan la prueba y verifiquen por cuenta propia, las ventajas y desventajas que puede tener el utilizar OOO.

Adicionalmente, Oracle a puesto a disposición una versión para servidor, que es accesible a través del explorador web de su máquina- web front-end-, que sirve de solución completa, para el procesamiento de documentos, sin tener que realizar instalación alguna, a nivel de los clientes, con un costo cercano a los $5.500,00 por procesador instalado en el servidor, siguiendo, las mismas métricas de licenciamiento, que rigen para todos los productos Oracle.

Si se deben reducir costos de licenciamiento y administración, Oracle OpenOffice Server, es una buena opción, para corporaciones de mediano y gran tamaño, operando siempre con estándares del mercado.

Mayor información la puedes obtener en el siguiente link ó en el portal http://www.oracle.com/



Errores registrados en el ALERT de la base de datos: ORA-00603 en combinación con ORA-0600

Unos de estos días, me hicieron la consulta sobre el siguiente tipo de error:

 
Todos los días, al llegar a la oficina, el aplicativo daba errores.

 
Revisaban y se daban cuenta, que todos los sinónimos estaban inválidos y los paquetes quedaban descompilados.

 
Curiosamente, era un patrón que se estaba repitiendo, cada cierto tiempo, sin encontrar alguna razón posible.

 
En My Oracle Support, encontré una nota, en donde se hace referencia a este tipo de comportamiento, el cuál no corresponde a un "BUG" de la base de datos.

 
Esta combinación de errores aplicativos con el error interno, es producido, cuando alguién o algo, intenta borrar registros de la tabla users_synonym, tabla que corresponde al diccionario de la base de datos.

 
Así que si es un evento que se presenta con un patrón de comportamiento establecido, podríamos sospechar, que el problema se deba a dos posibles causas:

  1. Un error de programación, con intento de borrado sobre la tabla en cuestión
  2. Una compilación o recreación de objetos en la base de datos, sin tener los privilegios de sistema respectivos

Errors in file /oracle/app/admin//udump/ora_1177580.trc:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [kqldsyu1], [3], [0], [53046], [], [], [], []
Fri May 21 11:41:51 2010

LAD UG CALL- Comunicado de Marina Neumann a todos los Directores de Grupos de Usuario de Latinoamerica


HACE EXTENSIVA LA INVITACION


Estimados Dirigentes,
 
Espero que pueda unirse a nuestro próximo UG LAD de líderes. Por favor, siéntase libre de invitar a otros miembros de su junta directiva y pedir a alguien que lo represente si usted no puede asistir.

Orden del día:
  • World Open y Grupos Sol (LAD y SF)
  • Dasteel de llamadas de JEB y modelo UG nueva
  • Regional de actualizaciones de los líderes de UG
  • LAOUC OTN Tour y otra información
  • Puesta al día sobre la información de contacto
  • Otros temas (si es posible, por favor me envíen con antelación por correo electrónico).
  • UG Cumbre en enero de 2011 confirmó
 
Título: LAD UG CALL
Organizador: Marina Neumann
Hora de inicio: Jue, 17 de junio 2010 18:00 BRT
Hora de finalización: Jue, 17 de junio 2010 19:00 BRT
Ubicación: Intercall ID 6451465 PW 123456

Muchas gracias,

Neumann Marina
Director
Teléfono: +551151893033
Móvil: +551186395171
Atención al cliente de Oracle

domingo, 6 de junio de 2010

Quick Tip: Cómo pasar a minúsculas todos los archivos ubicados en un directorio en LINUX

Si estas en un directorio donde tienes archivos con caracteres en mayúsculas y mínúsculas, como producto del pase de archivos entre plataformas Windows y Linux por ejemplo, puedes usar el siguiente script, para dejar todos los nombres de archivos en minúscula.

Recuerda que Linux es sensitivo a las mayúsculas y minúsculas.

ls | awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh

jueves, 3 de junio de 2010

Cuando Linux deja de ser Linux, SuSe 11, "la solución más rentable y fácil de gestionar para entornos mixtos de Linux y Windows"


Hace meses atrás, hablé de las virtudes de las nuevas versiones de Suse, tanto en la disponibilidad de herramientas, como en una interface para el usuario final, simplemente excepcional.

Hoy, debo con humildad aceptar, que me equivoqué.  Algo que parecía ser tan bueno, no podría serlo del todo.
Suse afirma: "Mediante la integración perfecta con las tecnologías existentes, SUSE Linux Enterprise transforma las fronteras en puentes para que la infraestructura de TI de su empresa funcione al unísono.", hasta aquí no hay queja alguna.

Pero continúamos leyendo, "¿Por qué es importante la interoperabilidad de Linux y Windows? Porque, sin ella, la ejecución de su infraestructura conllevaría más gastos, riesgos y complejidades. Sólo SUSE® Linux Enterprise 11 ofrece una solución de rendimiento óptimo para la virtualización de Linux/Windows.", quién puede afirmar con tanta certeza, que la falta de interoperabilidad entre Linux y Windows sea una barrera, para que las organizaciones, tomen como decisión utilizar alguna de las distintas plataformas de sistemas operativos abiertos.?

La respuesta podría ser Suse?.  Para mí no. 

Novell, dueño de Suse, se encargó de desaparecer del mercado, uno de los mejores sistemas operativos para equipos de plataforma Intel, como lo fué SCO Unix. Ahora, nos dicen que, "...para los usuarios finales, SUSE Linux Enterprise Desktop y OpenOffice.org funcionan a la perfección en Windows y Microsoft Office, con un nivel de productividad óptimo y unos gastos mínimos. SUSE Linux Enterprise 11, recomendado por Microsoft, ofrece una experiencia informática sencilla y fiable, desde el equipo de escritorio hasta el centro de datos."

Por favor, que "alguién me expliqué", desde cuando Microsoft fomenta la utilización de un sistema operativo, que no sea "DOS gráfico".?

Me parece que el camaleón, con todo respeto, esta vestido con la camiseta de Linux por un lado, pero por otro lado, esta camuflado, sirviendo de alfombra a nuestro estimable amigo Bill Gate.

Nuestros amigos de Suse, no saben donde estan parados ( o tal vez si lo saben $$$$ ).

Pero la impresión que me da, es como si quisieran jugar un partido de futbol, con un raqueta de tenis y que las instrucciones de su entrenador hubieran sido, que orquestara el medio campo y entonces, en su desconocimiento, se trajo una batería, al mejor estilo de Joey Kramer ( Aerosmith ), para entonar una buena melodía, cuando es bien conocido, como lo afirmaban en un famoso e innolvidable programa radial de mi país, que el futbol "se juega con los pies, pero sobre todo, con la cabeza", cabeza que al parecer, ya la perdió Suse.

Adicionalmente, se maravillan de "..Pero la interoperabilidad no acaba aquí. Por primera vez, puede ejecutar aplicaciones ASP.NET en Linux. Reduzca los gastos e incremente el rendimiento con la plataforma de uso en los equipos más potentes del mundo y capaz de aliviar su presupuesto al mismo tiempo. Además, SUSE Linux Enterprise 11 es compatible con estándares abiertos, de modo que podrá gestionar entornos heterogéneos de Linux, Windows y UNIX con la solución de gestión que prefiera. No se conforme solamente con simplificar su entorno; incremente también la flexibilidad y la capacidad de selección."

Por favor, que tienen que ver los estándares abiertos, con interoperabilidad con Windows, cuántos de ustedes conocen el código fuente de "MS Windows"?.

Pienso, como lo comunican en un anuncio publicitario, para hacer un gallo pinto, se debe hacer con frijolitos, chile dulce, cebollita, arroz, un huevito tierno, tal vez, se le puede agregar platano maduro y queso y por supuesto, no puede faltar la salsa Lizano ( no la salsa inglesa ).  Ese es nuestro gallo pinto orignal, el gallo pinto de los ticos, cualquier otra combinación, no es nuestro.

Espero que no sea la muerte de "Software und Systementwicklung".

miércoles, 2 de junio de 2010

Formateo de valores y utilización de la nueva función CURSOR en SQL

Existe en ambientes UNIX y Linux, algunos utilitarios, que nos permite manipular la información de un conjunto de parámetros, pasados a un script para permitir relacionarlos como parte de una sóla salida de datos.

Muchos lenguajes de secuencias de comandos, tales como Perl y Python, proporcionan funciones que hacen posible, manipular dentro del mismo idioma, lista de valores específicos; por lo que es sorprendente que, aún, esta funcionalidad no forme parte del estándar de programación, como una función nativa en SQL.
En las siguientes líneas, podrás observar como jugar con esta simple función llamada "join" y algunas aplicaciones en las cuáles podemos sacar provecho.
Para empezar, vamos a conectarnos a nuestra base de datos Oracle Database 11gR2 y vamos a crear un usuario de pruebas para el ejercicio.

Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: sys@lab2 as sysdba
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> create user PR identified by pr;
User created.
SQL> grant create session to pr;
Grant succeeded.
SQL> grant dba to pr;
Grant succeeded.

Conectados con el usuario de pruebas, vamos a crear una tabla simple con algunos campos y la vamos a llenar de información, que sirva de ejemplo, en la salida de las consultas.

Enter value for nombre: RONALD
Enter value for apellido: VARGAS
Enter value for id_empleado: 1
Enter value for fecha: 01-JUN-10

old 1: insert into empleados values ('&nombre', '&apellido',&id_empleado, '&fecha')
new 1: insert into empleados values ('RONALD', 'VARGAS',1, '01-JUN-10')
1 row created.

SQL> /
Enter value for nombre: MAURICIO
Enter value for apellido: MENESES
Enter value for id_empleado: 2
Enter value for fecha: 02-JUN-10

old 1: insert into empleados values ('&nombre', '&apellido',&id_empleado, '&fecha')
new 1: insert into empleados values ('MAURICIO', 'MENESES',2, '02-JUN-10')
1 row created.

SQL> /
Enter value for nombre: ROBERTO
Enter value for apellido: ESPINOZA
Enter value for id_empleado: 3
Enter value for fecha: 03-JUN-10

old 1: insert into empleados values ('&nombre', '&apellido',&id_empleado, '&fecha')

new 1: insert into empleados values ('ROBERTO', 'ESPINOZA',3, '03-JUN-10')

1 row created.

SQL> /

Enter value for nombre: MANUEL
Enter value for apellido: OBREGON
Enter value for id_empleado: 4
Enter value for fecha: 04-JUN-10

old 1: insert into empleados values ('&nombre', '&apellido',&id_empleado, '&fecha')


new 1: insert into empleados values ('MANUEL', 'OBREGON',4, '04-JUN-10')
1 row created.
SQL> COMMIT;
Commit complete.


A continuación, vamos a crear la función "join", la que nos permitirá manipular una lista de parámetros o valores, en la ejecución de una consulta.

SQL>

create or replace function join
(
p_cursor sys_refcursor,
p_del varchar2 := ','
) return varchar2
is
l_valor varchar2(32767);
l_resultado varchar2(32767);

begin

loop
fetch p_cursor into l_valor;
exit when p_cursor%notfound;
if l_resultado is not null then
l_resultado := l_resultado
p_del;
end if;
l_resultado := l_resultado
l_valor;
end loop;
return l_resultado;
end join;
/

SQL> /
Function created.


Podemos utilizar la funcionalidad de la función "join" para especificar una consulta que devuelva una sola columna y un delimitador, como una cadena simple, que contiene una lista de los valores separados por mi delimitador.


La sub-consulta se puede pasar a la función como un CURSOR de referencia, utilizando la nueva función de CURSOR de SQL. El delimitador predeterminado es una coma, ya que es el delimitador más comúnmente utilizado.


SQL> SELECT JOIN(CURSOR(SELECT NOMBRE FROM EMPLEADOS)) FROM DUAL;
JOIN(CURSOR(SELECTNOMBREFROMEMPLEADOS))
--------------------------------------------------------------------------------
RONALD,MAURICIO,ROBERTO,MANUEL

SQL>
SQL> select join(cursor(select trunc(fecha_inclusion,'MONTH') from empleados),'|') from dual;

JOIN(CURSOR(SELECTTRUNC(FECHA_INCLUSION,'MONTH')FROMEMPLEADOS),'
')
---------------------------------------
01-JUN-10|01-JUN-10|01-JUN-10|01-JUN-10

SQL> select join(cursor(select fecha_inclusion from empleados),'|') from dual;
JOIN(CURSOR(SELECTFECHA_INCLUSIONFROMEMPLEADOS),'
')
----------------------------------------
01-JUN-10|02-JUN-10|03-JUN-10|04-JUN-10

Utilicemos la función de "combinación" -join- para comparar dos conjuntos de datos ordenados. Por ejemplo, la siguiente consulta comprobará que se ha creado un índice en una clave externa (foreign key), que ayuda a evitar el bloqueo de la tabla y ayuda en las consultas principales sobre la table detalle.

SQL>
select decode(indexes.table_name,null,'missing','ok') status,
constraints.table_name,
constraints.columns
from
(select table_name,
constraint_name,
join(cursor
(
select column_name
from user_cons_columns
where constraint_name = user_constraints.constraint_name
)) columns
from user_constraints
where constraint_type = 'R'
) constraints,
(select table_name, index_name,
join(cursor
(
select column_name
from user_ind_columns
where index_name = user_indexes.index_name
)) columns
from user_indexes) indexes
where constraints.table_name = indexes.table_name (+)
and constraints.columns = indexes.columns (+)
/