Información, tips y utilidades sobre Oracle Business Intelligence y OWB

Información, tips y utilidades sobre Oracle Business Intelligence y OWB Dataprix 5 May, 2022 - 09:18

Tips sobre bases de datos Oracle

Este libro online recopila publicaciones y aportaciones de interés sobre herramientas de Business Intelligence de Oracle, y especialmente sobre Oracle Warehouse Builder, la ETL gratuita de Oracle.

 

Integracion de datos

A ver si nos aclaramos con las suites de BI de Oracle

A ver si nos aclaramos con las suites de BI de Oracle Carlos 21 Octubre, 2009 - 23:48

En el artículo Las suites de Business Intelligence de Oracle se comentan las características principales de cada suite con el objetivo de aclarar un poco la orientación de cada una, y las herramientas que las componen.

Abro este tema para recoger las opiniones y comentarios sobre estas diferencias, parecidos, solapamientos, ventajas, desventajas, etc.

Muy buena recopilación y explicación sobre los diferentes productos que tiene Oracle para BI. La verdad que mirando en la página de Oracle no era capaz de entender entre tanta cantidad de productos diferentes, pero despues de leer tu post creo que me ha quedado bastante claro.

 

Respecto a Oracle Warehouse Builder, parece ser que estan pasando a Oracle Data Integrator. ¿Cual me recomiendas para empezar a familiarizarme con las herramientas ETL de Oracle?.

 

Un saludo y gracias.

 

 

 

 

 

En respuesta a por respinosamilla

Depende del objetivo que tengas en mente. Como ETL OWB es más limitado que ODI, sobretodo en cuanto a conectividad con entornos no Oracle, y más aún si hablamos de destinos de datos, pero tiene la importante ventaja de que no necesitas licencias adicionales para utilizarlo si ya dispones de alguna licencia de BD Oracle.

En cuanto a la utilización yo conozco más Oracle Warehouse Builder que Oracle Data Integrator. Lo que te puedo contar es que cuando está todo configurado es bastante eficiente, las cargas se ejecutan rápido, que el destino sólo pueda ser Oracle ha de tener sus ventajas.. Digo cuando está todo configurado porque conseguir que todo funcione correctamente puede tener sus complicaciones, es una herramienta que va bien cuando todo está bien, pero los mensajes de error y la resolución de problemas no es muy intuitiva, y tampoco es facil encontrar documentación sobre problemas de instalación y configuración.

Si tu entorno de integración va a acabar actualizando una BD Oracle, y quieres una ETL que no suponga un gasto extra, te recomiendo OWB. En cualquier otro caso, si quieres utilizar diferentes sistemas origen y destino de datos, el coste de la herramienta no te importa o no te afecta, o quieres explorar una ETL más completa y con más recorrido, yo me inclinaría por ODI. Bueno, en realidad más que ETL la llaman E-LT (Extract, Load and Transform), se ve que hacer la transformación al final mejora el rendimiento.

Ten en cuenta que, para complicar un poco más la decisión, Oracle tiene una tercera ETL, otra de sus últimas adquisiciones. Se trata de GoldenGate Software, ahora Oracle GoldenGate. Yo tampoco la he probado, pero su principal característica es que soporta la integración de datos en tiempo real, que es la última tendencia en Integración.

Como puedes ver, haría falta otro artículo sólo para comentar las herramientas de Integración de Datos de Oracle. Incluso tienen otras soluciones para temas más específicos, o herramientas u opciones más orientadas a la Calidad de Datos.

Bueno, espero haberte ayudado en algo, ya nos explicarás por cuál te decides, y qué te parece cuando la pruebes.

En respuesta a por respinosamilla

De nada Roberto. Me alegro de haberte sido de ayuda.

No sé si ya lo tienes, pero como cada vez cuesta más encontrar en la web de Oracle referencias a OWB, este es el enlace para la descarga de OWB

De todas maneras, si es para probar la ETL con una BD Oracle en la misma máquina, y especialmente si quieres hacer algo de BI o DWH, seguramente lo mejor es que instales el paquete completo de BISE1, muy fácil de instalar, y ya se queda con todo el entorno configurado (OWB, la base de datos y el servidor de BI). También viene con un tutorial y con ejemplos para que puedas probar todo, incluso la plataforma de BI.

Te recomiendo que te mires en la documentación de BISE1 la guia de instalación, y sobretodo el tutorial, el capítulo 3 es todo sobre OWB.

Dashboard de ejemplo de Oracle BISE1

Mi nombre es Luis Mendez soy de México, y bueno anduve indagando por la web
en busca de información por que he intentado hacer una instalación de
alguna suite de Oracle Business Intelligence, sin embargo no he logrado
comprender del todo la instalación y no he podido prácticamente, quisiera
ver si podrían orientarme un poco a alguna aplicación o a algún software
sencillo", solo es para una demostración en clase de mi Universidad, algo que pueda  ser de utilidad lo agradeceria mucho.   Gracias por el apoyo

En respuesta a por Luis Mendez

Hola Luis. Creo que llego un poco tarde, y hace tiempo que no toco el BI de Oracle, pero la versión más sencilla es la BISE1, Oracle Business Intelligence Standard Edition One, que es justo la que comentaba en el artículo a partir del que se ha abierto este tema.

Te puedo decir que yo, sin haberla utilizado previamente, puede descargarla y ponerla en marcha para hacer una demo con el ejemplo que traía, justo para hacer una comparativa con otras suites de BI para arrancar un proyecto de Business Intelligence. Si no recuerdo mal, en menos de una semana ya la tenía lista para probar.

 

Estoy realizando un DataDiscovery con el área funcional de un banco , voy a construir un datamart para el área de información estratégica , en base a pruebas conceptos entre productos Oracle bi y Microsoft bi , que comentarios podrían aportar en base a su experiencia. Gracias.

En respuesta a por Josue Silva (no verificado)

Hola Josue

Es muy difícil decir algo en general, y más con poca información, ya que cada software es más adecuado para unas determinadas circunstancias. A nivel general, mi opinión es que Oracle tiene una suite de BI más completa, pero también más compleja de cara a la instalación, desarrollo, etc, y seguramente también más cara.

La mayor parte del software de BI de Microsoft viene ya de serie con SQL Server, incluyendo el software de ETL (SSIS), por lo que si ya dispones de la base de datos, y conoces el entorno, puede ser una buena opción. Eso sí, ten en cuenta que lo que viene de base está pensado para crear cubos de Analysis Services, que se pueden consultar como tablas dinámicas desde excel, PowerPivot, etc., pero SQL Server no viene con un servidor de BI como los que podemos ver en suites como las de Oracle, Cognos, Microstrategy..

Si necesitas acceder por web al datamart, implementar seguridad, etc. míratelo bien porque entonces, si no ha cambiado nada desde la última vez que lo miré, creo que has de recurrir a desarrollar tus informes sobre Sharepoint, que es lo que haría de servidor web de BI, y daría el acceso por web a la información de los cubos.

 

Demo online de Hyperion Planning

Demo online de Hyperion Planning leo 27 Agosto, 2008 - 17:10

Para quien quiera echar un vistazo rápido a cómo funciona Hyperion para hacer presupuestación y planificación, que es lo suyo, Hyperion Planning Demonstration es un video de demostración que muestra cómo se trabaja con este software de Oracle.

La fortaleza básica de Hyperion es su motor de BD-OLAP, único en el mundo, Essbase. Sobre el la empresa ha desarrollado dos grandes familias de productos: las Aplicaciones de BI y las Herramientas de BI. Cada una con una potencia para satisfacer exigencias de clase mundial. El Planning es una de las Aplicaciones.

Atilio Díaz Brito

Sabe de Datos Consultores

adiazb@sabedat.com

58-212-267-9810

Documentacion oficial sobre Hyperion

Documentacion oficial sobre Hyperion Carlos 21 Agosto, 2008 - 00:16

En la web de Oracle se encuentra accesible la Librería de Documentación de Hyperion Enterprise Performance Management System.

La librería está estructurada por categorías desde cada una de las cuales se puede ver la documentación en HTML o descargar el manual en formato PDF.
Sólo hay que saber elegir qué manual se necesita:

Logo HyperionIntroduction
Installation & Backup
Essbase - System 9
Reporting and Analysis
Financial PM Applications
Data Management
SmartView
Smart Space

MapViewer Administration Console 11g para versión de OBIEE 11.1.1.7.0

MapViewer Administration Console 11g para versión de OBIEE 11.1.1.7.0 jalbe_40 13 Octubre, 2014 - 20:00

Cómo integrar MapViewer Administration Console 11g para versión de OBIEE 11.1.1.7.0? Me comentaron de que en el parámetro Create a map tile layer for external map source en la propiedad de Key se deja (not needed (v3)) ya que solo aplica para la versión 11.1.1.6 del OBIEE, ahora si es así por qué en OBIEE en Gestionar Datos de Mapas al importar Capas no puedo ver ninguna capa disponible.

Nota: Previo a todo esto se creó el usuario de base de datos que contiene todas las tablas importadas de OBIEE NAVTEQ y se colocaron los parámetro de conexión en el archivo mapViewerConfig.xml

Cualquier solución que tenga por favor compartirla.

Gracias!!

Oracle Warehouse Builder: Información y documentación sobre OWB

Oracle Warehouse Builder: Información y documentación sobre OWB Carlos 13 Agosto, 2009 - 13:56

Parece que encontrar documentación sobre Oracle Warehouse Builder en castellano es complicado, sobretodo si hablamos de manuales o documentación técnica.

Abro este tema del foro para que vayamos comentando aqui lo que encontremos entre todos.

amigos :
podrian facilitar un manual en español de OWB version 10.1.0.4
Gracias

En respuesta a por Anonimo (no verificado)

Es complicado encontrar documentación en castellano sobre estos temas. De todas maneras, mientras esperamos a que alguien publique el manual en español, podemos consultar la Documentación oficial de Oracle sobre Warehouse Builder . Oracle publica sus documentos tanto en formato PDF como en HTML, e incluso te puedes descargar la librería completa. Es especialmente interesante el manual Oracle Warehouse Builder User's Guide Carlos Fernández Analista de sistemas

Es muy necesario para mi carrera obtener toda la información posible que exista en castellano de Oracle y especialmente interesante el manual Oracle Warehouse Builder incluyendo la guia de usuario y sus ejemplos.

En respuesta a por Erick Castañón… (no verificado)

idem amigo ne4cesitop info de OWB en español:

necesito depurar las tablas de audit : "WB_RT_AUDIT" que crecen a lo loco en mi aplicacion, tambien si tienen a mano como configurar que no se sigan registrando tantos eventos.. helpme gracias... carloscermelli@gmail.com

Hola,

a mi también me gustaría obtener más información sobre esta herramienta.

si tenéis información en castellano, arquitectura, integracion con otras aplicaciones, etc agradezco que la compartáis.

 

Muchas gracias.

En respuesta a por gladis

En la web oficial de Oracle se puede encontrar algún documento en castellano. No entran demasiado en detalle, pero al menos para ver cómo se organiza OWB a nivel de arquitectura, o para ver por donde van los tiros con algunas opciones pueden servir:

Información General sobre Oracle Warehouse Builder 11g

Opción Data Quality de Oracle Warehouse Builder

Opción Empresarial ETL de Oracle Warehouse Builder

En respuesta a por Carlos

Hola,

 

ya tenía conocimiento de estos documentos, pero la verdad, es que no hay mucha información técnica en ellos.

Gracias por tu ayuda.

Totalmente  Carlos.

Lo mismo me esta pasando ahora a mí con: IBM DB2 Warehouse V9.5, lo hay nada de tutórales en castellano.

