domingo, 22 de abril de 2012

SAMSUNG GALAXY S III


Sera mañana 23-Abril-2012 el anuncio del Samsung Galaxy S3?  Desde hace varios meses hay rumores acerca del sucesor del Galaxy S II, un móvil que se ha llevado miles de elogios y es hasta ahora el principal competidor de los iPhone. 


El Galaxy S3 traería una pantalla Super AMOLED HD Plus de más de 4 pulgadas con una resolución FullHD – 1080p -, un procesador tetra-núcleo Exynos, memoria RAM de 2 Gbs y tecnología LTE 4G.
Mañana probablemente nos daremos cuenta si el dispositivo esta fabricado (en su parte exterior) de forma parcial en cerámica, esta carcasa también tendría algunas partes en metal y cristal, que se unirían para formar un envoltorio fino y resistente (se especula que el grueso del teléfono esté entre los 7 y 9 milímetros de espesor). Como es de esperar, se cree que el teléfono vendría en varios colores, siendo el negro, azul y blanco varias de estas opciones.




Recuperación controlador de dominio - Windows 2003 Server

Muchos pensaran que a estas alturas hablar del sistema operativo Windows 2003 Server es cosa del pasado, ya que poco a poco aumenta la cobertura del Windows 2008, sin embargo pasaran algunos años mas para que las empresas realicen esta migración.

Centrémonos entonces en como recuperar el servidor de dominio principal (maestro de operaciones) en caso de que este sufra algún daño. Para los que no saben es INDISPENSABLE que en el dominio exista por lo menos 1 un servidor que sirva de contingencia (controlador de dominio secundario).


martes, 17 de abril de 2012

Juicio Oracle Google


En algunas ocasiones el mundo de la tecnología es tan vertiginoso, que a veces se nos escapan noticias, detalles, avances, en fin. Yo por ejemplo no recordaba lo del juicio de Oracle vs Google, la cual es la noticia mas importante esta semana a nivel mundial. Quien lo diria, dos grandes de la historia tecnológica enfrentados en situaciones legales, claro que cuando hay dinero, mucho dinero de por medio, pues esto no debe sorprender.


lunes, 16 de abril de 2012

Características de un Datawarehouse

En Internet existe demasiada teoría acerca de Datamarts y Datawarehouse, lo que resulta a veces complejo entender toda esta información para llevarla a la práctica. A continuación, enunciaré algunas características de un Datawarehouse, lo cual ayudará a mejorar los conocimientos para aquellos que no tienen un concepto claro sobre este tema. Cabe recalcar que el buen diseño de un Datawarehouse, garantiza el funcionamiento de un proyecto con Business Inteligence.

Un Datawarehouse, como su nombre lo indica, es una bodega de datos en la cual se almacena información con el fin de realizar consultas, reportes y análisis. Estos contienen datos históricos, derivados de datos transaccionales. 

Existen bases de datos, que por ejemplo guardan información diariamente acerca de las ventas de las compañias, si verificamos las tablas involucradas en el proceso, encontramos informacion de varios años atrás, esta información se puede llevar al Datawarehouse, y dejar por ejemplo solo un año de información en la BD transaccional, de esta manera, las consultas en las tablas de ventas funcionarán mas rápido.

Un datawarehouse se debe construir de manera desnormalizada, esto se debe a la cantidad de datos que posee. Es decir, que las tablas que lo componen no se encuentran bajo el esquema entidad relación, claro esta que esto no quiere decir que no se utilizan llaves foráneas ni llaves primarias.

Para dejar mas claro esta parte veamos un ejemplo:


La anterior imagen muestra un clasico diseño E-R Entidad Relación, pero en la construcción de un datawarehouse, se debe usar el siguiente diseño:


El anterior diseño hace parte de algo que se llama diagrama copo de nieve, que al igual que el diagrama de estrella, son principales diagramas o estrategias que se utilizan en la construcción de cubos en un datawarehouse, y que es eso de cubos? pues un cubo es el conjunto de tablas que componen un datawarehouse, en cuanto a los componentes de un cubo, encontramos dos tipos: dimensiones y hechos. 

Cuando hablamos de dimensiones, nos referimos a estructuras que componen una o mas jerarquias que categorizan los datos. La tabla de productos anterior es un ejemplo de dimension, si quisieramos agregarle mas jerarquias podriamos incluir por ejemplo el proveedor.

La tabla de hechos, es la tabla principal donde convergen todas las dimensiones del cubo, a continuacion vemos un ejemplo básico de un cubo.



Como se puede apreciar en la anterior imagen, las dimensiones tienen un campo que es llave primaria y a su vez se relacionan a través de una llave foránea con la tabla de hechos, pero la tabla de hechos no tiene llaves primarias.

En Oracle, la construcción del cubo se realiza con la herramienta Design Center. Hasta ahora en mis proyectos solo he utilizado una tabla de hechos, aunque he visto proyectos donde dicen que han requerido mas de una. 


