14
El lle ex m Pa ca dhel tr | Migració cambio de par evó a cabo ha xisten muchas modalidad de cl ara poder acort ambio de pesarrollemos de erramientas cre l proceso de ransparente. 5a. Ave n ww w ón de Apl Ago radigma de Clie ce muchos añ aplicaciones iente –servidor tar la brecha te aradigma no e nuevo la apladas por Oracle migración de n ida 5 55, Z o w .datum.co m licacione N d sto 2,009 nteServidor a os; sin embarg desarrolladas r que aún se ecnológica y rea es necesariicación. Gracia podemos llevar una forma seo na 14 EuroP m .gt newsle s (Forms/ New datu Web se go, aún en la utilizan. alizar el o que as a las r a cabo ncilla y A m u m c m R y 1 i F d E e d p F laza Torre II tter@datum /Reports wsl um. Ahora bien, ¿qu migrar? El prim utilización de madura, cuya comprobado c mercado. Las Reports 6i están y su compatibil 11g en adelant nconveniente. Forms/Reports destino al cual n El proceso de m este document desarrolladas en pasarán a e Forms/Reports 1 Nivel 12 Of. .com.gt Te l ) al Web let com é beneficios ob mero y más evid tecnología s funcionalidad on varios s versiones de dejando de ser idad con Bases te puede llegar Es por ello q en el Web de os lleve la migra igración que se to es para a n Forms/Report estar en ve 10gR2. 1202 Ciuda d l : 00 (502) 2 3 tte m.gt tenemos al dente es: la s actual y ya se ha os en el e Forms y soportadas s de Datos r a ser un que utilizar ebe ser el ación. plantea en aplicaciones s 6i, y que ersión de Volu Jul i C ONTENI PÁGINA 1 Migr aplic 7 Orac 9 Func la ba 14 Met d , Guatemal a 3 64 5300 newsle datum.Editores G Karlo EspiBeatriz Ca Sergio Alo Debbie MFrancisco Autores CBeatriz Ca Iván Garcí Karlo EspiFrancisco er t men 16 i o 2009 DO : ración de caciones le Locks ciones Analíticas se de datos taDatum a etter com.gt Generales noza icedo nzo oran Barrundia ontribuyentes icedo a noza Barrundia en

Newsletter Vol16 Agosto 09 - newsletter.datum.com.gtnewsletter.datum.com.gt/wp-content/uploads/2010/07/Newsletter-Vol... · adas por Oracle migración de ida ... s 6i, y que rsión

Embed Size (px)

Citation preview

EllleexmPacadeheeltr

|

 

Migració

  cambio de parevó  a  cabo  haxisten  muchas modalidad  de  clara  poder  acortambio  de  paesarrollemos  deerramientas crel  proceso  de ransparente. 

5a.  Avenwww

ón de Apl

Ago

radigma de Cliece  muchos  añaplicaciones 

iente  –servidortar  la  brecha  tearadigma  no e  nuevo  la  apliadas por Oraclemigración  de 

n ida  5 ‐55,  Zow.datum.com

licacione

Nd

sto 2,009

nte‐Servidor a Wos;  sin  embargdesarrolladas 

r  que  aún  se  uecnológica  y  rea

es  necesarioicación.    Gracia podemos llevaruna  forma  sen

 

ona  14  EuroPm.gt      news le

s (Forms/

Newdatu

Web  se go,  aún en  la 

utilizan.  alizar  el o  que as  a  las r a cabo ncilla  y 

AmumcmRy1iFd

EedpF

laza  Torre   I I  t ter@datum

/Reports

wslum.

Ahora bien, ¿qumigrar?   El primutilización  de  tmadura,  cuya comprobado  cmercado.    LasReports 6i están y  su  compatibil11g  en  adelantnconveniente.   Forms/Reports destino al cual n

El proceso de meste  documentdesarrolladas  enpasarán  a  eForms/Reports 1

Nive l  12  Of..com.gt      Te l

) al Web

letcom

é beneficios obmero  y más evidtecnología  másfuncionalidad on  varios  añs  versiones  dedejando de ser idad  con  Baseste  puede  llegarEs  por  ello  qen  el  Web  deos lleve la migra

igración que se to  es  para  an  Forms/Reportestar  en  ve10gR2. 

 1202  Ciudadl :  00   (502)  23

ttem.gt

tenemos al dente es:  la s  actual  y ya  se  ha os  en  el e  Forms  y soportadas s  de  Datos r  a  ser  un que  utilizar ebe  ser  el ación.  

plantea en aplicaciones s  6i,  y  que ersión  de 

VoluJul i

CON T E N I

P Á G I N A  

1 Migraplic

7 Orac 

9 Funcla ba

  14   Met

 

d,  Guatemala364 ‐5300  

newsledatum.c

Editores GKarlo EspinBeatriz CaSergio AloDebbie MoFrancisco  Autores CoBeatriz CaIván GarcíKarlo EspinFrancisco 

ert 

men  16io  2009

DO :    

ración de caciones 

le Locks 

ciones Analíticasse de datos taDatum 

a  

etter com.gt

Generales  noza icedo nzo oran Barrundia 

ontribuyentesicedo ía  noza Barrundia 

 en 

Newsle