Pero no me sorprende ya que en la versión anterior me pasó exactamente lo mismo, es más se formo un foro de DB2 (http://db2ug.byethost18.com/ ) el primero de Latinoamérica para unir/difundir/ todo lo referente a DB2.

 

Automatizar scheduler en OWB

Automatizar scheduler en OWB amarena 1 Junio, 2010 - 16:35

hola:

tengo unos procesos flows q necesito correrlos todos los dias, yo por el momento, como esta en periodo de prueba lo  realizo manual, pero me interesaria programar el schudel para q se lanzen automaticamente, mi consulta es:

El parametro q tengo q ponerle es sysdate-1? o como me aconsejarian definirlo.

 

           desde ya muchas gracias por la ayuda.

Te refieres al Scheduler de OWB? No me cuadra lo de 'sysdate-1' como parámetro.

Si lo que tienes es un flujo de proceso de OWB, al crear un nuevo Schedule utilizas un asistente que te termina preguntando con qué frecuencia quieres lanzar el flujo.

Definición de la frecuencia de un Schedule de OWB

En respuesta a por Carlos

mi problema es que tengo asociado un calendario con una frecuencia diaria para correr los flow , pero cuando le doy start la primera vez me lo corre bien, pero al dia siguiente vuelve a correr con la fecha anterior, no se por q no me actualiza la fecha. si me pueden ayudar se los agradezco por q hace bastante q estoy buscando la solucion y no la encuentro.

 

 

 

 

 

 

 

 

 

 

 

 

Acceder a una base de datos 11.2 con una ubicación creada en el OWB desde el Oracle BISE1 actualizado a version 10.2.0.5

Acceder a una base de datos 11.2 con una ubicación creada en el OWB desde el Oracle BISE1 actualizado a version 10.2.0.5 Fernando Egido 9 Diciembre, 2013 - 15:37

El problema que tengo es que han actualizado a la version 11.2 una BBDD a la que accedía para leer datos y desde el OWB cuando edito la ubicación solo me deja poner hasta versión 11.1.

Me han comentado que se puede hacer con un dblink pero aunque creo el dblink en mi base de datos para acceder al remoto, al ir al OWB para crear una nueva ubicación para hacer uso de ese BDLINK cuando selecciono la ubicación me sale el error "ENV0036: La ubicación seleccionada no es válida".

La verdad es que no sé cómo solucionar eso o ni siquiera si creo el dblink adecuadamente en mi BBDD.

gracias de antemano.

Hola a todos, 

 

he revisado la cuestión que planteaba y creo que puedo dar algo más de información para que alguien me pueda dar alguna solución.

 

El problema es que en los servicios centrales nos han actualizado una BBDD a la versión 11.2 y en un despliegue que tenemos ya instalado en ORACLE BI Std Edt 1 (v 10.2) no podemos seguir leyendo de ese origen de datos. 

 

Buscando encontré que una solución sería crear el dblink para re-crear la ubicación que nos da el problema y convertirla en una ubicación de tipo dblink... (a lo mejor no me explico del todo bien pero es que soy bastante nuevo en todo esto)

 

Como primer paso conectamos a la BBDD del BI dimos permisos al usuario (simac_dwh_tt) que usa el esquema afectado para crear dblinks.

sqlplus “/as sysdba”’

SQL> GRANT CREATE DATABASE LINK TO simac_dwh_tt;

 

Posteriormente nos conectamos a la BBDD de BI con dicho usuario (simac_dwh_tt) y creamos el dblink en el esquema Simac_dwh_tt que está apuntado por la ubicación denominada SIMAC_DWH_ODS_LOC  

 

 

(El usuario estadforestcan_bi_ro es el que hace uso de la ubicacion con problemas que es simac_estadforestcan_loc)

 

SQL> CREATE DATABASE LINK forestal_dblink CONNECT TO estadforestcan_bi_ro IDENTIFIED BY "clave de estadforescan_bi_ro" USING 'bise1db';

Luego vamos al OWB y editamos la ubicación

o Poner los siguientes parámetros:

§ Nombre: SIMAC_ESTADFORESTCAN_LOC

§ Tipo: Database Link

§ From Location: SIMAC_DWH_ODS_LOC

§ Database Link: FORESTAL_DBLINK

§ Esquema: ESTADFORESCAN_BI_RO

§ Versión: 10.2

Pero no puedo poner  la localización de origen porque me da error 'ENV0036'.

 

 

 

 

 

 

 

 

Campo calculado con tablas Externas AYUDAAA

Campo calculado con tablas Externas AYUDAAA Jose de Jesus … 25 Noviembre, 2011 - 03:13

 

Hola soy nuevo en el sitio, me llamo Jose de Jesus , Mexico ,DF.

Antes que nada felicidades al creador de este sitio y a la comunidad que lo mantiene, tiene contenidos realmente buenos.

Eh leido varias cosas de OWB ya que es lo que estoi utilizando actualmente en el trabajo, tengo manejando OWB realmente poco tiempo y me gustaria ver si me pueden ayudar con el siguiente problema que se me ah presentado. intentare ser lo mas especifico.

 

Bueno sucede que tengo que cargar una tabla de Indicadores,

 

Fact_Inicador

------------------

id_indicador

id_filial

Valor

 

Esta tabla esta en mi servidor local oracle de pruebas, y en OWB me conecto a el por medio de un modulo de correspondencia.

 

El punto es que dependiendo de el id_indicador tengo que hacer un calculo especifico y depositarlo en el campo Valor, pero los datos para calcular cada indicador estan en un servidor oracle externo al cual solo tengo acceso de lectura a las tablas que necesito.

Actualmente tengo esto resuelto con unas funciones que hacen los calculos reciviendo como parametros el campo id_indicador,id_filial  ... pero utilizo db links y sinonimos para referenciar las tablas externas, dichos db links los eh creado con el toad en el esquema local.

Hoy me comentaron que posiblemente no me acepten el uso de db links :( y me encuentro con el problema de rehacer todo, de alguna otra forma.

 

Espero haberme dado a entender jaja no soy muy bueno para explicar.

Saludos, y gracias por adelantado.

 

 

 

 

 

 

Podrías hacerte una copia de las tablas que necesitas en tu servidor, y cargar esas tablas con los registros que vayas a necesitar al inicio del proceso. De esta manera accederías a los datos en local, y no necesitarías utilizar ningún dblink desde las funciones, que además harían el cálculo mucho más rápido.

Gracias por responder carlos, ya paso mucho tiempo de eso , se decidio realizar todo el proceso solamente con los operadores que provee OWB,

 

Solo tuve que utilizar un joiner con la tabla de la que necesitaba la informacion en OWB y despues pasarla por un AGREGATOR y lo demas fue facil.

 

Saludos, gracias.

Carga Incremental con OWB

Carga Incremental con OWB oscarw 10 Junio, 2010 - 18:13

 Hola 

cordial saludo, 

Estoy trabajando con owb ETL para cargar datos desde una BD Sql server. Tengo la duda sobre como realizar cargue incremental. 

No quiero hacer un filtro para comparar si el registro se repite... pienso en algo como que solo se traigan los datos que cambiaron y los nuevos.. aunque no tengo claro como, no se si en sql server existe alguna funcionalidad que permita verificar que datos han cambiado en las diferentes tablas de las que se están haciendo los mapeos. 

 

 

espero me pueden dar una idea.  

Hay ETL's que permiten detectar cambios en los sistemas origen, normalmente a partir de los ficheros de log de las bases de datos, pero suelen ser caras, o se ofrece como opción adicional a la versión básica.

OWB también tiene complementos 'de pago', y esta podría ser una opción, pero no estoy seguro si se ofrece. Las otras ETL de Oracle, Oracle Data Integrator y Oracle GoldenGate seguro que sí disponen de estas facilidades. Esta tecnología se llama CDC (Captura de Cambios en los Datos). Otra herramienta que lo hace muy bien es PowerCenter, de Informatica

El método tradicional es buscar la manera más eficiente de detectar esos cambios en los sistemas origen, y depende mucho de cómo y con qué frecuencia se produzcan esos cambios. Si en origen tienes una fecha de modificación, o tienes posibilidad de incorporarla, normalmente es la manera más sencilla de tener controlados los cambios de cara las cargas.

Otra cosa a tener en cuenta es que, en entornos de Data Warehouse, las tablas de hechos se suelen actualizar con altas y modificaciones porque son grandes, pero las de dimensiones, como tienen un volumen mucho menor, a veces es más sencillo y eficiente recrearlas completamente.

De todas maneras, antes de tomar esta decisión hay que plantearse cómo se van a tratar los posibles cambios en los registros de dimensiones. Para saber las alternativas que tienes en estos casos te recomiendo que consultes el post Dimensiones Lentamente Cambiantes (SCD) de Dario Bernabeu.

bueno es claro que la opcion mas sencilla de implementar es agregar un campo tiempo para cada una de la tablas a migrar.

 

solo me queda una duda, en la creación de la ETL en OWB donde configuro la opción de cargue incremental, puesto que cuando ejecuto el mapa por primera vez esto no supone ningun problema, sin embargo para la segunda y siguientes ejecuciones (cargue incremental) como  se le indica que tenga en cuenta la fecha.

...bueno no se si sea lo correcto lo que pienso, pero acaso tengo que moficar el mapa he indicarle en un filtro que tenga en cuenta la fecha... 

 

bueno espero me puedan dar una idea con este tema ...

 

saludos.

En respuesta a por oscarw

Sí, claro, ya vas bien. Tienes que indicar en las condiciones de entrada que se seleccionen sólo los registros que te interesen en cada carga incremental. También puedes tener en cuenta la fecha de carga para acotar el rango.

Recuerda también poner la tabla destino en modo actualización, sobretodo que no te la vuelva a crear de nuevo.

Commit manual OWB

Commit manual OWB penyo 7 Septiembre, 2010 - 14:11

Buenas tardes,

 

Os comento el problema que me ha surgido, en los flujos, cuando lanza algun mapeo o un procedimiento, nos surgió la duda de como realizar un rollback de los datos. Por otros foros descubrimos que lo suyo es configurar el mapeo, como commit manual, y al final del flujo si todo ha ido correcto, hacer un rollback o un commit. Pinta sencillo, hemos configurado todo así, pero parece ser que aun configurando la correspondencia como manual, hace un commit igualmente. ¿Sabeis algo al respecto de porque puede estar pasando esto?

 

Gracias.

Os cuento más detenidamente... tengo un flujo que carga dos tablas. Tengo en ambas tablas configurado el commit manual. Y se me pueden dar los siguientes casos:

- Las dos tablas cargan mal: En cuanto una carga mal, hace rollback y pasa a la siguiente. Tambien carga mal, hace rollback y termina. Hasta aqui perfecto.

- Una tabla carga bien y la otra mal: Una tabla carga mal, por lo que hace el rollback y pasa a la siguiente. La siguiente carga bien, entonces hace commit de esta (a pesar de tenerlo configurado como manual).

 

Mi problema está en que no me interesa que haga commit hasta el final, en cuanto una tabla falle, quiero que haga un rollback de todo, y lo que hace es hacer rollback unicamente de la tabla que ha fallado.

En respuesta a por penyo

Supongo que utilizas el operador 'post mapping' para hacer el commit o rollback final, no? En teoría si lo configuras como manual, y lo controlas con este operador debería actuar sobre todo lo anterior. Si ya lo haces así puede que necesitemos que intervenga alguien que se haya peleado más con estas opciones ;)

Te enlazo también sección Embedding Commit Logic into the Mapping del Manual de Usuario de OWB 10.2, por si no lo has consultado aún, siguiendo los enlaces de las diferentes opciones puede que encuentres lo que te está pasando..

Buenos días! Eso es lo que tengo hecho, pero tengo el OWB 11.2 y no se porque no me lo realiza bien, he leido en el link que, se puede hacer con un SQL*PLUS, lo he intentado de diversas maneras y se queda bloqueado en el lanzamiento del SQL*PLUS. Lo he puesto tal cual viene en el link de oracle:

begin 

carga_fallo.main(status);

 if status!='OK' then rollback

   else carga_fallo2.main(status); 

 if status!='OK' then rollback;

   else commit;

 end if;

 end if;

end;

La sintaxis es erronea con total seguridad. ¿Sabéis algo al respecto?

 

Gracias por la ayuda y un saludo.

En respuesta a por penyo

No sé si entiendo bien la lógica, pero creo que te falta el punto y coma después del rollback, y los paréntesis en la condición del IF siempre son acosejables. Prueba con esto:

begin
  carga_fallo.main(status);
  if (status!='OK') then rollback;       
  else carga_fallo2.main(status);
      if (status!='OK') then rollback;
      else commit;
      end if;
  end if;
end;

En respuesta a por Carlos

Hola!

Si, gracias Carlos, lo había modificado, tal y como me lo has puesto tu ahora. Pero nada, no hay manera, creo que no interpreta bien los mapeos, no estoy seguro de que la sentencia sea "mapeo.main" y no he encontrado nada al respecto por internet.

Creando un espacio de trabajo OWB 11g (ERROR)

Creando un espacio de trabajo OWB 11g (ERROR) jalbe_40 3 Julio, 2014 - 17:23

 Al momento de comprobar la conexion en la ubicacion de la base de datos ORACLE  (CENTRO DE CONTROL)  me arroja el sigueinte error:

 

resulatdo de prueba de conexion:

 

 java.sql.SQLException:ORA-00604:error ocurred at recursive SQL level 1

ORA-01882:timezone region not found

 

   Si alguien me puede ayudar... GRACIAS

 

  HELP ME!!!

 

 NOTA: Lo parametro de conexion esta bien.

Si trabajas con Windows, prueba con la solución que proponen en este blog, que es editar el Run_Service.bat para incluir la zona horaria (-Duser.timezone="+01:00", por ejemplo) entre los parámetros de la llamada al servicio del centro de control.

Y si se trata de Unix tendrías que hacer lo mismo, pero editando el run_service.sh

En ambos casos recuerda reiniciar de nuevo los servicios para que las modificaciones se hagan efectivas.

Saludos,

 

En respuesta a por Carlos

Amigo  tengo este caso:  

 * Tabla A

 * Tabla B

 

 NOTA: La dos tablas  tienen registros

 

  Se debe  insertar los registro  de la Tabla A a la Tabla B  pero al mismo tiempo esos registro de la Tabla A  no debe estar en la tabla B ( no pueden ser repetidos) 

 mi pregunta es : estoy utilizando el operador  KEY LOOKUP ( OWB)  para la busqueda de la tabla B,  y  defino la condicion entres los valores unico de las tablas, pero solo me esta trayendo los codigo unico, lo demas campos no,   si podria darme un ejemplo de como utilizar  este componente  KEY LOOKUP o  que otra opcion puedo realizarlo?

 

 gracias !!

 

 

 

En respuesta a por jalbe_40

¿Te ha funcionado lo de incluir la zona horaria en el script?

¿Utilizas el asistente o lo haces directamente? Recuerdo que este asistente era casi más complicado que hacerlo directamente. Si usas el asistente, para los primeros pasos iba bien, pero los últimos mejor salte del asistente y configura los mapeos de los campos manualmente.

De todas maneras, no te serviría simplemente configurar configurar el tipo de carga de la tabla destino en modo update/insert? Si lo haces así, si el registro no existe lo inserta, y si ya existe lo actualiza, es lo más sencillo. Incluso si no quieres actualizar los registros en caso de que ya existan, si no recuerdo mal, puedes utilizar la opción CHECK/INSERT para insertar sólo los registros que no existan ya según la condición que definas, claves primarias o foráneas..

 

Normal
0

21

false
false
false

ES-VE
X-NONE
X-NONE

MicrosoftInternetExplorer4

Que tal amigo disculpe.

 

No me funciono lo de incluir la zona horaria en el script Run_Service.bat  me sigue dando el mismo problema.

 

 Por otro parte sobre el caso de la inserción de registros de la Tabla A a la Table B ciertamente es un poco más complicado por el asistente. Y la otra opción  del la propiedad de la tabla CHECK/INSERT es una buena alternativa, pero finalmente realice el mapeo manualmente (como usted lo menciona) con la expresión sql NOT EXISTS.

SELECT *

FROM TABLA A   TA

WHERE NOT EXISTS (SELECT *

                  FROM TABLA B  TB

       WHERE TA.ID_ORIGEN=TB.ID_ORIGEN)

 

 Solo me trae los registros de la tabla A que no existan en la tabla B.     

 

NOTA:  lo realice con  el componente FILTRO de OWB.

 

 

 Gracias Amigo!!

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}