sábado, 14 de abril de 2012

La tabla de tiempo en un DataWarehouse

La dimension o tabla del tiempo, permite que el analisis que realizamos en las gráficas o indicadores que construimos con las herramientas de Oracle BI (Oracle Business Intelligence - Inteligencia de negocios) se pueda realizar en función de: hora, dias, meses, años, trimestres, etc.

Para construir por cuenta propia esta dimension seria una tarea algo engorrosa, es por eso que Oracle permite adicionar una Dimesion del tiempo al momento de construir el Datawarehouse por medio de la herramienta Design Center.


La tabla que se crea a partir del asistente, cuenta con muchos campos, no debemos confundirnos con esto, ya que podemos utilizar solo los campos que en verdad nos puede servir en la aplicación. Esa discriminación de los campos se puede realizar al momento de llenar la tabla (ya que esta se crea vacia), o al momento de construir el repositorio por medio del ADMINISTRATION BI TOOL, se pueden retirar los campos o columnas que quedaron vacias o que no necesitamos. Lo mas lógico es llenar esta dimension antes de empezar a insertar datos en el cubo que creamos.

Les dejo entonces un script sencillo en PL/SQL que permite llenar la dimension del tiempo:


Declare

FechaFin date;
Fecha      date;

Begin

/*Se inicializan las varibles dependiento desde y hasta que año se desea llenar
la tabla TIEMPO*/

Fecha    := to_date('2010-01-01','yyyy-MM-dd');
FechaFin := to_date('2013-12-31','yyyy-MM-dd');


WHILE Fecha < FechaFin LOOP

     DBMS_OUTPUT.PUT_LINE('Mes: ' || TO_CHAR(Fecha,'YYYYMMDD') );

     INSERT INTO TiempoQ(DIMENSION_KEY, DAY_ID, DAY, DAY_DESCRIPTION, DAY_NAME,           MONTH_OF_YEAR,
     CALENDAR_YEAR_ID, CALENDAR_MONTH_NAME, CALENDAR_MONTH_DESCRIPTION)
     SELECT
     TO_CHAR(Fecha,'YYYYMMDD'),
     TO_CHAR(Fecha,'D'),
     fecha,
     TO_CHAR(Fecha,'DY'),
     TO_CHAR(Fecha,'DY'),
     TO_CHAR(Fecha,'MM'),    
     TO_CHAR(Fecha,'YYYY'),
     TO_CHAR(Fecha,'MONTH'),
     TO_CHAR(Fecha,'YYYY-MM')
     FROM DUAL;

     SELECT Fecha+1 into Fecha from dual;
   
End loop;

End;


Si te gustó este articulo, te invitamos a que veas la publicidad al lado derecho del blog y que des clic sobre ella, te lo agradecemos.
 




martes, 24 de enero de 2012

CACHE EN ORACLE BUSINESS INTELLIGENCE

Actualización automatica del Dashboard o simplemente inhabilitar la cache.

Que tiene que ver una cosa con la otra?

Es simple, luego de crear el DataMart (Design Center), configurar el repositorio con el Administration Tool de BI, y crear cuadros de mandos y visualizarlos en pantalla por medio de las herramientas Dashboard y Answers. Cuando insertaba, actualizaba o eliminaba registros en las tablas del DataMart, la información, y en general los cuadros de mandos no se actualizaban a menos que reiniciara el servicio de OracleBI Server o realizara cambios manuales en el repositorio.
Para evitar caer en esta confusión, se debe modificar la opción de la cache del repositorio, la cual se encuentra en el archivo NQSConfig.INI


Realizar el cambio, reiniciar el servicio y listo.

martes, 10 de enero de 2012

Fallo al conectar al Centro de Control (Warehouse Builder)

RTC-5260 and RTC-5301 error in Oracle Warehouse Builder (OWB) :


El centro de control que se ejecuta desde el Design Center, es requerido para poder desplegar nuestro repositorio. Cuando aparece el mensaje error RTC-5260 y RTC-5301, significa que el servicio no esta disponible, es por eso que en una sesión de SQLPlus logueado con el usuario dueño del repositorio, en mi caso por ejemplo: OWBREPOS_OWNER (Oracle BI 10g), se debe ejecutar el siguiente comando:

@c:\oracle\bise1\owb\owb\rtp\sql\start_service.sql
Hay que tener en cuenta la ruta de instalación del Oracle BI.

Si aparece algún error enla ejecución del comando haciendo alusión a la zona horaria:
..
ORA-01882: timezone region

Se debe proceder a editar el archivo Run_Service.bat, ubicado en la ruta: C:\oracle\bise1\owb\owb\bin\win32

