View
400
Download
4
Category
Preview:
Citation preview
Laboratorio de Seminario de Sistemas 2 Proyecto 1 – Manual Técnico Aquí se explica a grandes rasgos la utilización de Oracle Warehouse Builder 10g Release 2 para crear, poblar y consultar un cubo de información a partir de una base de datos almacenada en Oracle 10g Enterprise Edition.
2010
Jorge Raúl Lu Hernández Universidad de San Carlos de Guatemala
09/01/2010
Contenido
Descripción general del proceso .....................................................................................................................................................1
Crear un repositorio ........................................................................................................................................................................... 2
Crear un nuevo proyecto .................................................................................................................................................................. 2
Definir el esquema fuente ................................................................................................................................................................. 3
Definir el esquema destino ............................................................................................................................................................... 4
Crear las dimensiones ........................................................................................................................................................................ 5
Crear la dimensión con el asistente......................................................................................................................................... 5
Cambiar las propiedades de la dimensión ............................................................................................................................ 7
Modificar la dimensión ........................................................................................................................................................... 7
Modificar la tabla ...................................................................................................................................................................... 8
Generar y desplegar la dimensión ....................................................................................................................................... 9
Crear el cubo ......................................................................................................................................................................................... 11
Crear el cubo con el asistente ................................................................................................................................................... 11
Generar y desplegar el cubo ...................................................................................................................................................... 11
Crear y ejecutar las correspondencias ........................................................................................................................................ 11
Crear los reportes .............................................................................................................................................................................. 14
Errores comunes durante el despliegue .................................................................................................................................... 15
Error PLS-00201 ............................................................................................................................................................................ 15
Otros errores ................................................................................................................................................................................... 16
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
1
O R A C L E W A R E H O U S E
B U I L D E R 10 G R E L E A S E 2 C R E A C I Ó N , C A R G A Y C O NS U L T A D E U N C U B O D E I N F O R M A C I Ó N
Descripción general del proceso
Los requisitos para poder empezar a utilizar Oracle Warehouse Builder son primero tener instalado el
servidor de base de datos Oracle, aún cuando la base de datos que se va a utilizar como origen de los datos
esté almacenada en otro manejador.
Esto se debe a que Warehouse Builder necesita un servidor de Oracle para poder almacenar todos los
metadatos del cubo (información sobre dimensiones, mapeos, el mismo cubo, etc.).
Al tener el servidor de base de datos instalado se puede proceder a instalar Oracle Warehouse Builder.
A continuación inicia la verdadera utilización de Warehouse Builder. De manera general, los pasos son los
siguientes:
1. Crear un repositorio
2. Crear un nuevo proyecto
3. Definir el esquema fuente
4. Definir el esquema destino
5. Crear las dimensiones
6. Crear el cubo
7. Crear y ejecutar las correspondencias
8. Crear los reportes
Tras explicar cada uno de los pasos anteriores se mencionan algunos detalles sobre permisos que pueden
ocasionar errores durante el despliegue de algunos objetos.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
2
Crear un repositorio
Como se mencionó, se debe crear un repositorio que
Warehouse Builder utilizará para almacenar toda la
información de los proyectos que se creen.
El repositorio es un esquema que se crea en el servidor
de base de datos ya instalado. Para crear el repositorio
existe un asistente, que puede encontrarse en Oracle -
OUIHome1 > Warehouse Builder > Administration >
Repository Assistant.
Primero se proporciona el nombre y contraseña del esquema que se utilizará para el repositorio. Este
puede existir o no, pero se recomienda utilizar uno nuevo pues se crean diversos objetos. También se debe
proporcionar la contraseña del usuario SYS de Oracle, y la información para realizar la conexión con la
base de datos1.
Luego se solicita el nombre y contraseña del propietario del repositorio y se finaliza el asistente. La
creación del repositorio en la base de datos puede durar algunos minutos.
Crear un nuevo proyecto
Primero se inicia sesión en Warehouse Builder. Para iniciarlo se va hacia
Oracle – OUIHome1 > Warehouse Builder > Design Center.
Aparece la ventana de la derecha. Se debe proporcionar la contraseña del
propietario del repositorio, así como la información de la conexión, pero
esta última sólo es necesaria la primera vez que se ejecuta Warehouse
Builder.
Cuando aparece la ventana de Warehouse Builder, el nuevo
proyecto se crea desde el menú Diseño > Nuevo.
Lo único que falta es proporcionar el nombre del proyecto.
1 Siempre que se haga referencia a esta información se incluye el nombre del host con la base de datos (generalmente localhost), el número de puerto de Oracle (por defecto 1521) y el nombre del servicio (por defecto orcl para Oracle Enterprise o xe para Oracle Express).
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
3
Definir el esquema fuente
Se expande el nodo del nuevo proyecto y luego el de Bases de Datos.
Allí se da un clic derecho en Oracle1, y se selecciona Nuevo.
Esto inicia el asistente para crear módulos. Primero
se proporciona un nombre para el módulo y al
tratarse de una entrada de datos es importante
indicar que se trata de un Origen de Datos.
Después se debe crear una localización, que en realidad
es una conexión con el esquema de la base de datos
para poder acceder a sus datos.
Se proporciona el nombre y contraseña del usuario del
esquema y la información de conexión a la base de
datos.
Antes de finalizar el asistente es importante indicar
que los metadatos del esquema se van a importar.
Esto inicia el Asistente de Importación de
Metadatos, que extrae la información sobre los
objetos del esquema fuente que interesan para
poblar el esquema destino (principalmente tablas).
1 Se asume que la fuente de datos es un esquema en la base de datos Oracle, aunque también es posible obtener datos desde otros manejadores de bases de datos o archivos de texto.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
4
Una vez filtrados los objetos por tipo, se seleccionan
los que interesa importar. En este caso son las tres
tablas que contienen la información que se utilizará
para poblar el cubo.
Al finalizar el asistente de importación es posible examinar el
módulo fuente recién creado en el explorador de proyectos.
Dentro de este módulo también es posible apreciar los objetos que se
han importado, las tres tablas que se utilizarán como fuente de
datos.
Definir el esquema destino
El esquema destino es el que va a contener al cubo (tabla de hechos y dimensiones). No hay que olvidar
que un cubo no es más que una base de datos “desnormalizada” con el propósito de facilitar las consultas
en lugar de transacciones. Y esta base de datos necesita un esquema.
Adicionalmente, en Oracle sí existen objetos de tipo dimensión y
cubo1, pero son únicamente metadatos de las tablas “físicas” que en
realidad contienen la información del cubo. A fin de cuentas cada
dimensión y tabla de hechos son como cualquier otra tabla de una
base de datos.
Para indicar qué esquema va a contener todas las dimensiones y
tablas de hechos (así como las tablas que las representan), se debe
crear un nuevo módulo de destino. Para crearlo se selecciona de
nuevo el nodo de “Oracle” y se le da clic derecho para iniciar el
mismo asistente que se utilizó para crear el módulo fuente.
1 En Oracle “cubo” es el nombre que se le da a la tabla de hechos de un cubo.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
5
En esta ocasión hay que seleccionar la opción “Destino
de Warehouse”, para indicar que este esquema no va a
ser utilizado como fuente de datos, sino como destino
de datos.
De manera análoga al módulo fuente, es necesario crear
una nueva localización para poder conectarse al
esquema de destino, que ya debe estar creado en la
base de datos.
Es recomendable utilizar un esquema exclusivamente
para el warehouse. Si éste es el caso, no es necesario
importar ningún objeto al crear el módulo destino,
pues el esquema correspondiente está vacío.
De nuevo, el módulo recién creado (esta vez de destino) aparece como un nuevo nodo en el explorador de
proyectos.
Crear las dimensiones
Al tener los tanto el módulo fuente1 como el de destino, se procede a crear las dimensiones en el módulo
de destino.
Para crear una dimensión libre de errores es recomendable utilizar el Asistente de Creación de
Dimensión. La desventaja es que el asistente impone ciertas restricciones para la creación de las
dimensiones. Por ejemplo las dimensiones siempre deben tener una jerarquía2 y una clave sustituta
(surrogate) además de la clave de negocio. Por otro lado, esas restricciones no son de ninguna manera
necesarias para poder implementar las dimensiones en la base de datos y hasta pueden implicar cambios
innecesarios en el diseño mismo del modelo de datos del data warehouse.
Un buen enfoque es crear las dimensiones utilizando el asistente, pero luego editarlas para que se ajusten
al modelo de datos del data warehouse.
CREAR LA DIMENSIÓN CON EL ASISTENTE
Para iniciar el asistente de creación de
dimensiones, se da clic derecho en el nodo
“Dimensiones” dentro del nodo del módulo de
destino. En el menú que aparece se selecciona
Nuevo > Uso del Asistente…
1 En realidad puede haber más de un módulo fuente, pues una de las características de los data warehouse son las fuentes de datos heterogéneas. Todos se crean de la misma manera. 2 Las jerarquías son necesarias si el modelo del data warehouse es de tipo copo de nieve, pero dificultan la implementación de un modelo estrella.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
6
Cuando se ejecuta el asistente, después de darle un
nombre a la dimensión se debe seleccionar el “tipo de
almacenamiento”, que puede ser ROLAP1 o MOLAP2.
Aunque la opción MOLAP parece más lógica, la
generación de este tipo de dimensiones utiliza un
script con errores. Se debe seleccionar la opción
ROLAP.
En el paso siguiente se definen los atributos de la
dimensión. Se debe dejar el atributo ID tal y como
está, pues es la clave sustituta necesaria para poder
terminar el asistente. El atributo NAME es la clave
primaria que tiene actualmente la tabla en el
esquema fuente de datos que se utilizará para
poblar la dimensión. Se puede cambiar el nombre y
el tipo para que coincida con la clave ya existente.
El último campo es DESCRIPTION, que bien
puede ser otro atributo cualquiera de la tabla fuente
de datos para la dimensión. También se puede
modificar su nombre y tipo para que coincida con
un atributo existente.
Luego se definen los niveles de la dimensión. Como se está implementando un modelo estrella, sólo se
define un nivel. Si el modelo fuera tipo copo de nieve, aquí se especifican todos los niveles de la
dimensión.
En el paso siguiente se asocian a cada nivel los atributos definidos previamente. De nuevo, al tratarse de
un modelo estrella todos los atributos definidos se asocian al único nivel existente.
Posteriormente se selecciona la política para mantener información histórica de los datos de la dimensión.
La opción de Tipo 1 es la que menos requerimientos tiene.
Al finalizar el asistente se han creado tres objetos:
La dimensión
La tabla de la dimensión
Una secuencia para la clave sustituta
Ahora es cuando se procede a modificar la dimensión para eliminar las restricciones impuestas por el
asistente.
1 Relational OnLine Analytical Process 2 Multidimensional OnLine Analytical Process
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
7
CAMBIAR LAS PROPIEDADES DE LA DIMENSIÓN
Como se mencionó antes, al crear la dimensión se crean tres objetos. Para eliminar las restricciones
impuestas por el asistente cada uno de ellos debe modificarse.
MODIFICAR LA DIMENSIÓN
Para abrir la dimensión en el editor solamente se le da un doble clic encima. Esto abre una nueva ventana
donde se pueden editar las propiedades de la dimensión.
ELIMINAR EL ATRIBUTO ID
Se selecciona la dimensión dándole un clic a su representación en el diagrama. Esto llena los datos de las
pestañas ubicadas en la parte inferior de la ventana.
Eliminar el ID facilita la creación de la correspondencia para la dimensión (más adelante) pues permite
utilizar solamente los datos de las tablas del esquema fuente. Para eliminar ese atributo se va a la pestaña
“Atributos” en la parte inferior de la ventana y se le da clic derecho encima, donde se selecciona la única
opción disponible: Suprimir.
Lo que sí es necesario es
dejar un atributo cuyo
identificador sea de tipo
“Negocio”.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
8
ELIMINAR LA JERARQUÍA
La siguiente modificación es eliminar la jerarquía, pero sólo si se trata de un modelo tipo estrella. Aún
cuando se trate de un modelo de este tipo (con un único nivel), el asistente crea una jerarquía “estándar”.
Al generar y desplegar una dimensión con un único nivel y una jerarquía, se produce un error. Por eso es
importante eliminar la jerarquía. Para hacerlo se va a la pestaña “Jerarquías” y en la sección superior se le
da un clic derecho a la jerarquía “STANDARD” para poder seleccionar “Suprimir”.
Una vez eliminada la
jerarquía y la clave
sustituta, los cambios
deberían verse en el
diagrama de la dimensión:
Sólo los atributos
necesarios agrupados en
un nivel y ninguna jerarquía.
Los cambios se guardan con Ctrl+S antes de cerrar la ventana del editor.
MODIFICAR LA TABLA
Como se ha eliminado el atributo ID de la dimensión, esto debe verse reflejado en la tabla de la dimensión.
De igual manera, la tabla puede editarse haciendo un doble clic sobre ella. Tenga cuidado de seleccionar la
tabla de la dimensión y no la del esquema fuente de datos.
ELIMINAR LOS ATRIBUTOS IDENTIFICADORES
Los atributos que se deben eliminar son ID (ya eliminado de la dimensión) y DIMENSION_KEY. Para
eliminarlos se va a la pestaña “Columnas”, donde se eliminan con un clic derecho, igual que el atributo ID
de la dimensión.
IDENTIFICAR LA NUEVA LLAVE PRIMARIA
En la pestaña “Restricciones” se elimina la restricción ya existente. Se selecciona y se utiliza el botón
“Suprimir” en el lado inferior derecho.
Luego se agrega una
restricción a la que se le
da un nombre y en tipo
se selecciona “Clave
Primaria”. Luego se
asocia a un atributo
utilizando el botón
“Agregar Columna Local”. En la única casilla editable de la fila que aparece, se selecciona el atributo
marcado como identificador de tipo “Negocio” en el editor de la dimensión.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
9
Se guardan los cambios con Ctrl+S y se cierra el editor.
ELIMINAR LA SECUENCIA
Al haber eliminado la llave sustituta en la dimensión y la tabla, se puede eliminar la secuencia creada para
poblarla. Para hacer esto se le da un clic derecho en el explorador de proyectos y se selecciona “Suprimir”.
GENERAR Y DESPLEGAR LA DIMENSIÓN
En este punto se guardan los cambios de todo el proyecto con Ctrl+S, pues se va a desplegar la dimensión.
Para hacer esto se selecciona la opción “Gestor de Centros de Control” en el menú “Herramientas”.
Aparece la siguiente ventana:
Del lado derecho se encuentran todas las localizaciones del Centro de Diseño.
La localizaciones se registran con clic derecho > “Registrar…” con el propósito de almacenar la contraseña
del esquema al que hacen referencia. Esto únicamente consiste en probar la conexión (proporcionando
antes la contraseña respectiva si no está) y aceptar la configuración mostrada si funciona correctamente.
Para desplegar la dimensión se selecciona la localización del esquema de destino, lo que muestra todos los
objetos recién creados1. Se muestra su estado como “No Desplegado” y su acción como “Ninguno”.
Se da un clic en el botón “Acciones por Defecto” para cambiar la acción a “Crear” y luego se da otro clic en
el botón “Desplegar” en la barra de herramientas.
1 No se deben desplegar los objetos (tablas) de la localización del esquema fuente. En primer lugar porque ya existen y eso provoca un error, y en segundo lugar porque sustituirlas eliminaría los datos del esquema fuente.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
10
La generación y despliegue puede hacerse luego de crear todos los objetos, pero es mejor hacer esto luego
de crear cada objeto porque es una operación que puede llegar a durar un tiempo considerable y es
probable que se produzcan errores, que son más fáciles de resolver uno por uno. En la última sección de
este manual se presentan errores que se presentan comúnmente durante el despliegue y su solución.
Si no hay errores, el estado de los objetos aparece como “Correcto” y la acción vuelve a “Ninguno”.
Todas las dimensiones para el data warehouse se crean, modifican y despliegan de la misma manera.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
11
Crear el cubo
CREAR EL CUBO CON EL ASISTENTE
La creación del cubo es muy similar a la creación de las dimensiones. Se da clic derecho sobre el nodo del
cubo en el esquema de destino y se selecciona Nuevo > Uso del Asistente…
Esto inicia el Asistente de Creación de Cubo.
Primero se proporciona el nombre del cubo. Luego se selecciona ROLAP de nuevo y se pasa a seleccionar
las dimensiones que lo van a componer. Se seleccionan todas las dimensiones creadas anteriormente.
Por último se especifican las métricas del cubo. Lo único con lo que se debe tener cuidado es que el tipo y
tamaño de los datos de las métricas sea igual al de los datos originales en el esquema fuente.
Al terminar el asistente se crean el cubo y su tabla. Igual que con las dimensiones, ambos se pueden editar
con un doble clic.
Lo único que debe modificarse es el tamaño de algunas columnas de la tabla para que coincida con el de
las claves de las dimensiones. Para el cubo no se crea ninguna secuencia.
GENERAR Y DESPLEGAR EL CUBO
Para desplegar el cubo también se utiliza el Centro de Control. Se seleccionan las acciones de crear con el
botón “Acciones por Defecto” y el botón “Ejecutar” lleva a cabo dicha acción.
Crear y ejecutar las correspondencias
Las correspondencias o mapeos se utilizan para cargar datos desde las tablas del esquema fuente hacia las
tablas del esquema destino.
Relacionan las tablas atributo por atributo y además permiten incluir algunas operaciones como por
ejemplo funciones de agregación o reducción de valores duplicados.
Para crear una correspondencia se da un clic derecho sobre el nodo de “Correspondencias” en el esquema
destino y se selecciona Nuevo.
Luego de proporcionar un nombre para la correspondencia se abre automáticamente el editor de la
correspondencia.
Del lado derecho se encuentra un explorador muy similar al explorador de proyectos. Desde aquí se
pueden arrastrar y soltar objetos existentes tanto en el esquema fuente como en el esquema destino. Por
ejemplo tablas y secuencias. También hay una paleta desde donde se arrastran y sueltan operadores como
funciones de agregación o “desduplicadores” para eliminar datos repetidos.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
12
Por ejemplo para poblar una dimensión se puede arrastrar y soltar su tabla de datos de origen desde las
tablas del nodo del esquema fuente.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
13
Luego se puede colocar un desduplicador desde la paleta para eliminar datos que puedan repetirse desde
la tabla de origen. Posteriormente se conectan los campos que se quieren reducir al desduplicador y la
salida puede conectarse a la tabla de una dimensión, obtenida en el nodo del esquema destino.
De esta manera un atributo con muchos valores repetidos puede reducirse a valores únicos que se pueden
usar como la llave primaria de una dimensión.
Después de definir la correspondencia se guarda (Ctrl+S) y se cierra el editor. Se regresa al Centro de
Control y se realiza el despliegue.
En este punto suele presentarse la advertencia PLS-00201. La solución a este problema se encuentra en la
última sección de este manual.
Habiendo desplegado la correspondencia se puede regresar al
editor para ejecutarla. Esto se hace con el botón “Inicio de
Depuración” en la barra de herramientas.
Se muestra una nota y tras aceptarla la depuración está lista.
Primero muestra todos los campos de la tabla de fuente de la
correspondencia. Se puede continuar con el botón “Paso” en
la barra de herramientas.
Cada vez que se presiona se van obteniendo filas de la tabla fuente. Si son demasiadas, se pueden obtener
todas con sólo presionar el botón “Saltar”, ubicado a la derecha del botón Paso.
Al terminar con la tabla fuente se van agregando filas al desduplicador y al terminar este último se pasa a
la tabla de destino.
Cuando no se pueden ejecutar más pasos la correspondencia ha terminado y la tabla de destino tiene los
datos obtenidos de la tabla fuente.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
14
Sólo falta detener la depuración con el botón “Fin de Depuración” ubicado al lado derecho del botón
“Inicio de Depuración”.
Todos los mapeos se crean, despliegan y ejecutan de esa forma. Es importante mencionar que primero se
deben ejecutar los mapeos de todas las dimensiones y por último el mapeo de la tabla de hechos debido a
la restricción de las llaves foráneas de las dimensiones.
Crear los reportes
La herramienta utilizada para los reportes es SQL Developer de Oracle.
Lo primero es crear una conexión como el usuario del esquema destino. Sólo se debe proporcionar el
nombre de la conexión, el nombre y contraseña del usuario y la información de conexión a la base de
datos.
El módulo de reportes se encuentra del lado izquierdo. Se busca
“User Defined Reports” y al hacer clic derecho se selecciona “Add
Report”.
Esto muestra una nueva ventana donde se le da un nombre al
reporte y se escribe la consulta para obtener los datos desde el
esquema destino.
Se pueden realizar pruebas de la consulta
en la misma ventana seleccionando “Table”
en la lista desplegable de “Style” y luego
haciendo clic en el botón “Test”.
En la ventana que aparece se debe
seleccionar la conexión del esquema de
destino.
Si el resultado de la consulta es el deseado, se puede cambiar el estilo del reporte a una gráfica.
Para hacerlo se selecciona “Chart” en la lista Style. Por defecto es una gráfica de pastel, pero en la pestaña
“Chart Details” se puede cambiar a gráfica de barras.
Se vuelve a probar el resultado del reporte y se está de acuerdo se hace clic en el botón “Apply”.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
15
Esto hace que el reporte quede disponible en el módulo de reportes, en el nodo “User Defined Reports”.
Para verlo sólo se le da clic y se selecciona la conexión del usuario del esquema de destino.
Errores comunes durante el despliegue
ERROR PLS-00201
Este error se produce cuando se intenta realizar un despliegue de una correspondencia.
Se debe a que el usuario del esquema destino no tiene permisos de ejecución sobre algunos paquetes que
se utilizan durante la ejecución del script generado para desplegar la correspondencia.
La solución es darle al usuario del esquema destino los permisos de ejecución (EXECUTE) sobre los
siguientes paquetes:
WB_RT_MAPAUDIT
WB_RT_MAPAUDIT_UTIL
WB_RT_MAPAUDIT_UTIL_INVOKER
WB_RT_TARGET_SCHEMA_OBJS
Dichos paquetes pertenecen al esquema del propietario del repositorio de Warehouse Builder.
La asignación de permisos puede hacerla el usuario dueño del repositorio o el mismo SYS de Oracle.
Universidad de San Carlos de Guatemala Jorge Raúl Lu Hernández
16
OTROS ERRORES
Una gran cantidad de errores se deben a permisos sobre las tablas del esquema fuente. La solución más
sencilla es darle al usuario PUBLIC permisos de consulta (SELECT) sobre las tablas que se importaron a
Warehouse Builder.
Esta asignación de permisos puede hacerla el usuario del esquema fuente o el mismo SYS de Oracle.
Recommended