En respuesta a por jalbe_40

Vaya, entonces ya no sé que te puede estar fallando, cuando lo encuentres te agradezco si lo compartes.

Al menos para filtrar los registros que ya existen en la otra tabla ya tenemos varias soluciones. Entiendo que estás aplicando el filtro justo antes del insert. No sé si en algún momento necesitas todos los registros de la tabla A, pero si haces esta misma select al principio del flujo, al definir el Source, te puede mejorar bastante el rendimiento porque en lugar de dos lanzas sólo una select, y ya no 'arrastras' los registros que no necesitas.

 

  Con gusto lo compartire!!

 

  Y si tendre presente  lo que comentas muchas gracias Carlos.

 

  

 

 

Crear repositorio detalladamente en OWB

Crear repositorio detalladamente en OWB auxilio 6 Octubre, 2011 - 23:09

 Buenas Tardes. Hola saludando desde Ecuador

Tengo una duda, estoy instalando el OWB 10g y necesito crear un repositorio pero me solicita un user SYSDBA con su contraseña

podrían indicarme como crear este user y contraseña, estoy tratando de realizar una conexion de OWB en maquina virtual a un Oracle Transaccional en la máquina fisica.

 

GRACIAS.

Un usuario SYSDBA es el usuario con más privilegios en la base de datos, un usuario administrador. Para poder crearlo, el usuario que lo haga ha de tener permisos de administrador. La base de datos ha de tener al menos un usuario con privilegios SYSDBA, el usuario 'system'. Si eres el administrador de la base de datos has de poder utilizar este usuario, y si no has de contactar con el administrador.

Soy el administrador, pero no se cual es la clave del system por default, ya que cuando instale el oracle data warehouse,

no me pidio clave. soy estudiante de ingenieria en sistemas de la universidad de guayaquil

Si entras en el sistema con el mismo usuario con el que se ha instalado la base de datos puedes probar esto:

Básicamente se trata de entrar como usuario administrador "/ as sysdba" sin introducir password y, una vez dentro, puedes cambiar la contraseña de cualquier usuario, o crear nuevos usuarios. Si cambias la de system y después lo utilizas en OWB donde te pide el usuario SYSDBA ya deberías poder seguir con la instalación.

Cómo hacer un DECODE en los mappings de OWB

Cómo hacer un DECODE en los mappings de OWB Carlos 10 Febrero, 2009 - 22:52

Para los que estamos acostumbrados a utilizar el operador decode del SQL de Oracle sorprende bastante que no esté incluída en la sintaxis que se puede utilizar dentro del generador de expresiones de Oracle Warehouse Builder.

Pero todo tiene solución. Si para un campo se quiere seleccionar un valor en función del contenido de otro o más campos, se puede utilizar el objeto EXPRESSION, conectar en la entrada todos los campos implicados, y en la expresión del campo de salida olvidarnos del DECODE y utilizar en su lugar un CASE WHEN ..., que sí está soportado.

Por ejemplo:
CASE WHEN entrada1 = 0 THEN 'Falso'
        WHEN entrada2 = 1 THEN 'Cierto'
        ELSE 'Indefinido'
END

Hola, me encuentro utilizando OWB, y para resolver el problema de divisiones por cero utilizo Decode en una expresion, tal como sigue

DECODE(INGRP1.ORG2,0,NULL,INGRP1.ORG1/INGRP1.ORG2)

Saludos

En respuesta a por Alfonso (no verificado)

Pues en teoría no te debería funcionar. Yo lo probé con la versión 10.2 de Warehouse Builder y la expresión daba error hasta que lo cambié por el CASE, y se que en versiones anteriores pasaba lo mismo. Puede ser que tu estés utilizando una versión superior? A lo mejor en la 11 por fin se puede utilizar el Decode..

En respuesta a por Carlos

Hola, realmente al realizar la verificación de la expresión Decode envia error, pero si omites esta parte y ejecutas tu maping funcionará correctamente.

(yo solo soy un usuario, descubrí esto a "prueba y error" jajajaja)

Saludos

En respuesta a por Alfonso (no verificado)

Bueno, pues gracias a tu aportación ya tenemos 2 maneras de solventar el problema, utilizar un CASE WHEN, o utilizar el DECODE y pasar del error que nos da el validador, pero asegurándonos de que la expresión esté bien escrita!

En respuesta a por Carlos

Hola.. yo trabajo de OWB hace tiempo y tiene ciertas cosas o mañas. El decode SI funciona cuando utilizas una expresion aunque si clickeas en la opcion VALIDAR te da un error o warning..

En resumen tiene que usarlo sin validarlo o bien no darle importancia.. pasa lo mismo con trunc y no me acuerdo cual otra sentencia

 

Ejecutar Flujo OWB por Demanda

Ejecutar Flujo OWB por Demanda jinostroza 22 Agosto, 2011 - 21:05

Estimados,

 

                  Tengo la siguiente consulta, actualmente tengo un proyecto en OWB que se ejecuta diariamente mediante calendarización, mi duda es si hay alguna forma de ejecutar el flujo por demanda, la idea es que el usuario pueda ejecutar le proceso en el momento que estime conveniente, idealmente pensaba que el usuario pudiera gatillar el proceso por alguna interfaz desde alguna página web, una aplicación VB ó un simple comando DOS.

 

Espero Puedan Ayudarme

 

Saludos

Joan

 

Hola Joan, Cuando despliegas un "mapping" de OWB lo que hace realmente es compilar un package en BBDD, así que una opción sería crear un fichero de proceso por lotes (bat/sh) que realice una conexión a la BBDD y ejecute el procedimiento del package deseado. Un saludo, David

En respuesta a por David

 Estimado David, 

 

 

                         Muchas gracias por tu respuesta, me queda claro lo que tendría que hacer, me asalta solo una duda lo que indicas entiendo que es válido para un mapping, pero será lo mismo para un Flujo ..??  me refiero a si un flujo también es un package  ?? o necesariamente tendría que generar un proceso por lotes que ejecute cada package (mapping) del un flujo ..?

 

Saludos y Gracias 

 

El error ORA-30926 en las cargas de OWB

El error ORA-30926 en las cargas de OWB Carlos 18 Febrero, 2009 - 23:09

Cuando uno de nuestros mappings realiza una carga sobre una tabla en modo INSERT/UPDATE puede que nuestro proceso falle devolviendo este extraño error:
ORA-30926: no se ha podido obtener un juego de filas estable en las tablas de origen

La explicación suele ser que al final este tipo de cargas realiza una operación de MERGE, y si en la correspondencia entre los datos origen y los datos destino a un registro de la tabla destino le toca más de uno de las tablas origen el MERGE no funciona y devuelve este error. Normalmente se trata de un problema de duplicidad en los registros origen.

Para ver una explicación más extensa y las opciones para solucionarlo, consultar El error ORA-30926 como resultado de una operación Merge

Funcionamiento del schedule con mappings y flujos

Funcionamiento del schedule con mappings y flujos cfb 8 Julio, 2008 - 00:16

Tengo un OWB 10.2 sobre una BD Oracle 10g y estoy intentando utilizar el scheduler para que los workflows y los mappings que he creado se lancen automáticamente por la noche.

Desde Warehouse Builder todo funciona bien, creo los módulos del scheduler y los asocio con los flujos que quiero lanzar. Hago el deploy y todo perfecto, pero después a la hora prevista no se ejecuta nada, y si lanzo el proceso manualmente sí que funciona.

He consultado la base de datos y veo que no crea ningún job ni nada por el estilo, solo un procedure que alguien debería ejecutar para que haga algo.

Veo que en versiones anteriores de OWB era bastante complicado poder planificar trabajos, pero en esta debería ser más sencillo.

Me falta algo por instalar, o esta versión también necesita ejecutar algunos scripts para que el scheduler funcione?

 Creo que te puede faltar un paso y es que además del hacer el deploy hay que lanzar los trabajos planificados para que se ejecuten automáticamente.

 

Un saludo

Instalación Configuración OWB

Instalación Configuración OWB Anonimo (no verificado) 19 Marzo, 2010 - 16:45

Buenos dias gente!

Tengo poca experiencia en OWB y en el lugar en donde estoy no hay gente con experiencia en esta herramienta, por lo tanto recurro a uds.

Quisiera consultarles lo siguiente.