Benef Reduccformaspropie Con  la Únicammáquincada uPreservusuariotodo esambien Se faciaplicacen cadnuevosMejorafuncionpara dService

  Benef Se  meinstaladedicatambiéSe mejForms de proExistenversiónSingle Los  deaplicacReutilizcambiaTodos curva dnuevas 

etter datum

ficios en la Emp

ción de  costos as y  reportes. El dad (total cost o

publicación en mente  se  debe nas de los usuarno de los clienteva  la  inversión os finales conoceste ambiente sente de desarrollo

lita de acceso, lción en línea desa cliente, ésta ps mercados. ará la productivinalidades para  lesarrollar  sus aes, a las aplicacio

ficios en el Des

ejora  la  productdo  en  todos  lodos  al  desarroén facilitará la dejora  el  soportenos asegura qublemas, así comn nuevas  caracten de Forms, se pSing‐On, soportesarrolladores  pciones, tales comzación  del  conoar la lógica de lalos conocimientde aprendizaje es características 

m.com.gt

presa 

al utilizar Oracleservidor de aplof ownership) pa

el Web se elimadministrar  el rios finales. Y si es. utilizando  el  knen como se debe preserva en el o ya que el IDE e

uego de que la sde cualquier luuede ser accedi

dad utilizando mas aplicaciones.plicaciones  y  taones existentes 

sarrollo 

tividad  ya  que os  clientes,  los llo.    El  debuggetección de erro  y  el mantenime se puede recio para la aplicacerísticas  y mayopuede utilizar cae multilenguaje podrán  utilizar mo Web Services,ocimiento,  en  aplicación PL/Stos adquiridos ses casi nula y separa mejorar la 

e Application Seicaciones es unara desarrollar, p

minan  los costos servidor  de  apse debe aplicar 

now‐how  tanto e utilizar la aplicWeb. Así tambiées casi exactame

aplicación sea pgar, solo necesida desde cualqu

menos tiempo en.   Los desarrollaambién  serán  ca

en  lugar  de  adesarrolladore

ger  integrado ores y su correccmiento,  el  utilizbir asistencia prción de parches.or  tecnología quracterísticas nuey soporte de ditecnologías  de, PJC, XML. la  mayoría  de SQL dentro de lase puede seguir e puede centrarexperiencia del  

erver 10g  (Orac producto que publicar y admin

asociados al mplicaciones.    Ya alguna actualiza

de  sus  desarrocación, las combén los desarrollaente el mismo, ú

publicada en el Wita Internet.  Deuier parte.  De e

n la administracadores serán capapaces de  integ

administrar  el  ses  tendrán  máspara  aplicacionión. ar  la  última  veronta  para la re. ue utilizar  con  levas, tales comoiferentes zonas e  punta  dentro

casos  no  es  ns aplicaciones mutilizando por  lr en  la utilizacióusuario. 

leAS 10g)  comoha  sido diseñad

nistrar las aplicac

antenimiento dno  se  deberán

ación, ésta se lle

olladores  como binaciones de tecadores pueden aúnicamente cam

Web, puede peebido a que no esta manera se p

ión de softwarepaces de utilizargrar nuevas  tecn

software s  tiempo nes  web, 

ersión  de esolución 

la última o: Oracle horarias. o  de  sus 

necesario migradas.  lo que  la ón de  las 

o plataforma dedo para  reducir ciones.   

e software en tn  instalar  los  ejevará a cabo una

el  de  los  usuaclas, las opcioneaprovechar sus cbia la modalidad

rmitírsele a los es necesario instpueden alcanzar 

 y más en el desr el mismo ambnologías,  tales  c

e ejecución de  lael  costo  total d

odos  los clientejecutables  en  laa sola vez y no e

arios  finales.    Loes del menú, etc.conocimientos dd de ejecución.

clientes utilizar talar la aplicaciónuevos clientes

sarrollo de nuevabiente ya probadcomo  Java  y We

Página

as de 

es.  as en 

os . y del 

la ón s y 

as do eb 

 2

Newsle

 Proces Para masistenmayorícambio Funcio

• Re

   

• Ac• Ge

 

Se

• CoEnesla 

• GeExvecoad

Utilizan

 

El Oracel asist

¿Cómo

Luego inicio e

 

 

 

 

 

etter datum

so de Migració

migrar  una  aplicnte  se  encuentría de  las  tareas os que realice el 

nalidades del as

ealizar sustitucio

search_replace.

ctualizar código enera archivos e

e puede especifi

onvertir las llamn 10g ya no pueds a través del bus ocurrencias de

enera advertencxisten varios buiersiones  carácteompilar  las  formdvierte sobre el 

ndo el Migration

cle10g Forms Mtente de migraci

o ejecutar el wiza

de instalado el Den las plataforma

m.com.gt

ón 

cación  debemosa  tanto  en  el Dde migración pasistente para p

sistente: 

ones definidas e

properties 

de PL/SQL dondejecutables. 

car que genere 

adas de RUN_PRde invocarse a reilt‐in RUN_REPOe RUN_PRODUCT

cias sobre posiblilt‐ins que ya noer  y  en  esta  vermas.    También  euso de estas fun

n Assistant Wiza

Migration Assistaón  

ard? 

Developer 10g, sas Windows: 

s  utilizar  el  AsisDeveloper  Suitepor nosotros.   Lapoder ser utiliza

n el archivo        

