Upload
phungkhuong
View
213
Download
0
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
s
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
e
Página
ral ta na y
ola de te ts, de el APas cle ad
la rir or
cle an ue
a
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