Tengo instalado el OWB sobre una bbdd1 y el esquema A, del cual es el origen de una parte de mis datos,

también tengo esquema B y C sobre la misma bbdd1.

El destino de mis etls esta en la bbdd2 esquema D.

 

1 esta bien esta arquitectura?

2 No logro configurar el owb para que me ponga esquema.nombre_tabla, dando el error oracle ORA-00942.

Sabrian darme algun tip para la resolucion de este problema?

 

Saludos,

Patricio

 

 

 

Gracias, problema solucionado. 

En respuesta a por pinterlandi (no verificado)

 Me alegro de que lo hayas podido solucionar.

Supongo que el problema estaba en que tenías OWB instalado en la BD de origen, en lugar de la de destino.

En mi opinión, una de las limitaciones más importantes de Oracle Warehouse Builder es que está pensado para obtener información de diferentes orígenes, pero sobre un único destino, que ha de ser la base de datos Oracle donde debería crearse el almacén de datos, y donde ha de estar instalado el runtime del Control Center.

Yo mismo me encontré este problema en mi primera instalación de OWB, y me sorprendió bastante que en este aspecto la herramienta no fuera más flexible.

Bueno, ya nos explicarás si haces cosas interesantes con OWB..

Saludos,

 

En respuesta a por Carlos

Creo que esto no es asi.

Se pueden tener todas las bases de datos destino que quieras, siempre que se instale la parte del runtime OWB en cada base de datos "adicional" y se levante el servicio de control center service (que para eso esta)

Saludos;

En respuesta a por MLD (no verificado)

 Tienes razón, en el mismo tema del foro sobre requerimientos de targets que he enlazado en la respuesta, yo mismo comentaba que se puede hacer siempre que instales el 'runtime', y que tener que hacer esa instalación me parece una limitación importante. Los sistemas destino no tienen porqué estar 'bajo tu control', y me parece demasiado intrusivo tener que hacer esta instalación sólo para escribir sobre una base de datos Oracle.

Seguramente se me han cruzado los cables con la otra limitación importante, que es que OWB sólo puede tener como destino bases de datos Oracle, no puede cargar ni modificar datos en otras bases de datos.

 

Gracias por la puntualización, y espero no haberme equivocado también en la segunda afirmación ;)

Instalación de Workflow

Instalación de Workflow kr Andrés 11 Febrero, 2014 - 03:36

 Estimados, me pueden ayudar con la instalación de Workflow, estoy en un ambiente Windows7 ... tengo instalada la BD ORACLE STANDAR 11.2.0.1 g

DENTRO de la casa de OWB en el siguiente directorio se encuentra el asistente de configuración Worflow

D:\app\Kiuby\product\11.2.0\dbhome_1\owb\wf\install\wfinstall.bat

Una ves abierto me sale la pantalla 
que datos tengo q poner ahi:

Asistente de configuración OWF

Opción de Instalación: Solo Servidor
Cuenta de Workflow: owf_mgr ---> esta cuenta es por defecto o tengo q crear el usiario en el asintente de warehouse builder ???

En descripción de conexion TNS: SOLO EH PUESTO ASI: localhost:1521:orcl
o tengo q especificar todo ASI
DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =servidor)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = owfbd)) )

tengo el siguiente error AL EJECUTAR: java.lang.Exception:Invalid connection (0)

ayuda por favor

Migracion OWB Desarrollo Produccion

Migracion OWB Desarrollo Produccion Jose de Jesus … 13 Junio, 2012 - 18:44

Hola buenos dias.

Bueno me gustaria saber si existe alguna forma estandar de migrar mi proyecto en OWB de un ambiente de desarrollo a uno productivo.

Es la primera ves que realizo esto y seria de mucha ayuda saber la opnion de alguien que ya tenga experiencia en este asunto.

 

Saludos.

Muchas Gracias. 

Hola,

Echad un vistazo a la herramienta OMB Plus, quizás permita la migración de una manera sencilla del metadato entre versiones y/o herramientas.

 

 

Saludos,

Ricard

En respuesta a por ricard_ei

Hola Ricard

Sobre OMB Plus, la verdad es que no lo he utilizado nunca, y parece bastante útil. El caso es que buscando algo de info he encontrado dos proyectos de Sourceforge con scripts para OMB Plus y para OWB que creo que merece la pena compartir. Enlazo los proyectos y adjunto un zip con los scripts de OWB Utility Scripts:

Oracle Warehouse Builder Land en sourceforge, recomiendo especialmente el contenido del directorio 'Staffs_from_Oracle_site'

OWB Utility Scripts en sourceforge

 

Juan, sobre la migración al entorno de producción, aparte de preparar un script que la pueda automatizar con OMB Plus, la opción más simple sería exportar los metadatos con el asistente importación/exportación (Oracle le llama MDL (Metadata Loader), que se puede llamar desde el mismo OWB Design Center. Después, si no recuerdo mal, lo único que tendrás que hacer para trabajar sobre producción es cambiar o editar en el Explorador de conexiones del Centro de diseño de OWB las referencias a los orígenes de datos, las conexiones a bases de datos, en Locations.

Enlazo estas dos páginas de la documentación de Oracle que te pueden servir de guia para el proceso de exportación/importación con MDL:

Importing and Exporting with the Metadata Loader (MDL)

Migrating Design Metadata to OWB 10gR2

 

 Muy util la informacion!

 

Tengo una duda con respecto a las locaciones y Control Center en la migracion,

¿Se podra editar el nombre de estas entre cambios de los ambientes, o se quedan con el nombre dadoen ambiente de desarrollo? 

 

 

hola necesito ayuda para migrar una base de datos compuesta por ficheros organizados por carpetas, a repositorios oracle.
Soy muy nuevo en esto, asi q por favor necesito ayudaaa

No me carga ningún dato en el almacén al ejecutar el flujo de proceso

No me carga ningún dato en el almacén al ejecutar el flujo de proceso EmilinDaSilva 9 Febrero, 2010 - 16:42

Hola buenas, estoy siguiendo una guía de Oracle para intentar hacer el ejemplo de las Ventas en OWB 11gR1.

Ya creé todos los objetos necesarios y los desplegué, pero al ejecutar mi flujo de proceso no se me cargó ningún dato ni en las Dimensiones ni en el Cubo.

 

Una duda, yo al tener sólo un nivel en las dimensiones eliminé la jerarquía por defecto que me asignaba para evitar un error que aparecía. ¿Esto puede estar influyendo ahora a la hora de ejecutar el flujo de proceso para la carga de datos?

 

He hecho algunas capturas por si me podeis ayudar así mejor:

- Al iniciar el flujo de proceso (de forma correcta), consigo este fichero de detalles:

http://img704.imageshack.us/img704/5688/cargasindatos.jpg

- Al consultar los datos almacenados en la dimensión Dependiete:

http://img145.imageshack.us/img145/4571/nodatosdimesion.jpg

- Al consultar los datos almacenados en el cubo:

http://img716.imageshack.us/img716/9723/nodatoscubo.jpg

 

Si alguien sabe lo que me puede estar ocurriendo...

 

Muchas gracias y un saludo.

 

Una cosa que he olvidado comentar es que, para evitar que me diesen warnings al desplegar los objetos, además de asegurarme de todos los tipos de datos (y sus tamaños), he configurado las tablas externas para que trunquen los blancos de la izquierda y derecha.

 

Igual se debe a esto, no lo sé...

 

Gracias.

En respuesta a por EmilinDaSilva

Antes de nada comentarte que las advertencias de OWB te las has de tomar como algo más que advertencias. Los warnings CursorFetchMapTerminationRTV20007 puedes contarlos como errores, por eso no te carga nada.

De lo que comentas no he entendido bien lo del truncado de los blancos. Si se hace antes de que se lance este proceso no debería afectar para nada, pero si es algo dinámico como un trigger o algo similar sí que podría tener algo que ver, en ese caso tendrás que explicarnos algo más.

De todas maneras, independientemente del tema de los blancos, revisa de nuevo las longitudes de los campos, porque tienes advertencias sobre valores demasiado grandes, comprueba también que las conversiones de fechas o de tipos de datos estén correctas, prueba a 'deployar' de nuevo el package CARGA_VENTAS, y cruza los dedos al ejecutar ;)

Ya nos contarás..

En respuesta a por Carlos

Gracias por contestar,

Sobre el truncado de los blancos, pues lo hice porque me lo recomendaron en otro foro para evitar que me saliesen warnings del tipo "El tamaño de la columna des demasiado larga..." y no es más que, cuando tienes un campo de una tabla externa de tipo VARCHAR2(30) y el campo al que hace referencia en la Dimensión también de VARCHAR2(30), al transferir los datos reales que contiene la tabla externa, evitar que OWB te rellene con "blancos" hasta llegar a 30. Con esto conseguí desplegar y generar (código) todos los objetos sin ningún warning. Sobre el momento en que lo hago, pues antes de la ejecución, es decir:

- Mapeo de datos del fichero
- Creación de la tabla externa
- Configuración de la tabla externa para que trunque por izquierda y derecha
- Creación de dimension
- ...
- Ejecución del Flujo de Proceso

Sobre conversiones de tipos de datos no hago ninguna (es un ejemplo sencillito para hacer un DWh rápidamente).

En cuanto a lo que dices de "deployar" de nuevo el paquete, pues si lo hago sobre "todos los objetos" no me deja porque ya existen en la ubicación esos objetos, y si lo hago sobre "sólo cambiantes" al intentar desplegarlos me salta este error:

"RTC-5270: Plan de Actualización no válido.
Se ha abortado el despliegue debido a un problema con la generación de un plan de actualización válido."

Y si miro en el fichero de detalles, veo que el error me lo da sólo en las tablas relacionales, me pone:

"oracle.sysman.vbo.VboDataSourceUpdateException".

Así que como habré cometido algún error, a pesar de asegurarme de que están bien todos los tipos de datos, volveré a hacer el proyecto otra vez de 0. En cualquier caso, si alguien supiese algo que pudiera estar pasando le agradecería que me lo comentase.

Muchas gracias y un saludo.

En respuesta a por EmilinDaSilva

Nada... he vuelto a rehacer todo el proyecto entero, incluyendo nuevas localizaciones y usuarios y, aunque he conseguido que no de ningún error ni warning al ejecutar el flujo de proceso (pone en todas correcto), cuando voy a mirar si las Dimensiones y el cubo tienen datos, no aparece nada de nada...

 

Adjunto el fichero de detalles, en el que se puede observar que se han fusionado 5 filas, pero insertado ninguna... no sé.

 

http://img689.imageshack.us/img689/3862/correcto.jpg

 

Ya no sé qué más hacer. Lo que estoy haciendo para comprobar los datos es, desde el Centro de Diseño, click derecho sobre la Dimensión o Cubo en cuestión y "Datos" (imagino que será así).

 

Y a la hora de desplegar las Dimensiones y el Cubo, puse la opción "Sólo Catálogo", tampoco sé si tendrá algo que ver...

 

 

Gracias.

En respuesta a por EmilinDaSilva

Sobre el tema de los blancos, como lo haces antes de la ejecución del flujo no tiene que afectarte.

Sobre el deploy, para volver a hacerlo, lo que no te debería fallar es seleccionar desde el Centro de Control el objeto que quieres  volver a desplegar, y en Definir Acción seleccionar Borrar. Después le das a 'Desplegar' para que elimine el despliegue (ya sé que suena raro), y luego vuelves a crearlo desplegando con la acción Crear seleccionada.

Opciones de despliegue en el Control Center de OWB

Pero si lo has creado todo de nuevo me temo que llego tarde ;)

Sobre el estado actual, la sensación que da es que no encuentra datos en el origen, porque como tu bien dices ahora no te sale ningún error. Lo de la opción 'sólo catálogo' ahora no caigo en lo que es, pero no me suena muy bien, prueba a cambiarla.

También podrías ejecutar por separado los procesos de carga, probar por ejemplo con el de NIVEL_LUGARES haciendo un seguimiento del movimiento de los datos, y en algún sitio has de encontrar algún filtro, join incorrecta o restricción que no te deje pasar los datos.

