Plan H

May 7, 2009

Oracle Day 2009

Tema sobre: Software, Videos, Oracle

No habia tenido oportunidad de comentar nada sobre el evento Oracle Day 2009 que me dejo gratamente sorprendido , vale decir que ultimamente , HP y Oracle tienen los mejores eventos, a ver si me invitan a los de IBM , SUN y Oracle , bueno.

Pase todo el dia asistiendo a muy interesantes charlas y como en las ultimos eventos se repitio hasta el cansancio, crisis = oportunidad , estoy de acuerdo con ello pero cuando hay que invertir para obtener la oportunidad mis gerentes lo piensan bastante.

Aqui dejo 2 videos que pude hacer , el primero un poco sobre el evento y el segundo a los amigos de Sun que me mostraron una tecnologia bastante particular, a pesar que 1 dia antes habian sido comprados por Oracle olvide preguntarles sobre el tema a los amigos de SUN.


Aqui los amigos de SUN explicandonos su novedosa tecnologia.


Olvide comentar , medio queja , muchas personas se perdieron las 2 primeras sessiones centrales debido a que no habia cupo en el salon , porque invitan a tanta gente si luego no todos pueden entrar ? ….. jalon de orejas para los organizadores … por lo demas todo muy bien. Gracias Oracle por la invitacion !!

Las respectivas fotos

Ciao

April 27, 2008

JDeveloper y Web Services

Tema sobre: Internet, Software, Oracle

Hace muy poco se me pidio hacer un Web services que seria expuesto en los servidores publicos de la compañia, estos tendrian que enviar y recibir informacion que seria vista y modificada via Celulares Nextel.

En la empresa desarrollamos todo para la Web con JDeveloper , ( Java Server Face ) y se monta sobre servidores Linux con JBOSS .

Con Jdeveloper he podido hacer practicamente todo lo que se me ha pedido y su Framework Adf que es una extencion de JSF es de gran ayuda para hacerlo mas rapido.

Solemos desarrollar y probar nuestras aplicaciones de manera Local con OC4J (mini servidor de aplicaciones que viene montado con JDeveloper ) sin mayor problema , siguiendo esta metodologia empece mi primer WebService , las pruebas fueron exitozas y en minutos tube mi primer WebService que podia ser testeado con una interface muy amigable propocionada por JDeveloper y OC4J.

El problema surgio cuando a este proyecto le hice deploy en JBOSS , simplemente no funciono, luego de mucho investigar ( casi 2 dias ) no encotre solucion alguna encontrandome en la necesidad de optar por otra forma de desarrollo.

Mi solucion final paso por aprender e instalar una libreria llamada Axis2 , muy buena, facil de instalar y me permite publicar Web Services de clases Pojo de forma muy rapida y eficiente.

Desgraciadamente en este tema perdi valioso tiempo y me quedo un mal sabor de boca al no poder crear Web Services como JDeveloper lo propone . Acaso los Web Services que puedo generar con JDeveloper de alguna forma son solo diseñados para funcionar en OC4J o OAS ?.

Si alguien me puede contar su experiencia le estare infinitamente agradecido.

http://ws.apache.org/axis2
http://www.oracle.com/technology/products/jdev/index.html
http://www.jboss.org/

Ciao

December 10, 2007

Update Masivo

Tema sobre: Software, Oracle

Una de las tarea repetitiva que se tienen que efectuar en algunos desarrollos para implementacion y o mentenimiento siempre es actualizar tablas en funcion a informacion de otras.

Yo suelo crear un cursor de la tabla a actualizar , hacer todas las busquedas ( select ) a otras tablas y finalmente actulizar la tabla.

Buscando una menera mas efectiva y sobre todo mas simple pude hacer lo que queria con un solo comando SQL.

Aqui la forma 01


CURSOR C_ca IS
select *
from CATEGORIA_ORGANIZACION
Where CATEGORIA_ORGANIZACION .attribute13 is null ;

BEGIN

for reg in C_ca Loop
Update attribute13 = reg.attribute13,
CATEGORY_SET_ID = reg.CATEGORY_SET_ID,
SUBINVENTORY_CODE = reg.SUBINVENTORY_CODE,
MATERIAL_ACCOUNT = reg.MATERIAL_ACCOUNT,
MATERIAL_OVERHEAD_ACCOUNT = reg.MATERIAL_OVERHEAD_ACCOUNT,
RESOURCE_ACCOUNT = reg.RESOURCE_ACCOUNT,
OUTSIDE_PROCESSING_ACCOUNT = reg.OUTSIDE_PROCESSING_ACCOUNT,
OVERHEAD_ACCOUNT = reg.OVERHEAD_ACCOUNT ,
EXPENSE_ACCOUNT = reg.EXPENSE_ACCOUNT,
ENCUMBRANCE_ACCOUNT = reg.ENCUMBRANCE_ACCOUNT,
BRIDGING_ACCOUNT = reg.BRIDGING_ACCOUNT,
REQUEST_ID = reg.REQUEST_ID ,
PROGRAM_APPLICATION_ID = reg.PROGRAM_APPLICATION_ID,
PROGRAM_ID = reg.PROGRAM_ID,
PROGRAM_UPDATE_DATE = reg.PROGRAM_UPDATE_DATE,
COST_GROUP_ID = reg.COST_GROUP_ID ,
ANALYTICAL_IPV = reg.ANALYTICAL_IPV,
ANALYTICAL_PO_MIRROR = reg.ANALYTICAL_PO_MIRROR,
NON_INVOICED_SO = reg.NON_INVOICED_SO,
NON_INVOICED_REVENUE = reg.NON_INVOICED_REVENUE,
ANALYTICAL_REVENUE_MIRROR = reg.ANALYTICAL_REVENUE_MIRROR,
ANALYTICAL_MOGS = reg.ANALYTICAL_MOGS,
AVERAGE_COST_VAR_ACCOUNT = reg.AVERAGE_COST_VAR_ACCOUNT
where not ok.attribute13 is null
and not ok.material_account is null
and ok.category_id = reg.category_id
and ok.location_id = reg.location_id