de sea posible. 

automáticamen

RODUCT a llamaeports utilizandoORT_OBJECT. PaT por RP2RRO.R

les tipos, propieo se deben utilizrsión  se  eliminaexisten  propiedncionalidades, p

rd   

nt Wizard es un

se puede invoca

stente  de Migracomo  en  el Oraa gran mayoría das en el web.

   

te los archivos e

adas de RUN_REo el built‐in RUNra facilitar el camP2RRO_RUN_PR

dades o built‐inar y que por coan.    Si no  se bodades  que  han  sropiedades o bu

na  interfaz gráfic

ar a través del m

aciones  (Forms acle Applicationde nuestras  for

ejecutables (fmx

EPORT_OBJECTN_PRODUCT, la úmbio en el códigRODUCT.   

s obsoletos mpatibilidad se orran  estas  refesido  eliminadasuilt‐ins obsoletos

ca para 

menú de 

10g Migration n  Server.  El  asisrmas no necesit

x, plx, mmx).      

única forma de hgo, el migrador s

estuvieron acarrencias pueden s  o  cambiadas. s.   

Assistant),  dichtente  realizará arán más que  lo

 

 

hacer la llamadasustituye todas 

rreando desde lhaber  errores   El migrador  no

Página

ho la os 

 

as al os 

 3

Newsle

Start > 

 

 

Tambié

Windo

UN

Nota: Svariabl

 Elegir l

La primdesean

 

etter datum

All Programs > 

én se puede invo

ows:  frmplsqlco

NIX:   frmplsqlco

Si va a utilizar el e DISPLAY 

los módulos a m

mera página deln migrar.  Usted 

m.com.gt

Oracle Develope

ocar desde la lín

onv.bat mode=w

onv.sh mode=w

Migration Assis

igrar 

 Migration Assispuede elegir un

er Suite > Forms

ea de comando

wizard 

izard 

stant Wizard en 

stant Wizard  (do o más módulo

 Developer > Fo

s desde Window

UNIX se requier

espués de  la deos (.fmb, .mmb, 

rms Migration A

ws o UNIX:  

re que tenga un 

e Bienvenida) pe.olb, o .pll files) 

Assistant (GUI M

ambiente gráfic

ermite elegir  losde uno o más d

Mode) 

o y definida la 

s módulos que sirectorios. 

 

Página

se 

 4

Newsle

Tome eun archsobre e

Eligien

La  segmódulo

 

 

 

 

 

 

 

 

En esa por cadPor eje

Agregullamad

http:// Eligien

Si la fopara laDirectono utilidefecto

Inician

Presion

ProbanLevant Para utencuen

etter datum

en cuenta que lohivo de salida diescribirlos, debid

do las opciones 

unda  página  deo o uno que com

misma página sda módulo, pueemplo el log para

ue al URL cualqua requerimiento

/desa‐pc.datum.

do las opciones 

rma que se estáa llamada de repory y Reports Seiza RUN_PRODUo. 

do el upgrade 

ne el botón de F

ndo la aplicacióntando la instanci

tilizar la instancintra en el directo

m.com.gt

os módulos queiferente.  Es necdo a que los mó

de log 

el Migration  Assmbine todos los 

se debe elegir el de elegir la ubica la conversión d

ier parámetro qo.fmx: 

com.gt:8889/fo

de Reports 

á migrando utilizportes desde Forvlet, las cuales UCT para llamar a

inish para inicia

n migrada ia de OC4J local 

a de OC4J en Worio: j2ee\DevSu

e se migrarán secesario sacar unadulos migrados 

sistant Wizard  pmensajes en un 

nombre y la ubcación pero el nodel archivo  cust

ue se necesiten

rms/frmservlet?

za RUN_PRODUCrms.  Tres de esse muestran en a los reportes, u

r el proceso de c

Windows, necesituite\ dentro de l

rán escritos a laa copia de los mno podrán abrir

permite  especifsolo archivo de 

icación del archombre estará entomers.fmb se lla

 para ejecutar la

?form=C:\Forma

CT para llamar restas opciones sola página princi

usted puede igno

conversión. 

a ejecutar un scla instalación de

a misma ubicaciómódulos de Formrse con Forms 6i

ficar  si  se  desealog.  

ivo combinado n el formato: <mamará customer

a forma.  Por eje

as\requerimiento

eportes, usted don: Reports Servpal del wizard.  orar estas opcio

ript llamado stael Developer. 

ón; no hay una oms 6i en otra ubic. 

a  un  archivo  se

.Si se elije crear modulename>_<rs_fmb.log.  

emplo para ejecu

o.fmx 

debe especificar ver Name, RepoSi la forma que nes y dejarlas co

rtinst.bat. Este a

opción para crecación para evit

eparado  por  cad

un archivo de lomoduletype>.lo

utar una forma 

algunas opcionerts Servlet Virtuse está  migrandon sus valores po

archivo se 

Página

ar ar 

da 

og og.  

es ual do or 

 5

Página 6Newsletter datum.com.gt

 

 

 

 

 

 

 

 

 

El  contenedor de OC4J  se  levanta en una ventana de DOS, usted puede minimizarla pero  si  la  cierra  se  cerrará el contenedor. Si desea bajar el contenedor deberá ejecutar el script stopinst.bat o el shortcut desde el menú. 