Puedes revisar también la propiedad 'Tipo de carga' de las tablas. Como son datos de prueba seguramente la opción que más te conviene es el modo TRUNCATE/INSERT para asegurarte de que se recarga todo de nuevo cada vez que ejecutas.

Y de momento no se me ocurre nada más, pero yo creo estás en mejor situación que ayer, el error que tenías no era de los habituales de OWB.

En respuesta a por Carlos

Gracias Carlos de nuevo.

 

En lo de seleccionar la opción Borrar en los despliegues no había caído, pero me será de gran ayuda en el futuro seguro.

 

Sobre desplegar las Dimensiones y el Cubo en "Sólo Catálogo" lo hice porque así lo pone en la guía que sigo de Oracle, donde se explica esto es justo en la mitad del documento:

http://www.oracle.com/technology/obe/11gr1_owb/owb11g_update_getting_st…

 

Y cuenta que así, en teoría, se podrían visualizar los datos mediante el Visor, que es como lo estoy mirando.

 

Cuando dices de ejecutar por separado los procesos de carga, ¿qué se supone que debería hacer?¿Ejecutar desde el Centro de Diseño por ejemplo la Dimensión o crearme un flujo de proceso en el que únicamente se cargue la Dimensión, desplegarlo y ejecutarlo? Es que como verás, no tengo mucha idea de todo esto...

 

No sé cómo se haría lo que dices del seguimiento de los datos, aquí no sé hacer trazas, pero una cosa que he observado es que, al intentar ver los datos que tenían las tablas externas, éstas están vacías, cosa que no me pasaba días atrás...

¿Cómo podría hacer una traza o algo parecido? Porque lo único que se me ocurre es ir mirando si en el recorrido de los datos, van llegando los datos con el Visor, aunque esto no me dice gran cosa...

 

En cuanto a lo de revisar la propiedad "Tipo de Carga", no sé desde dónde se hace eso, no lo encuentro. ¿Qué tipo de tablas son las que dices, relacionales o externas?

 

Gracias y un saludo.

Emilio

En respuesta a por EmilinDaSilva

He vuelto a lanzar el flujo de proceso y he observado que para las Fechas sí me funciona. Bueno, las tablas (externa y relacional) tienen los datos cargados, y en la Dimensión aparecen símplemente números del 6 al 10 (uno por cada fila de datos). Esto no sé muy bien a qué se debe, no sé si serán identificadores que asigna OWB automáticamente o qué pero con el Visor no puedo ver en el objeto Dimensión las fechas tal cual las introduje.

Dejo un pantallazo de los Datos de la tabla externa FECHAS:

http://img688.imageshack.us/img688/2503/tablarelacional.jpg

Y aquí uno de los datos que aparecen en la Dimensión:

http://img5.imageshack.us/img5/9376/cargafechas.jpg

 

Para el resto de las dimensiones no entiendo por qué no funciona. He vuelto a ejecutar el flujo de proceso y únicamente se fusionan las filas de las Fechas de nuevo.

 

Gracias.

 

En respuesta a por EmilinDaSilva

Hola otra vez, no sé qué he hecho (estoy tocando algunas cosas) y, como no sé cómo se borran las localizaciones, la segunda vez que creé el proyecto, creé otras nuevas. Ahora creo que tengo algún conflicto entre ellas.

 

El error que me da ahora es éste:

http://img8.imageshack.us/img8/8/erroresnuevos.jpg

 

Pero he detectado una cosa que está mal, y es que se aprecia en color gris y hay que fijarse bien, pone que la localización de evaluación es ALMACEN_VENTAS_LOCATION, y no es esa. Debería ser otra nueva. El caso es que desde el Centro de Diseño lo he cambiado (por cierto no sé cómo se cambian las localizaciones por defecto para un Módulo de Flujo de Proceso) y ahora en teoría tendría volver a desplegarlo, o no?

Aquí se ve lo que digo:

http://img41.imageshack.us/img41/2743/errorlocalizacion.jpg

 

Bien, como para volver a desplegarlo, primero debía eliminarlo, y después volver a desplegar el PK del módulo de Flujo de Proceso. Y al volver a desplegarlo me dió esto warning:

 

RPE-02213: El enlace de base de datos WB_LK_PK se ha desplegado con un nombre que no es compatible con nombres globales porque las instancias de base de datos origen y destino tienen nombres globales idénticos. Debería pedir al DBA que cambie el nombre de la base de datos destino y vuelva a desplegar.
 

 

No sé, ya veré a ver si mañana consigo solucionarlo.. pero si alguien me puede echar una mano se lo agradería.

 

Muchas gracias y un saludo.

 

En respuesta a por EmilinDaSilva

Un gran acierto lo de enlazar el tutorial, así va a ser mucho más fácil entendernos.

Sobre el modo Sólo Catálogo, yo probaría también con el modo 'Deploy All', que también debería generarte los objetos en la base de datos. Así podrás consultarlos directamente desde SQLPlus o cualquier otro software como Toad o Oracle SQL Developer.

Sobre hacerlo por separado me refería a hacerlo paso a paso, tal como se va haciendo en el tutorial. O sea:

- Despliegue de las Tablas Externas.

- Despliegue del Cubo y las Dimensiones

- Despliegue de los Mapeos

- Despliegue del Flujo de Proceso

El seguimiento de los datos me refería simplemente a comprobar, normalmente en la misma base de datos, que todo se va generando según lo previsto. En OWB también hay opciones de debug, pero yo creo que nadie las utiliza porque es más complicado seguir el código que va generando que hacer las cosas por partes e ir revisando 'manualmente'.

De todas maneras, si dices que las tablas externas están vacías seguramente ya has localizado el problema en el primer paso. Está claro que si no tiene datos en las tablas origen no cargará nada. A lo mejor es simplemente un problema en el acceso al fichero csv que alimenta las tablas.

 

Sobre el Tipo de Carga, yo lo he utilizado en tablas relacionales, así que olvídate.

 

Por lo que veo, las fechas no vienen de las tablas externas. Que en la dimensión FECHAS tengas datos y todo te haya ido bien apunta aún más a que el único problema está en la carga inicial de datos en las tablas externas.

 

Sobre el tema de las localizaciones, si has hecho cambios en el entorno de diseño, que contiene las localizaciones lógicas, como el Control Center trabaja con localizaciones físicas que referencian a las lógicas, lo mejor es que vuelvas a definir las localizaciones en el Centro de Control.

Te lo digo de memoria, pero creo que en el arbol de objetos, clickando con el botón derecho sobre los objetos tienes una opción 'unregister' o algo similar que te permite desvincular de nuevo los objetos. Una vez hecho esto, cuando quieras volver a deployar te pedirá de nuevo los datos de conexión y ya lo tendrás registrado de nuevo.

Bueno, espero que alguna cosa te sirva de ayuda y que al final consigas tu objetivo, ya nos contarás..

 

 

En respuesta a por Carlos

Gracias de nuevo Carlos,

sobre lo de cambiar el modo "Sólo Catálogo" por el "Deploy all" lo probaré y ya te comento porque hasta
dentro de 2 semanas no puedo volver a trabajar con esto.

En cuanto a lo de hacerlo paso a paso pensaba que te referías a ejecución, no a despliegue, el
despliegue sí que lo hago paso a paso como se indica en el manual.

También pensé en que el acceso a los ficheros .csv podía estar dándome problemas, lo que me
parece extraño porque este ejemplo es como la tercera o cuarta vez que lo intento y en las
anteriores sí que recuerdo haber comprobado los datos en las tablas externas y ahora he repetido
los mismos pasos, pero obviamente habré fallado en algo. Lo revisaré todo de nuevo.

Sobre el tema de las localizaciones, es algo que me trae un poco de cabeza, así que igual lo
que me comentas del unregister me viene bastante bien, porque creo que es justo lo que quiero,
es decir, eliminar los objetos a los que se está llamando desde el Centro de Control (son antiguos)
y volver a cargar los nuevos datos.

Lo dicho, cuando regrese probaré todas estas cosas y ya os comento qué tal me fue.

Muchas gracias y un saludo.
Emilio

En respuesta a por EmilinDaSilva

Hola otra vez,

ya estoy de nuevo con esto.

Creo que tengo un conflicto como dije en el tema de las localizaciones, ya que en el mismo proyecto, creé un nuevo

módulo que, en teoría debería llamar a unas nuevas localizaciones, pero parece ser que no.

Lo sé porque he probado a anular el registro desde el Centro de Control de la localización antigua que ya no uso y a

intentar desplegar otra vez las tablas relacionales (me ponían no desplegadas, imagino que sería por algun cambio que hice).

Y al desplegarlo me salta la ventana de registrar la

Localización antigua, lo cual indica que en algún sitio está asignado a ella.
He revisado todo bien, y aparentemente todo está bien, así que imagino que habrá alguna manera, que yo no conozco

de cambiar esto.

Había pensado en anular el registro también de la localización buena y empezar a desplegar todo de nuevo.

Si pensais sobre algo que pueda estar haciendo mal comentarmelo.

Gracias y un saludo.
 

En respuesta a por EmilinDaSilva

Hola de nuevo,

ya anulé el registro de la localización y desplegué todos los objetos de nuevo. Salvo en el despliegue del flujo de proceso

que me dieron los siguientes warnings, no hubo más en ninguna.

RPE-02212: El enlace de base de datos WB_LK_PK es de tipo ''nombre fijo''.
Esto se puede considerar como un riesgo para la seguridad ya que expone el nombre de usuario y la contraseña del

usuario destino.

RPE-02213: El enlace de base de datos WB_LK_PK se ha desplegado con un nombre que no es compatible con nombres globales porque las instancias de base de datos origen y destino tienen nombres globales idénticos.
Debería pedir al DBA que cambie el nombre de la base de datos destino y vuelva a desplegar.

Y a la hora de ejecutarlo, pues no me da ningún error ni warning pero sigue comportándose exactamente igual, no me carga

los datos en ninguna tabla externa salvo en Fechas.

Imagino que el único fallo está en el acceso a los .csv pero es que no sé ni cómo depurarlo ni solucionarlo.

Por cierto, me he fijado y he visto que en el icono del flujo de proceso y del origen de datos está gris, imagino que eso tendrá algo que ver no? como que no puede encontrarlo o algo...

Esta es la imagen:

http://img237.imageshack.us/img237/9503/errorcargadatos.jpg

Por favor, si alguien me puede echar una mano se lo agradecería enormemente porque este ya es el último paso que me falta

por dar.

Muchas gracias y un saludo.

 

En respuesta a por EmilinDaSilva

Me alegro que ya estés de vuelta, y que vayan saliendo las cosas.
Yo lo que haría es probar el tema de las tablas externas directamente desde la base de datos, sin que intervenga OWB.

Así podras localizar el problema que hace que no se carguen los datos del csv sin agobiarte por temas del entorno de Warehouse Builder.

Y a malas siempre te queda la opción de montar la carga con tablas normales que lean los datos de un fichero.

Ánimo!

En respuesta a por Carlos

Hola Carlos,

pues lo que me comentas de probar el tema de las tablas externas directamente desde la BD sin que
intervenga OWB, no sé muy bien a qué te refieres, si a consultar o a insertar. En cualquier caso,
desde el SQLPLUS he entrado y he consultado los valores de las tablas externas. Los valores que
contienen son exactamente iguales a los que me muestra OWB.

Voy a probar ahora a insertar directamente los datos desde aquí en las tablas externas para ver
si esto funciona.

En cualquier caso, no sé si tendrá algo que ver, pero cada vez que abro OWB, e intento abrir el
centro de Control o consultar valores de tablas, me aparece un mensaje con lo siguiente:

Fallo de conexión para la ubicación "..."
Se ha devuelto el siguiente error:
Faltan algunos detalles de la ubicación.
Compruebe que la información de la ubicación se ha especificado por completo.
¿Desea editar los detalles de la ubicación?

Seguramente no tenga nada que ver, pero cuando me pasa, le doy a Si, introduzco la clave y ya me
deja entrar. Aunque sea algo sin importancia, como tuve problemas anteriormente con las ubicaciones
y en el mismo módulo estuve usando unas y, después creé otras nuevas, dado que no las puedo eliminar
las tengo como "no registradas" para que no afecten, no sé si estará todo bien, pero creo que sí.