En este archivo se encuentra la siguiente linea:
%JAVAPATH%\jre\bin\javaw.exe %JVM_OPTIONS% -DORACLE_HOME="%RTHOME%"-DOCM_HOME="%RTHOME%" -DOCM_ORACLE_HOME="%RTHOME%" -classpath %RTHOME%\owb\bin\admin\;%RTHOME%\owb\bin\admin\launcher.jar -DOWB_HOME=%OWB_HOME% -DJDK_HOME=%JDK_HOME% -DORA_HOME=%ORA_HOME% -DOEM_HOME=%OEM_HOME% -DIAS_HOME=%IAS_HOME% Launcher %RTHOME%\owb\bin\admin\owb.classpath oracle.wh.runtime.platform.service.Service %STARTUP_TYPE% %NODEID% %RTUSER% %HOST% %PORT% %SERVICE%

Se debe agregar entonces lo siguiente: -Duser.timezone="+05:30"

Finalmente la linea debe quedar:

%JAVAPATH%\jre\bin\javaw.exe %JVM_OPTIONS% -DORACLE_HOME="%RTHOME%"
-Duser.timezone="+05:30" -DOCM_HOME="%RTHOME%" -DOCM_ORACLE_HOME="%RTHOME%" -classpath %RTHOME%\owb\bin\admin\;%RTHOME%\owb\bin\admin\launcher.jar -DOWB_HOME=%OWB_HOME% -DJDK_HOME=%JDK_HOME% -DORA_HOME=%ORA_HOME% -DOEM_HOME=%OEM_HOME% -DIAS_HOME=%IAS_HOME% Launcher %RTHOME%\owb\bin\admin\owb.classpath oracle.wh.runtime.platform.service.Service %STARTUP_TYPE% %NODEID% %RTUSER% %HOST% %PORT% %SERVICE%

Se guardan los cambios, y se ejecuta nuevamente el comando para iniciar el servicio.

Si todo salió bien, debe salir Available.



martes, 24 de mayo de 2011

Ejemplo Compilador de Números Romanos

Aquí les dejo un sencillo convertidor de números romanos a decimal, ejecuta y muestra el proceso de análisis que normalmente un compilador realiza, como es el análisis léxico, semántico, etc.

No olviden colocar el código entre las etiquetas SCRIPT y adicional crear el formulario con los campos apropiados:



 

domingo, 21 de noviembre de 2010

Problema en el arranque del LDAP en Zimbra

Zimbra LDAP problem - Unable to determine enabled services from ldap.

Que tal amanecer con este problema, teniendo en cuenta que nuestro server resuelve bien los DNS, y ha venido trabajando sin ningún contratiempo?:

[zimbra@mail ~]$ zmcontrol start
Host mail.dominio.com
Starting ldap...Done.
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Starting logger...Done.
Starting mailbox...Done.
Starting antispam...Done.
Starting antivirus...Done.
Starting snmp...Done.
Starting spell...Done.
Starting mta...Done.
Starting stats...Done.


El Zimbra es un excelente servidor de correo, es muy estable y por eso mismo puede ser tan critico que aparezca un error, más precisamente cuando el servicio de correo es indispensable en cualquier empresa.
Sin el servicio LDAP el correo no funciona. Se presentaran una serie de problemas con el envio y recepción de mensajes principalmente.

Para solucionar esto, no se tiene en la mayoria de los casos que actualizar la versión del Zimbra ni mucho menos el sistema operativo, bueno no por el momento.

Lo primero que hay que hacer es verificar que la carpeta donde está instalado el zimbra, pertenezca tanto a ese mismo usuario como al grupo de ese usuario.

Si ejecutando un ls -l, este arroja que la carpeta no cuenta con estos dueños, realizar los cambios con el comando: chown -R zimbra:zimbra /opt/zimbra

Luego de esto, aplicar el siguiente comando como usuario Root (en la carpeta Bin del Zimbra), para que se aplican los permisos en los módulos del Zimbra:

./opt/zimbra/libexec/zmfixperms -verbose


Adicional, los certificados de autenticación del Zimbra se deben renovar cada x tiempo. Se ejecutan los siguientes comandos, si no sube el LDAP, luego de reiniciar los servicios con: zmcontrol stop && zmcontrol start, con el usuario Zimbra claro esta.

1. zmcertmgr createca -new
2. zmcertmgr createcrt -new -days 365
3. zmcertmgr deploycrt self
4. zmcertmgr viewdeployedcrt


Esta última parte es mas compleja, asi que si quieres echar un vistazo, este es el enlace: http://www.zimbra.com/forums/users/18629-zimbra-ldap-problem-unable-determine-enabled-services-ldap-3.html

Por lo pronto, el resultado final fue este:

[zimbra@mail ~]$ zmcontrol start
Host mail.dominio.com
Starting ldap...Done.
Starting logger...Done.
Starting mailbox...Done.
Starting antispam...Done.
Starting antivirus...Done.
Starting snmp...Done.
Starting spell...Done.
Starting mta...Done.
Starting stats...Done.