commit;

end loop;

Aqui la forma 02


update CATEGORIA_ORGANIZACION
set ( attribute13,
CATEGORY_SET_ID,
SUBINVENTORY_CODE,
MATERIAL_ACCOUNT,
MATERIAL_OVERHEAD_ACCOUNT,
RESOURCE_ACCOUNT,
OUTSIDE_PROCESSING_ACCOUNT,
OVERHEAD_ACCOUNT,
EXPENSE_ACCOUNT,
ENCUMBRANCE_ACCOUNT,
BRIDGING_ACCOUNT,
REQUEST_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_ID,
PROGRAM_UPDATE_DATE,
COST_GROUP_ID,
ANALYTICAL_IPV,
ANALYTICAL_PO_MIRROR,
NON_INVOICED_SO,
NON_INVOICED_REVENUE,
ANALYTICAL_REVENUE_MIRROR,
ANALYTICAL_MOGS,
AVERAGE_COST_VAR_ACCOUNT)
= ( select attribute13,
CATEGORY_SET_ID,
SUBINVENTORY_CODE,
MATERIAL_ACCOUNT,
MATERIAL_OVERHEAD_ACCOUNT,
RESOURCE_ACCOUNT,
OUTSIDE_PROCESSING_ACCOUNT,
OVERHEAD_ACCOUNT,
EXPENSE_ACCOUNT,
ENCUMBRANCE_ACCOUNT,
BRIDGING_ACCOUNT,
REQUEST_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_ID,
PROGRAM_UPDATE_DATE,
COST_GROUP_ID,
ANALYTICAL_IPV,
ANALYTICAL_PO_MIRROR,
NON_INVOICED_SO,
NON_INVOICED_REVENUE,
ANALYTICAL_REVENUE_MIRROR,
ANALYTICAL_MOGS,
AVERAGE_COST_VAR_ACCOUNT
from CATEGORIA_ORGANIZACION ok
where not ok.attribute13 is null
and not ok.material_account is null
and ok.category_id = CATEGORIA_ORGANIZACION.category_id
and ok.location_id = CATEGORIA_ORGANIZACION.location_id
)
where CATEGORIA_ORGANIZACION .attribute13 is null ;

Commit;

Debo añadir que se debe tener especial consideracion en la segunda opcion ya que si estamos en un ambiente transacional , este tipo de update Masivo bloqueara la informacion que se esta actualizando hasta el final mientras que la primera ejecuta commit registro por registro.

Si a alguien le parecen conocidos estos campos es porque pertenecen a eBusiness Suite (gl_code_combinations).

Ciao

April 12, 2007

Oracle 10 Interfase Web

Tema sobre: Internet, Software, Oracle

He usado la Base de Datos Oracle los ultimos 6 años , desde la version 7 a la 10 , he visto algunos cambios en cada una de ellas pero Oracle 10 me ha sorprendido gratamente al integrar una administracion completamente WEB. Esto no lo habia visto antes , solo en base de datos libres como MySQL o PostgresSQL pero esta interfase creo sera de mucha ayuda para los DBA.

Recuerdo que antes trabajar o conseguir una base de datos de este tipo esra bastante complicado y peor intentar instalarla en casa para probar y aprender algo, pues todo eso ha cambiado , hoy en dia empresas como Oracle permiten descargar casi todos sus productos desde la Web , esto le da competitividad y en cierta menera mata a los que venden software pirata. Si deseo probar o aprender algo lo bajo y lo uso , si deseo vender mi solucion , la empresa que la compre debera tener licencia del producto.

Por otro lado existen tambien versiones Express o Ligth para descargar y usar estas son completamente gratis pero no tienen toda la funcionabilidad o alguna restriccion de uso.

Regresando al tema principal del post, administrar una base de datos ha cambiado o por lo menos eso creo, Oracle al igual que Microsoft quieren dar poder al usuario promedio para hacer tareas importantes sin que este sea un Guru o se convierta en uno en la materio, ya no se requiere una consolo de linea de comandos para hacer algo tan simple como crear una tabla o usuario, adicionalmente esta viene con parametros default bastantes buenos para la empresa promedio.

Cusiosamente cuando converso con amigos DBA esto nos le gusta demasiado y son bastante cerrados al cambios, supongo deben tener motivos validos para ellos , o quizas simplemente esto “no les conviene”.

Ciao.

January 30, 2007

Roles de Usuarios en Oracle

Tema sobre: Software, Oracle

Como programador desarrollo aplicaciones en diferentes base de datos , he necesitado muchas veces crear una Base de Datos de desarrollo rapidamente para empezar a programar y en Oracle tuve algunos problemas debido a que se tienen que especificar algunos valores minimos para los usuarios , aqui los valores que utilizo.

ROLES:
CONNECT
DBA
RESOURCE

SISTEMA:
ALTER TABLESPACE
SELECT ANY TABLE
UNLIMITES TABLESPACE
UPDATE ANY TABLE

Esto no pretende ser una clase de Oracle ni mucho menos , solo pretendo tener estos valores a la vista para la proxima creacion de Usuarios y Base de Datos






















Get free blog up and running in minutes with Blogsome
Theme designed by Hadley Wickham