Gracias y ya os cuento.

En respuesta a por EmilinDaSilva

Me refiero a insertar, a crear las tablas externas enlazadas al fichero CSV directamente desde un cliente de base de datos, con SQLPlus, Toad, Oracle SQL Developer, o el que suelas utilizar tú.

Si OWB no te muestra datos en las tablas es que no los hay. Si he entendido bien lo que has ido comentando, yo sigo pensando que el problema tiene que estar en la creación de las tabla externas.

En respuesta a por Carlos

Acabo de observar un par de cosas, no sé si tendrán algo que ver o no.

1- Mi ubicación donde tengo los datos origen (extraidos del fichero csv) tiene como nombre físico ORIGEN y de negocio ORIGEN1, aunque las demás localizaciones también tienen nombre físico distinto al de negocio.

2- El módulo de flujo de proceso que creé he visto que tiene como identificación la ubicación que creé para él y como evaluación la ubicación donde están el resto de los objetos (tablas...).

3- En el explorador de proyectos, me pone como nombre de archivos DEPENDIENTES_CSV ... cuando es Dependientes.csv ¿Lo cambio o eso es normal? Además en sus propiedades ví que como nombre físico y de negocio es DEPENDIENTES_CSV

Creo que en el punto 3 está la clave, voy a probar a cambiar uno y ahora os cuento.

En respuesta a por EmilinDaSilva

Hola de nuevo,

he estado intentando insertar por línea de comandos con SQL Plus los valores en las tablas externas y me devuelve este error:

ORA-30657: operación no soportada en la tabla externa organizada

No sé si se referirá a un problema de permisos o que...

Y sobre lo que me dijiste de enlazar por consola las tablas externas con los ficheros .csv pues no tengo ni idea de cómo se
puede hacer eso, si me pudieses ubicar un poco te lo agradecería.

Y en cuanto a que el problema pueda estar en la creación de las tablas externas, pues no lo sé, pero se puede configurar todo
y, tal y como lo tengo ahora mismo (y desde hace tiempo) es exactamente igual a como se dice en el manual.

También probé lo que me dijiste tú de cambiar el modo de despliegue de las dimensiones de "sólo catálogo" a "desplegar todo",
para poder hacer también consultas desde SQL PLUS u otras herramientas.

No sé, si me puedes ayudar con lo del enlace te lo agradecería mucho.

Muchas gracias y un saludo.

En respuesta a por EmilinDaSilva

 Para crear las tablas externas desde un cliente SQL como SQLPlus o Oracle SQL Developer lo más sencillo es que copies el mismo código que genera OWB. Para ello tienes que utilizar la opción View Code del Control Center. Revisa el apartado Deploying the External Table del manual de Oracle. Se trata de abrir el archivo DDL que genera OWB (EXPENSE_CATEGORIES.ddl, por ejemplo), copiar la sentencia de creación de la tabla externa, y lanzarla directamente desde SQLPlus para comprobar si la tabla se genera correctamente y carga los datos del fichero, o la base de datos devuelve un error ORA-.. más específico que después habría que revisar.

Vigila también con la variable EXPENSE_WH_LOCATION_TO_SOURC_0, puede que si lanzas la sentencia con el mismo usuario que utiliza el Control Center la variable esté definida, pero si no tendrás que cambiarla en la sentencia por el directorio donde tienes el fichero.

Esta es la imagen del contenido del archivo ddl que has de copiar:

DDL de Creación de una Tabla Externa con OWB

 

El resultado ha de ser que después desde el mismo SQLPlus puedas hacer un SELECT * FROM EXPENSE_CATEGORIES y la tabla contenga los datos del fichero. Si no, es que hay un problema con el nombre del fichero, directorio o algo similar, y la base de datos te debería haber devuelto un mensaje de error al hacer el CREATE que nos daría pistas sobre el problema.

 

La otra opción que te comentaba era crear estas dos tablas como tablas normales, no externas, y cargar los datos del fichero con una importación, un proceso de OWB o directamente con sentencias de INSERTs, pero esta es ya la opción desesperada, y no creo que sea necesario porque la creación de las tablas externas tampoco debería ser tan complicada.

 

Disculpa que haya tardado tanto en contestar, pero no he encontrado el momento hasta ahora,

Amigos, nose si me pueden ayudar soy nuevo en esto de WAREHOUSE BUILDER
QUIERO HACER UN PROCESO ETL para cargar archivos EXCEL, pero no tengo idea de como hacerlo, eh tratado de ver tutoriales sin exito:

Nose si me pueden ayudar con uno, quiero crer un flujo de proceso para loq les mencione

Necesito instalar Workflow ?

ayuda por favor

OWB 11g R1 Debug

OWB 11g R1 Debug aenva 28 Diciembre, 2010 - 18:32

 Buen día a todos:

 

Estoy conociendo el OWB para esto seguí las guías de oracle pero los ejemplos me marcaron muchos errores, así que decidí hacer un ejemplo mucho mas simple, una sola dimensión que traerá los datos de una sola tabla.

los objetos se desplegaron y validaron correctamente. 

Pero no veo los datos, he estado debugeando el mapping y veo en que parte del proceso marca el siguiente error:

***********************************************

DEBUG INPUT ROW: 15
TABLE: DBG$ID7_D_CLIENTES_GRP0
STATEMENT: TRACE 689: SELECT
ORA-06502: PL/SQL: numeric or value error: Bulk bind: Error in define
DEBUG INPUT ROW: 15
CursorFetchMapTerminationRTV20007

 

Lo marca dentro de la dimensión( les adjunto una imagen), pero no se como corregirlo, ya revise los tipos de datos de las tablas ( origen y destino), los tipos de datos en la dimensión y todo se ve bien.

¿Dónde puede estar el error?, ¿se puede debugear la aplicacion en líneas de código para ver en donde marca el error exactamente?.

 

Les agradezco cualquier aporte. Saludos. 

 Buen día

 

 Pues apenas posteo y encontre el error, SI tenia una inconsistencia de datos entre la tabla origen y la tabla destino aunque se me parece raro porque ya había notado esta inconsistencia de datos anteriormente, la corregí y desplegue nuevamente la dimensión utilizando la funcion sustituir, pero al hacer clic en start volvia a marcar el mismo error.

 Lo que hice fue algo fraudulento pero aquí está. 

 Utilice pl/sql para intentar hacer un insert de los datos de la tabla origen a destino y volvio a marcar el error, así que fui a definición de las tablas y ahí estaba otra vez la inconsistencia de datos en una columna de tipo numerico, como no se había corregido esto al sustituir y desplegar la dimensión borre y luego cree la dimensión otra vez, volvi a la definición de las tablas y no habia cambiado nada. Entonces (aquí esta la parte mas fraudulenta) cambie el codigo de definición de la tabla con pl/sql e intente de nuevo con el botón start del control center y funcionó :)

 

 Esto paso ayer, así que para hoy he tenido tiempo de pensar que la razón por la que no funcionaba es porque estaba modificando la dimensión pero nunca cambie la tabla destino desde el owb pfff... 

 

 De cualquier forma sigo teniendo las siguientes dudas:

 1. ¿Puedo debugear un mapping viendo el código que utiliza (como en un paquete)?

 

2. Como consegui cargar los datos a esta dimension regrese al ejemplo de ventas de oracle, puedo desplegar las dimensiones y al cargarlas también me marca que lo hizo correctamente, pero al desplegar el cubo sales me marca lo siguiente: 

 

ORA-06510: PL/SQL: excepción definida por el usuario no tratada

ORA-06512: en "OLAPSYS.CWM2_OLAP_UTILITY", línea 1694

ORA-01403: No se ha encontrado ningún dato

ORA-06512: en "OLAPSYS.CWM2_OLAP_CUBE", línea 33

ORA-06512: en "OLAPSYS.CWM2_OLAP_CUBE", línea 55

ORA-06512: en "OLAPSYS.CWM2_OLAP_CUBE", línea 386

ORA-06512: en línea 3

 

 ¿Que puede ser?¿Puedo ver mas a detalle estos errores?, ¿Me pueden decir donde puedo revisar para encontrar mas información sobre esto? Alguna idea?

 

 

 

En respuesta a por aenva

Antes de nada gracias por compartir tu experiencia.

Sobre el debugger, con OWB se pueden debugar los procesos, aunque yo nunca he llegado a hacerlo. En el tema del foro Mi primer mapa comentaba lo mismo, pero puedes comprobar que oscarw sí que llegó a utilizar el modo debug para seguir la ejecución de los procesos. Si encuentras información sobre cómo hacerlo compártela porque ya ves que no hay mucha.

Sobre el error, yo creo que la parte más indicativa es el ORA-01403: No se ha encontrado ningún dato, revisa que todas las tablas origen contengan datos, y que tampoco falten en ningún punto intermedio, está claro que al cubo no llegan datos.

En respuesta a por Carlos

Carlos, gracias por la pronta respuesta.

 

Jeje, tienes razón el error es muy claro, lo que no tengo tan claro es donde es exactamente y por su puesto como solucionarlo  

Ya he revisado las tablas origen y todas contienen datos, además he desplegado y cargado las dimensiones y me asegure que tuvieran datos, la validación del cubo también es correcta.

Estoy trabajando con el ejemplo Sales que descargue de la pagina de oracle, por lo que supongo que tanto las dimensiones como el cubo están bien diseñados.

 

1. Hay forma de debugear el cubo como se hace con las dimensiones? 

Cabe señalar que solo lo estoy desplegando, no se si el cubo también tenga disponible la opcion Start para realizar la carga como en las dimensiones ( supongo que si)

2. A que te refieres con: "y que tampoco falten en ningún punto intermedio" y como puedo revisar esto.

3. Que mas puedo revisar o verificar para encontrar el error?

 

Gracias por el apoyo, saludos!

 

 

En respuesta a por aenva

Ya te digo que no soy un experto en OWB, y a lo mejor alguien que se haya encontrado este error puede darnos una solución más directa, pero yo lo que haría es ejecutar cada paso de la carga, si hace falta por separado, e ir comprobando en las tablas si realmente se están cargando los datos, en algún punto tiene haber alguna a la que no le lleguen datos, a eso me refiero con que falten datos en un punto intermedio.

Problema con Workflow que no funciona al utilizar un mapping correcto

Problema con Workflow que no funciona al utilizar un mapping correcto Carlos 29 Enero, 2009 - 23:01

Tengo un problema con OWB y OWF. Tengo un proceso de carga definido con Oracle Workflow. Este proceso se me queda 'enganchado' en un mapping y no encuentro cómo solucionarlo.
Lo extraño es que si ejecuto el flujo completo el proceso se queda parado con este mapping, pero si ejecuto todos los mappings por separado desde el mismo Control Center todo funciona correctamente.
Desde el Control Center he hecho un drop de todos los flows y he vuelto a desplegarlos con la opción Create para asegurarme de que está utilizando la última versión.
En el Centro de Control el flujo se queda en estado de ejecución, pero si lo examino obtengo el siguiente mensaje de error:

VENTAS
 Description : Runtime User : OWBOWNER Started : 2009-02-03 15:20:59.0
Status
Log
INFORMATIONAL
  RPE-02075: Fallo de Oracle Workflow al procesar la solicitud de ejecución para la actividad VTAS_FRAQ:MAP_STG_CARGA_VENTA. Puede que los objetos dependientes no se hayan desplegado todavía.
INFORMATIONAL
  ORA-01403: No se ha encontrado ningún dato
  ORA-01403: No se ha encontrado ningún dato
  ORA-01403: No se ha encontrado ningún dato
INFORMATIONAL
  WB_RT_WORKFLOW_UTIL_10G.

  Execute_Any_Task(STG, WB_IK_20090203_152336_158645, 2693, RUN)
  WB_RT_WORKFLOW_UTIL_10G.
Execute_Task(STG, WB_IK_20090203_152336_158645, 2693, RUN)
  Wf_Engine_Util.Function_Call(
WB_RT_WORKFLOW_UTIL_10G.EXECUTE_TASK, STG, WB_IK_20090203_152336_158645, 2693, RUN)
Error
  RPE-02083: Error en las actividades del proceso VENTAS. Puede que los objetos no se hayan desplegado. Puede utilizar el Monitor de Oracle Workflow para reintentar las actividades o abortar el proceso.

