mayo 2012. 1. contexto general 2. definición de ambiente 3. procedimiento de ejecución 4. job...
TRANSCRIPT
CDDMODULO FDM
TERADATA
Mayo 2012
1. Contexto General2. Definición de Ambiente3. Procedimiento de Ejecución4. Job Principal5. Verifica Carga WRK6. Carga tablas Padres7. Carga Tablas Criticas Reservas8. Carga Tablas No Criticas Reservas
9. Carga Tablas No Criticas Ticket◦ Carga Tablas No Criticas Ticket 1◦ Carga Tablas No Criticas Ticket 2
10. Carga Tablas Graba Estados
Temario
INDICE
CDD (Carga Modelo FDM Teradata)
Proceso que permite cargar desde Teradata (WRK) a Teradata (FDM) toda la información relacionada a las Reservas y Ticket de Pasajero, este proceso a diferencia de Teradata WRK, su función principal es mantener actualizada la reserva, manteniendo la ultima modificaciones realizada sobre ella.
Info.: Este Proceso esta asociado a distintos modos de carga que permitirán en casos excepcionales, reprocesar, recargar la información para uno o mas periodos según se determine
Contexto General
4
Contexto General
Tablas PadreTablas principales de Negocio que permiten mantener la consistencia de la información de los
registros de Reserva (RES) y Ticket (Tkt_Document), la finalización incorrecta de esta etapa NO permite continuar con el proceso de Carga
Tablas CriticasConjunto de Tablas definidas por el usuario, con segunda prioridad de carga, con el finde disponbilizar los datos para otro proyectos
Tablas No CriticasConjunto de Tablas definidas por el usuario, con Tercera prioridad de carga, la finalización incorrecta
de esta etapa SI permite continuar con el proceso de carga
5
DATA STAGE 7.52 Solución implementada mediante Jobs ETL
BASE DATOSOracle 10g y Teradata 12
PARTICIONES SOBRE LAS TABLASPara Extraer la información desde el modelo Oracle, se determinará la particion según la fecha de proceso y se cargara en el Modelo WRK de Teradata.
JOB CONTROL (Lenguaje de programación del los Job Server) Principalmente para orquestar la llamada de Job y la utilización de ODBC
ODBCSe utiliza ODBC principalmente para administrar las tabla de control en cada uno de los Procesos
Para desarrollar la solución se utilizó:
Contexto General
Preparando el Ambiente de ejecución
Actualizar parámetro Servidor DatastagePara poder ejecutar dsjob es necesario poder actualizar siguiente parámetro en ambiente Unix donde reside servidor DataStage:
cd `cat /.dshome`. ../dsenv ‘Deja disponible los parámetros de ambiente’
Definición de Ambiente
Creación ODBC (FDM) Teradata
Nombre: [Tdata_ CDD_FDM]Driver=/app/datastage/Ascential/DataStage/branded_odbc/drivers/
tdata.soDescription=Conexion a Teradata CDD_FDMDatabase=CDD_FDMDBCName=57.228.128.8Server=57.228.128.8Port=1025DateTimeFormat=AAA
Creación ODBC (WRK) Teradata
Nombre: [Tdata_ CDD_WRK]Driver=/app/datastage/Ascential/DataStage/branded_odbc/drivers/tdata.soDescription=Conexion a Teradata CDD_WRKDatabase=CDD_WRKDBCName=57.228.128.8Server=57.228.128.8Port=1025DateTimeFormat=AAA
7
Estructura de Carpeta Unix
/dsapp/DSCDD/CNF Carpeta de archivos de configuración (DSParams, ListadoFeeds.cnf)
/dsapp/DSCDD/SHL Carpeta donde se encuentran las Shell para la ejecución del proyecto
/dsdata/DSCDD/DATCarpeta que tendrá todos los archivos de carga enviados por SABRE
/dsdata/DSCDD/HSHCarpeta donde se generaran los archivos HASH utilizados por elproceso
/dsdata/DSCDD/TMPCarpeta donde se generaran los archivos Temporales utilizados por el sistema
Definición de Ambiente
8
Configuración: Configuración de Parámetros de DSParams
Ejecución Shell:Nombre Shell: Ejecuta_DSCDD.sh / Ejecuta_DSCDD_OnDemand.shParámetros: FECHA = Fecha a procesar formato YYYYMMDD. ( Sólo se ingresa para proceso on-demand.
Proceso batch programado calcula internamente el valor de la fecha de proceso).SERVER = DNS o IP del servidor donde se encuentra el Job.USER = Usuario con permiso de ejecución del Job.PASSWORD = Password del usuario.PROYECTO = Nombre del Proyecto que contiene el Job.JOB = Nombre del Job a ejecutar.MODO = Modo de ejecución <NORMAL|RESET|VALIDATE>PATH_LOG = Path donde se encuentran los logs.PARAMETRO = Parámetro a insertar en el Job.WARN = Numero de Warning permitidos antes del Fatal Error. 0 es Ilimitado.DESTINATARIOS=Direcciones e-mail a quienes se le enviara la información correspondiente.(Para más de un destinatario se separa por coma.)
Procedimiento de Ejecución
9
Procedimiento de Ejecución
Ejemplo de ejecución Programada (Control-M):La ejecución programada ejecutara secuencialmente la carga de Teradata, en primera instancia gatillara la
carga del modelo WRK y en segunda instancia y si termina correctamente, ejecutara para el modelo FDM que será visto en esta presentacion
./Ejecuta_DSCDD.sh 57.228.129.28 dscdd dscdd DSCDD CDD_00_Main_Ejecucion_Teradata NORMAL/dsdata/DSCDD/LOG PS_FECHA_DE_ARCHIVOS_CDD 0 [email protected]
Ejemplo de ejecución On-Demand (Manual):
./Ejecuta_DSCDD_OnDemand.sh 20110214 57.228.129.28 dscdd dscdd DSCDDCDDFDM_00_EJECUTA_ALL NORMAL /dsdata/DSCDD/LOG PS_FECHA_DE_ARCHIVOS_CDD [email protected]
La ejecuciones sólo se diferencian en que para el Proceso OnDemand sedebe ingresar la Fecha de Proceso (20110214) y en la programada se Calcula.
Ejecucion Norma y On-Demand
En CDD existen dos Shell, una que gatilla los procesos programados (Ejecuta_DSCDD.sh) y otra que gatilla los proceso On-Demand (Ejecuta_DSCDD_OnDemand.sh)
10
Job Principal
CDDFDM_00_Ejecuta_All Sequence principal que gatilla el proceso que Carga de los registro ingresados a teradata WRK a Teradata FDM
El proceso comienza enviado un Correo informando el inicio del proceso de carga al modelo FDM manteniendo la ultimas modificaciones realizadas a la Reserva
CDDFDM_01_Verifica_Carga_WRK CDDFDM_00_CargaTD_01_Padres CDDFDM_00_CargaTD_01_Criticas CDDFDM_00_CargaTD_01_Res_No_Criticas CDDFDM_00_CargaTD_01_Tkt_No_Criticas CDDFDM_00_GrabaEstado
11
JOB CONTROL CDDFDM_01_Verifica_Carga_WRK
Verifica Carga WRK
Job control encargado de validar si WRK finalizo correctamente, verificando en las tablas de Control si las tablas cargadas terminaron con estado 1 Finished, si existen algún registro con un estado distinto el proceso se de tiene por completo enviado un Correo e informando el error.
12
Sequence CDDFDM_00_CargaTD_01_Padres
Carga tablas Padres
El sequence CDDFDM_00_CargaTD_01_Padres es el encargado de orquestar de forma “PARALELA” la carga de las tablas Padre (Reservas y ticket), comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizada y no cargar nuevamente la tabla, creará los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementaran con información a las tablas de control , con el status final del Job.
13
Sequence CDDFDM_00_CargaTD_01_Criticas
El sequence CDDTD_00_CargaTD_01_Criticas es el encargado de orquestar de forma “PARALELA” la carga de las tablas criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la informacion de la tabla, creará los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas Criticas Reservas
1414
Sequence CDDFDM_00_CargaTD_01_Res_No_Criticas
El sequence CDDFDM_00_CargaTD_01_Res_No_Criticas es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información de la tabla, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas No Criticas Reservas
1515
Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas
El sequence CDDTD_00_CargaTD_01_Tkt_No_Criticas es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, llamando a las Sequencias
CDDTD_00_CargaTD_01_Tkt_No_Criticas_1 CDDTD_00_CargaTD_01_Tkt_No_Criticas_2
Carga Tablas No Criticas Ticket
1616
Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_1
El sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_1 es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas No Criticas Ticket 1
17
Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_2
El sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_2 es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas No Criticas Ticket 2
1818
CDDFDM_00_GrabaEstado
Job que lee la tabla de control y graba un archivo de texto todos los registros asociado a la carga de TD y que será enviado al final del proceso vía correo electrónico, con el fin de informar al administrador el estado final de la carga.
Carga Tablas Graba Estados
19
Otras Funcionalidades
La administración de Cada proceso tiene la capacidad de:
Reintentos: (Valor Paramétrico, default 3) de ejecuciones de Jobs una vez detectado la caída de alguno de ellos, si después de los reintentos definidos no logra auto recuperarse se da por abortado el Sistema.
Recuperación: Capacidad de Recuperar sólo los proceso abortados, para lo cual, se debe gatillar la misma Shell de Ejecución.
Para cada proceso se registrara las ejecuciones en las tablas de control internas como
corporativa.
Otras Funcionalidades
20
Tabla de Control• Ejemplos de cómo se visualizan los registro procesados en la tablas de control CDD, esta
tabla registra para ambos procesos sea este Proceso para el Modelo Oracle y Teradata
• CTR_CDD
• EJECUTA_PROCESOS
Tablas de Control
21
Tips para correcto funcionamiento del sistema
A continuación se detalla los tips de buenas practicas:
Se debe considerar que para una buena ejecución del proceso se debe encontrar 100%
compilado y sin errores. Se recomienda que mensualmente se realice una compilación
completa del sistema.
Dado el gran volumen de archivos de procesamiento de datos a cargar diariamente , se
recomienda contar con al menos un 20% ó 10% de espacio libre en Unix.
Los Administradores de base de datos tanto de ORACLE, deben tener la preocupación de
mantener los tablespaces asignados con espacio suficiente.
Se recomienda realizar mantención semanal a las tablas de oracle con el objetivo de mantener
los índices actualizados.
Check List de Diagnostico
22
PREGUNTAS ¿ ?
Preguntas