Probando una forma desde el browser 

Mientras una instancia de OC4J está corriendo, usted puede invocar cualquier forma (archivo fmx) que se encuentre en la máquina de desarrollo aún si el Forms Builder no está abierto. Para esto utilice el siguiente formato de URL: 

http://<PC>:<OC4J port>/forms/frmservlet 

Agregue al URL cualquier parámetro que se necesiten para ejecutar la forma.  Por ejemplo para ejecutar una forma llamada requerimiento.fmx: 

http://desa‐pc.datum.com.gt:8889/forms/frmservlet?form=C:\Formas\requerimiento.fmx 

Otras consideraciones  Hay  ciertas  configuraciones adicionales que  se deben  realizar  y estas dependerán de  la  funcionalidad de nuestras formas, por ejemplo: el despliegue de iconos en el Web, la lectura y escritura de archivos en el cliente, la impresión de  reportes  en  printers.    Estas  y  otras  funcionalidades  se  han  visto  modificadas  pero  se  pueden  implementar utilizando los utilitarios Webutil y OraRRP que Oracle ha desarrollado.  Conclusiones  La migración de aplicaciones Cliente‐Servidor al Web (es decir de 6i a 10g) es un paso que  inevitablemente se debe llevar a cabo si se quiere caminar junto a las nuevas tecnologías, un escalón que se debe subir; un escalón pequeño gracias  a  la  ayuda  de  las  herramientas  de Oracle,  pero    que  nos  hará  subir mucho  en  productividad  una  vez  lo hayamos logrado.    

Newsle

    

Por Josfbarrun

          ORACLbloquedatos usuario

 Bloquetransacalgo  rdatos f

Oracle  DML LoTable L Row Lo Los bloejecutadelete,

Por eje DELETEUPDAT   Estas opara dotabla dconflict Se manhaga co  

etter datum

sé Francisco [email protected]

LE  usa  automáteos para el contry  prevenir  la os.

ea automáticamección para evitaequiriendo  accfuente. 

clasifica los bloq

ocks: Protege losLocks: Protege laocks: Bloqueo a 

oqueos a nivel da  una  sentencia, select ..for upd

emplo: 

E from mitabla; TE mitabla SET ca

operaciones DMos propósitos: udurante la transatos que estas op

ntiene el bloqueommit o rollbac

m.com.gt

rundia m.gt 

ticamente  diferrol del acceso cointeracción  de

ente los datos fur que otras traneso  exclusivo 

queos en estas c

s datos  a tabla entera  nivel de filas 

de tabla son crea DML  del  tipo:date sobre la tab

ampo1 = valor;. 

L requieren bloqno para controlaacción y dos paraperaciones pudie

o hasta que la trk. 

rentes  tipos  deoncurrente a losestructiva  entre

uente durante lasacciones hagande  los  mismos

categorías: 

eados cuando se  update,  insert

bla entera.  

 

queos de tabla ar el acceso a la a prevenir los eran producir. 

ransacción no 

Ora

e s e 

a n s 

e , 

Un  bmodoSRX (s Row que updatLos  bejecuregist Dete

Se  utque  susuar

Un  joadem

SELECdecodTYPE_decodS.OSUS.PROS.USEO.OBO.OBconcaO.OWFROMWHERAND sAND 

cle Locks

loqueo  de  tablaos RS(Row Shareshare row exclu

Exclusive  Locksmantiene  el  btes sobre filas debloqueos  a  nivtan  sentencias tros específicos.

ectar y libera

tiliza  la  vista  v$se  encuentran rio y sesión y el t

oin  con  la  tablmas el nombre y 

CT de(L.TYPE,'TM','T_LOCK, de(L.REQUEST,0USER OSUSER_LOOCESS PROCESS_ERNAME DBUSERJECT_NAME OBJJECT_TYPE OBJEat(' ',s.PROGRAMWNER OWNERM v$lock l,dba_oRE l.ID1 = o.OBJEs.SID =l.SID l.TYPE in ('TM','T

a  se  puede mae) , RX (Row excsive) y X (exclus

s  (RX)  Indica  qubloqueo  ha  hee la tabla. vel  de  fila  se  c

DML  contra 

r bloqueos en

$lock  que  nos  ien  bloqueo,  eltipo de bloqueo

a  dba_objects tipo de los objet

TABLE','TX','Rec

,'NO','YES') WAIOCKER, _LOCKER, R_LOCKER, JECT_NAME, ECT_TYPE, M) PROGRAM, 

objects o,v$sessiECT_ID 

TX'); 

antener  en  varioclusive), S (shareive). 

ue  la  transacciócho  uno  o  má

crean  cuando  sun  conjunto  d

n Oracle 

ndica  los  objeto  identificador  d. 

nos  proporciontos bloqueados:

ord(s)') 

T, 

on s 

Página

os e), 

ón ás 

se de 

 

os de 

na  

 7

Página 8Newsletter datum.com.gt

Una  vez  establecemos  que  objetos  de  la  base  de datos  están  bloqueados  debido  a  sesiones concurrentes,  procedemos  a  identificar  las  sesiones de  usuario  que  están  afectado  a  esa  tabla  en particular utilizando la vista v$access:  SELECT sid FROM v$access WHERE owner='<table owner>' and object='<table name>';  Tenemos que tomar nota del identificador de la sesión ya que determinaremos el usuario al que pertenece es sesión y que comando está ejecutando:  SELECT sid FROM v$access WHERE owner='<table owner>' and object='<table name>';                                                                                                                                          Una  vez determinado el usuario  y  la operación que está  ejecutando podemos proceder  a  esperar  a que 