Alguien tiene alguna sugerencia? Lo siguiente que voy a probar es a partir el flujo en dos

Ya he podido solucionarlo.

El problema lo tenía desde que había modificado un mapping. Al final, dejando ese mapping aislado en un flujo para él solito me he dado cuenta de que tenía que borrarlo del workflow y volver a seleccionarlo de la parte Available Objects del Explorer de OWB.

Moraleja: si se modifica un mapping y este aparece en un flujo de proceso, borrar el mapping del flujo y volver a seleccionarlo. Por lo que veo con Warehouse Builder lo de borrar y volver a crear es siempre la técnica más recomendable cuando se hace cualquier cambio.

De hecho he tenido que volver a aplicar esta técnica cuando he modificado el flujo que no me funcionaba. Resulta que tengo otro flujo que llama al del mapping. Pues me ha vuelto a salir el mismo error, que he solucionado borrando el icono del proceso hijo en el workflow 'padre' y volviéndolo a insertar seleccionándolo del apartado Process Flows de la pestaña Available Objects del Explorador. Cosas de OWB, será cuestión de acostumbrarse..

En respuesta a por Carlos

Hola Carlos,

Este error que comentas es muy típico en OWB y también sucede en ODI, el problema rádica en que cada vez que modificas un mapping, OWB no es capaz de refrescar los workflows donde ese mapping aparece y por lo tanto te toca refrescarlos a tí manualmente, ya sea elimandolo y volviendolo a generar o enviandolo a un workflow separado.

Lo peor es que no te encuentras con él problema hasta que ejecutas el workflow en cuestión y la palicación no es capaz de decirte todos los workflows que se ven afectados por el mapping que has cambiado.

Un saludo.

P.D.: Yo se de una ETL que eso no le pasa y tiene mucho mejor solucionado el tema de la reutilización de procesos, je,je,je !!!!

David Soto

En respuesta a por David Soto (no verificado)

Hola David, yo también me alegro de verte por aquí

Déjame adivinar, la ETL que comentas se llama Powercenter? Puedes nombrarla tranquilamente, y contarnos todo lo que quieras sobre ella, lo mejor para tomar decisiones acertadas es estar bien informado..

Sistema de almacenamiento de OWB

Sistema de almacenamiento de OWB EmilinDaSilva 24 Marzo, 2010 - 21:04

Hola buenas,

 

estoy buscando información para conocer el sistema de almacenamiento de los objetos que se crean en OWB al crear un Data Warehouse.

 

Si alguien puede indicarme más o menos dónde puedo encontrar esta información se lo agradecería.

 

Muchas gracias.

Saludos.

 

¿Sistema de almacenamiento? ¿Puedes concretar un poco más lo que buscas?

Te refieres a los metadatos que genera Oracle Warehouse Builder cuando vas creando los flujos en las pantallas de diseño, a los objetos de base de datos que genera para almacenar las estructuras de datos del DWH, o no he acertado ninguna?

En respuesta a por Carlos

Pues sinceramente, me han encargado que localice esta información tal y como te lo pregunté, no me han concretado nada, así que ambas propuestas me vendrían bien conocerlas, aunque imagino que será la segunda, es decir, los objetos de la BD generados para el almacenamiento de los datos del DWh.

 

Muchas gracias Carlos.

En respuesta a por EmilinDaSilva

 Bueno, en realidad OWB genera lo que tu le definas en los flujos de carga, se pueden generar muchos tipos de objetos de bases de datos Oracle.

Normalmente son tablas de la base de datos en las que se almacenan los datos del DWH. El espacio de la carga también se suele organizar en diferentes áreas en función de lo 'cerca' que se encuentren las estructuras de los modelos dimensionales.

Pero estos temas ya no son específicos de Oracle Warehouse Builder, se aplican a la construcción de cualquier sistema de Data Warehouse. Te enlazo el artículo de Arquitectura del Data Warehouse: áreas de datos de nuestro Almacén Corporativo por si te sirve de ayuda.

En respuesta a por Carlos

Gracias de nuevo Carlos,

 

verás, hablé con quien me pidió esta información, que no ha trabajado nunca con OWB y, lo que me ha dicho que la interesa es que la cuente cómo es el modelo de persistencia de la herramienta, es decir, en algún directorio de donde se instaló Oracle debe haber objetos o ficheros que se creen cada vez que se crea por ejemplo una tabla en OWB, no?

Pues en ese sentido, toda la información que pueda encontrar, así que seguiré buscando pero si sobre esto me puedes echar una mano te lo agradecería.

 

Gracias y un saludo.

En respuesta a por EmilinDaSilva

OWB crea un repositorio de metadatos en la BD donde haces la instalación. Se crea tablas, procedures, vistas, triggers, etc para que la herramienta pueda funcionar correctamente.

Después, cuando haces los despliegues desde el entorno gráfico también genera objetos de Oracle, sobretodo procedimientos almacenados, que es a lo que se llama en realidad cuando se ejecuta un flujo de proceso.

El control de todo está en todos estos objetos de la base de datos, aunque lo que equivaldría a la documentación, los metadatos, es la información que te ofrece el entorno visual. Se puede obtener también directamente de los objetos del repositorio, pero piensa que estos objetos están pensados para servir a la herramienta, no para que se consulten directamente, por lo que buscar información directamente en el repositorio puede ser complicado. Se suele hacer sólo cuando la interfaz gráfica no es suficiente.

Si quieres echar un vistazo puedes explorar los objetos del usuario OWBREPOS_OWNER de la BD sobre la que se haya realizado la instalación de OWB, ya que este es el usuario Oracle propietario del repositorio.

Objetos de OWBREPOS_OWNER, usuario propietario del repositorio de OWB

Hola, no sé si acá es donde debo preguntar esto o no, si no es así entonces ofrezco mis disculpas por adelantado.

 

Bueno, estoy empezando a trabajar con OWB 11gR2. El asunto es que quisiera ejecutar un procedimiento

almacenado que importé a un proyecto OWB desde una base de datos y no he podido tal lograr cometido.  

Gracias por la atención prestada.

En respuesta a por Manuel Salcedo

Hola Manuel.

El foro es el correcto (OWB), habría sido mejor crear un tema nuevo, pero no hay problema. Hace tiempo que no toco OWB pero la ejecución de procedures después de importar y 'hacer el deploy' no era complicada. Te enlazo y copio la documentación de Oracle para importar procedures y otros objetos, por si te has saltado algún paso.

  Use the Import Wizard to import PL/SQL functions, procedures, and packages into a Warehouse Builder project. The following steps describe how to import PL/SQL packages from other sources into Warehouse Builder. To import a PL/SQL function, procedure, or package:

  1. From the Project Explorer, expand the project node and then Databases node.
  2. Right-click an Oracle module node and select Import. Warehouse Builder displays the Import Metadata Wizard Welcome page.
  3. Click Next.
  4. Select PL/SQL Transformation in the Object Type field of the Filter Information page.
  5. Click Next. The Import Metadata Wizard displays the Object Selection page.
  6. Select a function, procedure, or package from the Available Objects list. Move the objects to the Selected Objects list by clicking the single arrow button to move a single object or the double arrow button to move multiple objects.
  7. Click Next. The Import Metadata Wizard displays the Summary and Import page.
  8. Verify the import information. Click Back to revise your selections.
  9. Click Finish to import the selected PL/SQL transformations. Warehouse Builder displays the Import Results page.
  10. Click OK proceed with the import. Click Undo to cancel the import process. The imported PL/SQL information appears under the Transformations node of the Oracle node into which you imported the data.
When you use imported PL/SQL:
  • You can edit, save, and deploy the imported PL/SQL functions and procedures.
Si todo esto lo has hecho bien puede que tengas un error en el procedure, o un problema de permisos, qué error te devuelve OWB al ejecutar?  

Carlos, gracias... esos pasos (los que describiste) fueron los que seguí pero me daba un "errorcillo".

Jejejejeje... pero bueno, ya pude solucionar el problema. La cosa es que el procedimiento almacenado tenía un

valor de retorno y no lo estaba ubicando en un destino, es decir, no estaba implementando un "recipiente"

que almacenara el resultado, que no es más que un valor para informar si el procedimiento se ejecutó

bien o con errores. Ubiqué la salida en un objeto en la base de datos y corrió de maravilla!!!

 

Gracias... 

 

Ahora tengo otra duda, y es la siguiente: ¿puedo obtener un XML desde una fuente y luego enviar dicho XML a un

web service? (todo ello desde OWB) Si eso se puede, entonces surge otra duda y es... jejejeje... ¿cómo sería el proceso?

 

Desde ya, gracias!

 

Saludos, desde Colombia.

Uso de Expression Operator

Uso de Expression Operator johana487@gmail.com 6 May, 2014 - 22:02

 Buenas Tardes,

 

Soy nueva en esta herramienta y la verdad me ha ido relativamente bien con su uso, sin embargo, me topé con la necesidad de multiplicar dos campos (saben esa tipica multiplicacion de cantidad por precio) pero al crear mi ETL me arroja los errores:

  • "VLD-2002: Falta la expresión de condición de división para el Divisor COS_MERC."   
  •  "VLD-2002: Falta la expresión de condición de división para el Divisor TOTAL_ART.

Tengo dos Operadores de expresion  uno multiplica el campo COS_MERC * TOTAL_ART y el otro divide COS_MERC / NULLIF(UNI_RELAC,0)

NOTA: ese ultimo tambien lo intente con DECODE()

Muy capaz me estoy saltando algun paso, o no tengo claro el funcionamiento del operador si alguien puede darme una mano con este error estaré muy agradecida.

 

Saludos!

Parece que al incluir una división el analizador necesite que le especifiques qué hacer en caso de error por encontrarse un 0 en el divisor, a pesar de que tú ya lo estés evitando, o puede que simplemente no le guste el NULL. Es sólo una suposición, porque hace mucho que no toco OWB.

Como sugerencia, si no encuentras cómo informar la condición que te solicita, puedes probar con una expresión de tipo CASE para separar el caso en que UNI_RELAC vale 0, y asignarle directamente un nulo (y si te sigue fallando un cero), y el caso en que es diferente de cero, en el que puedes ponerle la división.

 

mi primer mapa ! dudas.

mi primer mapa ! dudas. oscarw 29 Junio, 2010 - 21:58

 Hola 

 

cordial saludo. 

 

 

bueno por fin inicie con owb, ya he armada mi primer mapa que se trae los datos de una bd sql server. 

 

he creado todos las conversiones necesarias para esto hago uso de expresiones (no se si es correcto..mmm tal vez usar filtros  aun no lo tengo claro) que funcionan si problemas. 

 

1.bueno la duda puntual que tengo es para cuando hago el debug ... se genera un error y me dice que tengo que definir datos de prueba ... bueno para esto uso la opción de test y defino la tabla nueva que copia los datos de la original (target) pero esto me crea una tabla en el destino. he aquí el punto de mi duda ¿luego de hacer el debug puedo borrar dicha tabla ?  

 

2.mmm... no tengo claro los puntos que debo tener en cuenta  a la hora de hacer el deploy del mapa... intente hacerlo pero no sucedio nada, me pueden guiar en este punto ¿ que me hace falta ? , el mapa esta creado y validado. En la prueba del debug ya verifique la importacion de los datos, solo me resta hacer el deploy el cual hasta el momento no he logrado generar.

 

 

 

 

espero me puedan dar una ayuda en este tema. 

 

 

saludos.

Respondiendo a mis dudas anteriores: 

 

1. bueno luego de hacer varias pruebas ... me pude dar cuenta de que esta tabla se crea solo para efectos del debug del mapa y luego puede ser borrada sin problema.

esto se presenta debido a que; en el momento de hacer el debug se intenta obtener información de prueba, pero extrañamente no se tiene acceso a los datos de la tabla origen  lo cual hace necesario que se deban crear apartir de la misma  o generar un tabla de estructura similar en nuestra db destino con datos de prueba. Con esto ya podemos verificar el correcto funcionamiento del mapa. 

 

2. bueno esta parte no suponia mayor problema ... inicialmente cuando intente hacer el deploy tenia algunos errores en el mapa

no lo habia validado, luego de darme cuenta de mi error pues lo corregi  valide y realice el deploy sin problemas.

 

bueno no siendo me despido.

 

saludos.

En respuesta a por oscarw

Oscar, gracias por compartir tu experiencia con el debug de OWB.
En mi caso nunca lo he llegado a utilizar porque siempre me ha dado la sensación de que era más complicado debugar que ir siguiendo los procesos paso a paso, o viendo qué pasa en la base de datos.

Si tu experiencia es positiva habrá que empezar a utilizarlo..

Propuesta de DW para XML

Propuesta de DW para XML EmilinDaSilva 10 Abril, 2010 - 13:14

Hola buenas,

 

tengo que buscar una solución para poder almacenar la información de los documentos XML que se corresponden con un esquema determinado sobre la temática de las ventas.

 

El gráfico del XML Schema es éste:

 

http://img404.imageshack.us/i/xmlschema.jpg/

 

Como explicación, mencionar que en el esquema hay 3 elementos que parten del raíz (Starpackage), que son FACTS, DIMENSIONS y BASES.

 

- Dentro de FACTS únicamente está Ventas (con atributo ID de tipo ID) y que contiene, además de un subelemento Unidades_Vendidas, 4 referencias de tipo IDREF a cada una de las dimensiones.

 

- Dentro de BASES, existen 4 subelementos que representan las tablas base de cada dimensión, cada una con un atributo ID de tipo ID. Cada uno de estos elementos contendrán en su interior un subelemento de tipo IDREF como referencia a la dimensión correspondiente.

 

- Dentro de DIMENSIONS, estarán las 4 dimensiones (Dependiente, Producto, Fecha y Lugar), cada una de su tipo complejo correspondiente que fue creado previamente. Además cada una de ellas tendrá un atributo ID de tipo ID.

 

Entonces, he diseñado una posible solución, de momento he hecho sólo la parte para las fechas, por si estuviese mal, pero tengo una duda, en realidad,lo que interesa que se quede almacenado en el DW son los datos del documento XML, no toda su estructura, por lo que ahora creo que está mal.

 

La solución propuesta es la siguiente:

 

http://img255.imageshack.us/i/psmxmlfechas.jpg/

 

Y lo que a mi no me convence mucho tal cual está ahora mismo es que, no sé si sería necesario almacenar la estructura del documento, es decir, no sé si habría que poner en el esquema de almacenamiento del DW que debe contener un elemento raíz llamado "Starpackage", después 3 subelementos "Facts", "Dimensions" y "Bases" etc.

 

Puesto que la comprobación de si el documento que se va a insertar cumple con la estructura fijada por el XML Schema (tiene todos los elementos requeridos y en el orden indicado) se debería hacer en la fase de "Extracción" o "Transformación", pero no en carga no? Y en el DW sólo deberían quedar almacenados los datos.

 

No sé si me habré explicado con claridad, espero que se entienda. Si alguien me puede dar su opinión se lo agradecería.

 

Muchas gracias.

 

 En el diseño que adjuntas has pasado una estructura de XML a un modelo relacional, que podría ser uno de los primeros pasos del proceso de ETL hacia un estructura de Data Warehouse.

En mi opinión puedes pasarlo a tablas o, si la misma definición del documento XML ya te garantiza una estructura válida, liberarte ya de arrastrar la estructura de un XML.

Pero lo que está claro es que aún te queda alguna etapa más de el proceso de ETL para que el modelo tenga una estructura de DWH, has de eliminar todo lo que sea específico de la estructura del fichero, y después desnormalizar y llegar a obtener una estructura de estrella o copo de nieve, según el modelo de diseño que sigas.

Adjunto las imágenes de tus diseños, para que se vea cómo va quedando, ahora sólo falta irlo completando hasta llegar al diseño final ;)

 

1. Estructura del fichero XML

Modelo del XML de Ventas


2. Estructura del modelo relacional de volcado del fichero XML

Modelo relacional del XML de Ventas

En respuesta a por Carlos

Gracias Carlos,

 

bueno, en primer lugar, sobre lo que dices de que me falta un paso más hasta llegar a un diseño final propio de DWh, estoy de acuerdo, pero la historia es que veo que, si hago eso al final me va a quedar un esquema igual al tradicional de ventas sencillote en estrella, es decir, algo así:

Modelo en estrella a partir de un XML

 

¿Crees que si quiero diseñar un DW para almacenar documentos XML debo tener esta estructura (u otra parecida) en mi almacén? Posiblemente sí, pero no estoy seguro...

 

Por cierto, eso que dices tú de "pasarlo a tablas" no sé a qué te refieres, ¿a algo como lo que aparece en la imagen?

 

Otra cosilla, no he usado mucho OWB, pero siempre que he querido importar datos he hecho el proceso de:

Archivo + Nuevo + Selección del fichero excel .csv + Seguir con las acciones de importación...

 

Y en estos ficheros venían los datos separados por comas simplemente.

Bien, pero ahora lo que no veo es, cómo habría que importar ficheros .xml y, una vez importados, cómo extraer el valor de cada campo. Ese primer paso no lo veo, no sé cómo se podría hacer en OWB.

Si me pudieses comentar cómo se te ocurre que se podría hacer te lo agradecería.

 

 

 

En respuesta a por EmilinDaSilva

Si quieres tener un Data Warehouse, el modelo tradicional de ventas que muestras es el indicado. Una estructura de XML no pinta nada en un DWH, es sólo un origen de datos, pero nunca un destino.

Si tu objetivo es almacenar documentos XML entonces no quieres un DWH, el Data Warehouse es para analizar datos, y la estructura indicada para ello es la estrella que adjuntas, complicar este modelo no te aportaría nada y las herramientas de análisis no te funcionarían bien.

Esto no quiere decir que no se pueda almacenar la estructura del XML en un paso previo si crees que ello te aporta algún beneficio, es a lo que me refería con lo de pasarlo a tablas.

 

Para recoger datos a partir de un XML con OWB tienes varias opciones.

Te comento, por si lo desconoces, que Oracle soporta el almacenamiento y tratamiento de documentos XML. Se puede cargar un XML directamente en una tabla de tipo XMLType, y después puedes lanzar sentencias de SQL sobre esta tabla para trabajar directamente sobre el contenido.

Te enlazo el artículo de Oracle Administrar Datos XML Complejos en Oracle XML DB 11g, que explica muy bien cómo funciona este sistema.

  • Si además tienes una versión de OWB a partir de la 11.2 puedes utilizar directamente el tipo de dato XMLTYPE en los flujos de procesos, ya que lo acaban de incorporar en esta versión. Yo no he llegado a probarlo, pero te enlazo el post Complex type support in process flow - XMLTYPE, donde explican cómo utilizarlo.
  • Si no tienes esta versión, o quieres independizarte del formato XML, una aproximación más clásica sería utilizar el procedimiento almacenado WB_XML_LOAD para volcar el contenido del XML en tablas relacionales. Busca en la documentación de OWB más detalles sobre la sintaxis del procedure, en la versión 9i ya explicaban cómo utilizarlo.
  • Por último, otra opción que tienes es crearte, por ejemplo, un procedimiento almacenado que utilice el mismo procedure WB_XML_LOAD para cargar directamente el XML en una tabla de tipo XMLType. Después puedes atacar esta tabla son SQL para recuperar los datos y crear una vista 'relacional', por ejemplo. En el post Designing an XML View in OWB explican cómo hacer esto último.

Bueno, espero haberte sido de ayuda, cuéntanos después cómo van las pruebas, si vas a llegar a la estructura de DWH o te vas a quedar en la relacional, y qué método utilizas finalmente para recoger los datos del fichero XML.

UPK Oracle

UPK Oracle AleMarch 12 Abril, 2013 - 14:38

Hola a todos

Quisiera apelar a ustedes para conseguir material o pruebas de ensayo para realizar la certificacion en UPK Oracle. Cualquier ayuda sirve

Muchas Gracias

PD: Ya baje material de oracle en ingles.

 

Los materiales orientados a certificaciones de Oracle suelen ser de pago, pero si alguien encuentra algo que pueda servir le agradeceremos que lo comparta.

Supongo que debe ser lo que ya te has descargado, pero por sí acaso enlazo la librería oficial online de Oracle User Productivity Kit (UPK)

También he encontrado esta 'guía de bolsillo' en PDF, que parece bastante útil para comenzar.

 

Buenas tardes,

 

Soy un principiante en UPK, y tengo un prioblema en este momento y es que al publicar no me publica las paginas del glosario que se crearon en el developer. al hacer clic en la palabla con el hipervinculo dice que no encuentra la página..

 

les agradezco mucho cualquier colaboración.

como crear Tablas de Hechos

como crear Tablas de Hechos aenva 4 Enero, 2011 - 19:30

 Buen día, 

Sigo aprendiendo OWB, al mismo tiempo que intento entender los conceptos de DataWareHouse... sin mas introducción les dejo mi duda

Necesito saber que son, como se usan y principalmente como se hacen tablas de hechos desde OWB

He buscado información sobre esto, pero como saben no hay mucho, si me pueden explicar o darme una liga/tutorial se los agradeceria mucho.

mientras seguiré buscando porque esto (como siempre) era para ayer XD

 

Que tengan un excelente inicio de año, Saludos!

En respuesta a por Carlos

 Buen día a todos:

 

Malas lenguas me llevaron por caminos obscuros jaja pero esto aclara mi duda.

 

Fact Tables Renamed to Cubes: The terms fact and fact table have been replaced with cube in this release to be in line with OLAP industry standards.

 

Esto lo encontré aquí:

Oracle® Warehouse Builder

User’s Guide

10g Release 1 (10.1)

Part No. B12146-01

 

Gracias Carlos, leeré ese tutorial también en cuanto me sea posible o en cuanto lo necesite... lo que suceda primero XD

 

 

relación entre tablas de hechos

relación entre tablas de hechos Anonimo (no verificado) 29 Septiembre, 2010 - 18:16

Hola,

Soy totalmente nueva en este mundo de los data warehouse, estoy diseñando unos diagramas tipo estrella y de repente me encuentro en que para optimizar podría relacionar dos tablas de hechos, ¿Esto se puede? y otra pregunta ¿una tabla de hechos puede alimentar a otra tabla de hechos??

Saludos

Seguro que vas a optimizar relacionando dos tablas de hechos. Como norma general, las relaciones de las tablas de hechos se hacen a través de las dimensiones, y relacionar dos tablas de hechos no suele ser una buena idea. Si el sistema es medianamente grande estarás forzando joins entre tablas de millones de registros.

Si lo que quieres hacer es representar una relación maestro-detalle o algo así suele ser más aconsejable almacenar todo en una sola tabla de hechos, planteándote además cuál es el mínimo detalle que necesitas para analizar la información.

En respuesta a por Carlos

Vale muchas gracias carlos :D
Otra pregunta, sabes de algún manual que explique como alimentar mi warehouse builder con un base de datos oracle 11g, como hago las reglas para la transformación de los datos y si se puede que se haga en tiempo real sin utilizar el ODI de oracle sólo con el warehouse???

Muchas gracias
Saludos elisa

En respuesta a por elisaRF (no verificado)

Para el tema de los manuales puedes echarle un vistazo al tema del foro Documentación sobre OWB, y si tu encuentras algo más puedes enriquecer la lista, o actualizarla con enlaces a documentación sobre la versión 11g.

Me temo que con OWB lo tienes complicado para actualizar datos en tiempo real, OWB no está pensado para eso. Ni siquiera ODI lo estaba, pero Oracle adquirió Goldengate Software justo para poder ofrecer integración de datos en tiempo real. Ahora sé que se ofrece como una opción de la versión enterprise de ODI, pero no sé hasta qué punto lo han integrado, o simplemente se utiliza una herramienta aparte.

En este datasheet de ODI y Goldengate puedes consultar alguna cosa.

En respuesta a por Carlos

Vale muchas gracias... también eh visto únicamente la documentación de oracle por eso se me ha hecho medio pesado, pero si encuentro algún buen artículo de warehouse lo integro al foro ;)

Saludos