este  termine  o  si  determinamos  que  es  necesario “matar” la sesión para liberar los recursos lo hacemos con el siguiente comando:  ALTER SYSTEM KILL SESSION '<sid, serial#>';  Ya eliminada la sesión el bloqueo se debería de liberar.  Podríamos  proceder  a  correr  de  nuevo  el  primer query  para  verificar  que  efectivamente  el  objeto  ya no está bloqueado.  

   

Tip técnico del día:  Sustituir  _  por % en SQL.  Link: http://soporte.datum.com.gt/welcome/tip.jsp  Como obtener el nombre de las tablas cuyo nombre incluye los caracteres “_” y “%” en una búsqueda de SQL, todos sabemos que estos caracteres especiales están reservados por lo que no podríamos realizar una búsquedas de este tipo:   where tname like '%%%' " or "where tname like '%_%' ". Para buscar un nombre de  tabla que contenga estos caracteres  necesitamos utilizar un carácter de escape de la siguiente manera:  Para ver el carácter de escape definido en nuestro sqlplus:  Sql> show escape  Si no nos muestra nada procedemos a definir el carácter de escape que queramos:  Sql>  set escape #  Ahora podemos buscar el carácter % de manera literal:   SELECT '#%' FROM DUAL;   Francisco Barrundia [email protected]       

Newsle

 

     Por Inmreyes 

brinda empre  Las  tecinteligeproducde  cálctienen de  datrecopilanteriointeligecuatro cada  uinfraesadminiinfraesmotor (APIs) desarroOracle Miningdatos. incorpoimportpuedan  Específanalíticpartir drealiza

 

etter datum

g. Mario [email protected]

toda  la  funciosarial de una ba

cnologías  comoencia  de  negocictos con cada unculo,  también  losu propio motota mining  tienelación.    En  reormente  descencia  de  negoctipos  diferente

uno  con  sus  prostructura  de  aistración  de structura  de  atiene  sus propiy  su  propio  grolladores  (framha  implement

g  y  estadísticas En  lugar de mooró  los algoritmtancia mencionan implementarse

ficamente,  en loco desde su mismde la versión 8i),r cálculos como 

Fu

m.com.gt

s gt 

onalidad  de  mose de datos Ora

  OLAP,  estadístios.   Desde  hacna de estas capaos productos deor de datos, y lon  sus  propios esumen,  considcrito,  un  encios  mantendríaes  de  ‘motoresopios  servidoresadministración, seguridad,  s

lta  disponibilidias  interfaces derupo  de  herrammeworks)  y  usutado  los  motordentro  de  su 

over  los datos demos avanzados dar que Oracle brie con cualquier 

o que corresponma base de dato, introduciendo los siguientes:  

unciones

otores  analíticocle.  

tica  y  data mince mucho  tiempacidades.   Sin ee estadística s productos motores  de derando  lo ntorno  de a  al  menos s  de  datos’, s,  su  propia su  propia 

su  propia dad.    Cada e aplicación mientas  para arios  finales.  res  OLAP,  Datamotor  de  basee un data warehe análisis en su inda acceso SQLherramienta bas

de a estadísticasos, y desde haceuna familia de fu

s Analítica   

 La bapara wareescacalidplatabajo funcicon datomerc,  Ddirec

os  autónomos  c

ing  no  son  nuepo  los  profesionmbargo, los pro

a e  de house a otros mbase de datos, 

L a todo lo que esada en SQL o cu

s,  Oracle ha me un buen tiempounciones SQL an

as en Bas

ase de datos Oambientes 

ehousing e intelilabilidad  y  dead  de  datos  eaforma que se ecosto y confiabionalidad  para escalabilidad  ps (cientos de tecado.     Data  Mining ctamente en el con  la  escalabi

evas  en  el mercnales  de  data woductos OLAP en

motores analíticodonde  los dato

estos motores deualquier entorno

ejorado las capaco ya que cuenta nalíticas.  Estas f

se de Dat

racle es una platransaccionalesgencia de negocsempeño,  anále  integridad;  toejecuta en una  ile.  Además ofredata  warehous

probada  en  altorabytes) y desem

Al  incoy  capacidad

motor de base lidad,  seguridad

cado  del  data wwarehousing  hann general tienen

os para un mayoos residen.   Asime análisis brindao de aplicación. 

cidades de procecon este tipo deunciones analític

os Oracle

ataforma  integrs  y  de  dacios, que combinlisis  integrado odo  en  una  sonfraestructura dece una excelenes  y  data  martos  volúmenes  dmpeño líder enorporar  OLAdes  estadísticade datos, Oracd  y  confiabilida

warehousing  y n  podido  adquirn su propio moto

or análisis, Oracmismo, es de gran, de manera qu

esamiento e capacidades (acas permiten 

Página

ral ta na y 

ola de te ts, de el APas cle ad 

la rir or 

cle an ue 

 9

Newsle

 •  Rang•  Mov•  Anál•  Anál•  Estad  Quienecon  cienuevosvuelvedel columnel que trimest   Es en funcionpuedeninform  Las  fuanteriopermitAnswe Alguna  

La sinta AnalytiOVER(     <Que    <Ord    <Win)  

etter datum

gos y Percentilesvimiento de ventisis lag/lead  isis Primero/Ultdísticas y Regres

es hemos estadoerto  tipo  de  cos objetos  y procn costosos de co

primer na las ventas denecesitamos prtral de ventas o 

estos casos cuanes nos permiten mezclarse en ación, y que dic

nciones  analíticormente, puedeta  el  uso  de  SQrs, entre otras.  

as de las principa

Los datos pe No  es  neces

datos hacia o No se tiene 

de los datos  Se  tiene  un 

mismos resid La  sintaxis 

convenciona Eficiencia: ev

de  informaclograr el mis

De  gran  utiltendencia 

Los resultadomúltiples for 

axis de estas fun

ic‐Function(<Arg

ery‐Partition‐Clader‐By‐Clause> ndowing‐Clause

m.com.gt

s  tanas de cálculo

imo  siones Lineales  

o involucrados ensultas  que,  encesos que permonstruir y de matrimestre l mismo mes peesentar un inforel promedio mó

ndo podemos uen particionar y una misma conha consulta no s

cas  son  una  son ser utilizadas 

QL  o  bien  que  g  

ales beneficios d

rmanecen en la sario  invertir  tieotras herramienla necesidad de

mayor  control den siempre en a  utilizar  es les de SQL vitan el uso de gión y el uso de mo resultado lidad  para  obse

os pueden ser srmatos 

nciones es la sigu

gument>,<Argum

ause> 

s  

en desarrollo de n  ocasiones,  pormiten  solventar antener; tal es eldel  año ro del año anterrme en el que sóvil de las ventas

utilizar las funcioordenar la infornsulta, de  tal  fose convierta en a

olución  simple a través de con

genere  consulta

de estas funcione

base de datosempo  en  la  exttas  utilizar archivo

de  seguridad  sla base de datosmuy  similar  a

grandes cantidadconsultas comp

ervar  rápidamen

salvados o expo

uiente: 

ment>,...) 

reportes y solucr  desconocimieuna necesidad l caso de cuando

en  unarior y obtener lae presenten las s de los últimos 

ones analíticas qrmación de diverma que en unaalgo demasiado 

a  problemas  cnsultas SQL ques  SQL,  tales  com

es son: 

tracción  o  expo

s planos para e

obre  los  datos, s a  la  de  las  f

des de código, dplejas e  ineficien

nte  la  informac

ortados hacia arc

Podeobsereste funciopuedforma   

ciones analíticasnto  hemos  resude  información o en un reporte a  columna diferencia de amventas mensuaseis meses.  

que la base de dersas formas, crea sola consulta complejo y poco

complejos.      Es pueden provenmo Oracle  Repo

rtación  de 

l traslado 

pues  los 

funciones 

duplicidad ntes para 

ción  y  su 

chivos en 

mos rvar  que tipo  de ones en  estar adas por tres co

s nos hemos topuelto  a  través  dpuntual, pero necesitamos prea,  en mbas columnas;les y a la vez el 

atos nos preseneándose ventanSQL  sea posibleo entendible. 

stas  funciones, nir de cualquier orts, Oracle Dis

mponentes: 

pado en ocasionede  la  creación  dque  a  la  larga  sesentar las ventla  siguien; o bien el caso eacumulado móv

nta, ya que dichaas de cálculo que obtener  toda 

como  se  indicherramienta qu

scoverer  u Orac

Página 1

es de se as te en vil 

as ue la 

ca ue cle 

10

Página 11Newsletter datum.com.gt

Particiones del conjunto de resultados   Las funciones analíticas permiten a los usuarios dividir los  conjuntos  de  resultados  de  una  consulta  en grupos  de  datos  llamados  particiones.  El  termino partición utilizado en las consultas analíticas no tiene nada  que  ver  con  la  característica  del particionamiento de tablas en Oracle.  Las particiones son creadas después de que se definan los grupos con la cláusula GROUP BY, así que estos están disponibles para  cualquier  resultado  agregado  como  sumas, promedios,  etc.    Las  divisiones  de  las  particiones pueden  estar  basadas  sobre  las  columnas  o expresiones deseadas.   El  resultado de una  consulta puede  ser  particionado  en  solo  una  partición manteniendo todas las filas.   Ordenamiento  Esta  cláusula  es  utilizada  para  indicar  la  forma  de ordenamiento que se desea hacer sobre los datos en cada una de  las particiones, pueden ser ascendentes o  descendentes,  y  pueden  estar  definidos  por cualquier columna o expresión deseada.    La cláusula de  ordenamiento  permite  también  crear  puntos  de quiebre  o  secciones  para  los  datos  dentro  de  cada partición.    Ventana   Para cada fila en una partición, es posible definir una ventana deslizante de datos.  La ventana determina el rango de filas utilizado para realizar  los cálculos para la  fila  actual.    Los  tamaños  de  las  ventanas  pueden estar basados en cualquier grupo físico de números, o cualquier intervalo lógico como el tiempo.  La ventana tiene  una  fila  de  partida  y  una  fila  de  fin,  y  dependiendo  de  esta  definición  la  ventana  puede tener uno o varios finales.   Fila actual   Cada cálculo realizado con una  función analítica está basado en la fila actual de una partición.   Orden de Procesamiento   El  procesamiento  de  las  consultas  utilizando funciones analíticas se lleva a cabo en tres partes:  •  Todos los JOINS, WHERE, GROUP BY y HAVING son realizados.  

•   El  resultado  es  hecho  disponible  a  las  funciones analíticas y es donde todos los cálculos toman lugar.  •   Si  la  consulta  tiene  una  cláusula  ORDER  BY,  el ordenamiento  es  ejecutado  para  permitir  el ordenamiento de los resultados.  Las principales funciones analíticas están divididas en los siguientes grupos de funciones:  

Rangos   Cálculos de rangos, percentiles, y n‐tiles de los valores en un conjunto de resultados.   Ranking de valores. 

Windowing   Cálculos de acumulados y movimientos agregados. Trabajando con estas funciones: SUM, AVG, MIN, MAX, COUNT, VARIANCE, STDDEV, FIRST_VALUE, LAST_VALUE, y nuevas funciones estadísticas.  

Reporting   Cálculos compartidos por ejemplo, mercados compartidos. Trabajando con estas funciones : SUM, AVG, MIN, MAX, COUNT (con o sin DISTINCT), VARIANCE, STDDEV, RATIO_TO_REPORT y nuevas funciones estadísticas  

Lag‐Lead   Encontrando un valor en una fila un número específico de filas desde una fila actual. Utilizadas para comparativos entre unidades de tiempo, por ejemplo, las ventas de este mes versus las ventas del mismo mes pero del año anterior 

First‐Last   Primer o último valor en un grupo ordenado  

Regresión Lineal   Calculando la regresión lineal y otras estadísticas (desviación, intercepción y otras)  

Percentil Inverso   El valor en un conjunto de datos que corresponde a un percentil específico  

T‐test, F‐test  Pruebas de hipótesis 

Rango hipotético y distribución  

El rango o percentil que una fila debería tener si es insertada en un conjunto de datos específico.  

   

|

Newsletter datum.com.gt

Página 12

A continuación se presentan algunos ejemplos de uso de estas funciones. Las consultas utilizan el esquema sh y rh que vienen como ejemplo dentro de la base de datos Oracle. -- Ejemplo: RANKING. Muestra el monto de ventas por canal y el ranking de cada canal SELECT channel_desc, TO_CHAR(SUM(amount_sold), '9,999,999,999') SALES$, RANK() OVER (ORDER BY SUM(amount_sold)) AS default_rank, RANK() OVER (ORDER BY SUM(amount_sold) DESC NULLS LAST) AS custom_rank FROM sales, products, customers, times, channels, countries WHERE sales.prod_id=products.prod_id AND sales.cust_id=customers.cust_id AND customers.country_id = countries.country_id AND sales.time_id=times.time_id AND sales.channel_id=channels.channel_id AND times.calendar_month_desc IN ('2000-09', '2000-10') AND country_iso_code='US' GROUP BY channel_desc

  ‐‐ Ejemplo:  MOVING AVERAGE.   Muestra las ventas del mes y el promedio y sumatoria movil de los últimos 3 meses.  SELECT c.cust_id, t.calendar_month_desc, TO_CHAR (SUM(amount_sold),'9,999,999,999') AS SALES,         TO_CHAR(AVG(SUM(amount_sold)) OVER (ORDER BY c.cust_id, t.calendar_month_desc ROWS 2 PRECEDING),                                                                        '9,999,999,999') AS MOVING_3_MONTH_AVG,        TO_CHAR(SUM(SUM(amount_sold)) OVER (ORDER BY c.cust_id, t.calendar_month_desc ROWS 2 PRECEDING),                                                                        '9,999,999,999') AS MOVING_3_MONTH_SUM FROM sales s, times t, customers c WHERE s.time_id=t.time_id AND s.cust_id=c.cust_id AND   t.calendar_year=1999 AND c.cust_id IN (6510) GROUP BY c.cust_id, t.calendar_month_desc ORDER BY c.cust_id, t.calendar_month_desc  

 

Página 13Newsletter datum.com.gt

‐‐ Ejemplo: LAG/LEAD.   Muestra las ventas del mes y las compara con las ventas del mes anterior y el mes siguiente. SELECT time_id, TO_CHAR(SUM(amount_sold),'9,999,999') AS SALES,        TO_CHAR(LAG(SUM(amount_sold),1) OVER (ORDER BY time_id),'9,999,999') AS LAG1,        TO_CHAR(LEAD(SUM(amount_sold),1) OVER (ORDER BY time_id),'9,999,999') AS LEAD1,        TO_CHAR(SUM(amount_sold)‐LAG(SUM(amount_sold),1) OVER (ORDER BY time_id),'9,999,999') AS DIF_LAG1 FROM   sales WHERE  time_id>=TO_DATE('10‐OCT‐2000') AND time_id<=TO_DATE('14‐OCT‐2000') GROUP BY time_id 

‐‐ Comparativo de Ventas (ventas, acumulado a la semana actual, acumulado a la semana pero del año anterior). WITH v AS (SELECT SUBSTR(p.Prod_Name,1,6) Prod, t.Calendar_Year Year,t.Calendar_Week_Number Week, SUM(Amount_Sold) Sales  FROM Sales s, Times t, Products p  WHERE s.Time_id = t.Time_id AND        s.Prod_id = p.Prod_id AND p.Prod_name in ('Y Box') AND        t.Calendar_Year in (2000,2001) AND        t.Calendar_Week_Number BETWEEN 30 AND 40  GROUP BY p.Prod_Name, t.Calendar_Year, t.Calendar_Week_Number) SELECT Prod , Year, Week, Sales,Weekly_ytd_sales, Weekly_ytd_sales_prior_year FROM   (SELECT Prod, Year, Week, Sales, Weekly_ytd_sales,LAG(Weekly_ytd_sales, 1) OVER           (PARTITION BY Prod , Week ORDER BY Year) Weekly_ytd_sales_prior_year    FROM        (SELECT v.Prod Prod , t.Year Year, t.Week Week,NVL(v.Sales,0) Sales, SUM(NVL(v.Sales,0)) OVER                (PARTITION BY v.Prod , t.Year ORDER BY t.week) weekly_ytd_sales         FROM v         PARTITION BY (v.Prod ) RIGHT OUTER JOIN           (SELECT DISTINCT Calendar_Week_Number Week, Calendar_Year Year            FROM Times            WHERE Calendar_Year IN (2000, 2001)) t            ON (v.week = t.week AND v.Year = t.Year)) dense_sales) year_over_year_sales WHERE Year = 2001 AND Week BETWEEN 30 AND 40 ORDER BY 1, 2, 3 

 

|

Newslette

      Edu GraciasDatumcurso: 

Oracle 

Los  Amanejay  gozaavanceárea de Qué apEn  estede datestudiala baseFlashbaHerrambase  dtambié  Los  esvarias ManagManagLos tópcon El  curcorrespProfess

 

er datum.c

cación: 

s  a  la  retroalimm – Educacional  

Database 10g: A

dministradores an  los sistemas n de  los  salarioe en su éxito coe base de datos.

prenderá: e  curso,  aprendos Oracle para aantes practicaráe de datos utilizack. mientas  para mde  datos  y  los  pén se cubre en e

studiantes  tambtecnologías de ger,  Schedulegement (ASM).   picos cubiertos 

práctso  está  diseñapondiente  exasional (OCP). 

com.gt

mentación  de  nuestará impartie

Administration 

de  Bases  dede  informaciónos más  altos.    Emo un profesio. 

derá  como  confaplicaciones mun varios métodzando RMAN,  S

onitorear  el  depasos  a  tomar ste curso.   

bién  aprenderánbase de datos, r,  y  Autom en  las  leccionesticas ado  para  prepamen  de  Or

uestros  clientesndo el siguiente

Workshop II 

e  Datos  Oracle más avanzadosEste  curso es unnal Oracle en e

figurar  una  baseultilenguaje.   Losos de recuperarSQL  y  tecnología

esempeño  de  lapara mejorarlo

n  como  utilizarcomo Resource

matic  Storage

s son reforzadosestructuradas

pararlo  para  eracle  Certified

, e 

e s n l 

e s r a 

a , 

r e e 

s .                            l d 

Objet • U

r• R

e• U

r• D

m• U

vd

• Cc

• SS

• M• R

p• P

li

 Para educaKarlo limita 

Info 

Co Su comcor 

Po Nueconacchttobtsolillamcon

                

tivos del curso:

Usar  RMAN  prespaldo y copiaRecuperar la basel tiempo  Utilizar  la  tecnrecuperar la basDetectar  corrupmedidas apropiaUsar  los  varios vistas para monde la base de daControlar el usocon el Resource Simplificar el mScheduler Mejorar la segurRevisar archivospropósito de diaPersonalizar el clenguaje  de  la individuales 

inscribirse, [email protected] para 

ado. 

ormación

omentario 

opinión es muy mentario o sugerreo electrónico:

ortal de Da

estros clientes tntenido  de  intecediendo ps://soporte.dattener  los  datosicitándolos  a  nmando  a  las ofin la Licda. Yessi M

ara  crear  y  mas imagen se de datos a un

ología  Flasbackse de datos pción  en  bloquadas para corregadvisors  de  la 

nitorear y mejoratos  o de recursos deManager anejo de  last a

ridad del listenes de  log de  la bagnóstico comportamientobase  de  dato

mande  uom.gt   o  llame reservar su asis

n General

y Sugeren

importante; si drencia,  por favo: newsletter@da

atum: 

tienen la ventajaerés  a  través  de

a  ltum.com.gt/news  de  su  cuentnewsletter@datcinas de DatumMoran.

manejar  sets  d

n punto previo e

k  de  Oracle  pa

ues  y  tomar  lagirlos base  de  datos rar el desempeñ

e la base de dato

reas utilizando 

r ase de datos co

o dependiente dos  y  de  sesione

n  correo al 2364‐5300 cotencia, el cupo e

 

cias: 

desea hacernos aor escríbanos al atum.com.gt. 

a de poder desce  la  vía  electróa  direwsletter    .   a,  envíe  un  coum.com.gt  o   

m,  S.A., directam

Página 14

de 

en 

ra 

as 

y ño 

os 

el 

on 

del es 

a on es 

 

algún 

argar ónica, cción Para orreo bien 

mente 

4