Métodos de Migración de Base de Datos Oracle (Versión 8...

19
Página 1 5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12 Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected] Año 2 Volumen 6 – Octubre 2010 5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12 Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected] Métodos de Migración de Base de Datos Oracle (Versión 8 hasta la 11) Por: Juan Luis Rodríguez [email protected] En general, la vía rápida de migración de bases de datos de una versión anterior a una actual implica una actualización (upgrade) de la base de datos anterior. Otros métodos indirectos involucran copiar datos, o generar un archivo full export de la base de datos anterior. Para grandes bases de datos, el tiempo requerido para re-crear completamente la base de datos a través de métodos indirectos puede excluirlos como métodos viables. El primer método directo se basa en el Asistente de Actualización de Bases de Datos (DBUA). DBUA es una herramienta interactiva que guía a través de todo el proceso de actualización. Contenido Página 1 Métodos de Migración de base de datos 7 Apex con dispositivos móviles 13 Map Viewer 15 Manejo de plantillas en reports Editores Generales Karlo Espinoza Luis Cordón Gerber Bautista Debbie Moran Francisco Barrundia Autores Contribuyentes Juan Luis Rodríguez Deiby Gómez Daniel Callejas Francisco Barrundia

Transcript of Métodos de Migración de Base de Datos Oracle (Versión 8...

Page 1: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 1

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Año 2 Volumen 6 – Octubre 2010

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12 Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected] Pagina 1/10

Métodos de Migración de Base de Datos Oracle (Versión 8 hasta la 11)

Por: Juan Luis Rodríguez [email protected]

En general, la vía rápida de migración de bases de datos de una versión anterior a una actual implica una actualización (upgrade) de la base de datos anterior. Otros métodos indirectos involucran copiar datos, o generar un archivo full export de la base de datos anterior. Para grandes bases de datos, el tiempo requerido para re-crear completamente la base de datos a través de métodos indirectos puede excluirlos como métodos viables. El primer método directo se basa en el Asistente de Actualización de Bases de Datos (DBUA). DBUA es una herramienta interactiva que guía a través de todo el proceso de actualización.

Contenido Página 1 Métodos de Migración de

base de datos

7 Apex con dispositivos

móviles

13 Map Viewer 15 Manejo de plantillas en

reports Editores Generales

Karlo Espinoza

Luis Cordón

Gerber Bautista

Debbie Moran

Francisco Barrundia

Autores Contribuyentes

Juan Luis Rodríguez

Deiby Gómez

Daniel Callejas

Francisco Barrundia

Page 2: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 2

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

El segundo método directo es llamado actualización manual. Mientras que DBUA ejecuta scripts de manera automática, la actualización manual implica que el DBA ejecute los scripts requeridos. Este método puede brindar un gran nivel de control, pero también agrega un nivel de riesgo en la actualización debido que se deben ejecutar los scripts en el orden apropiado. En el método de copiar datos, se puede aplicar una serie de comandos create tabla as select … o insert into … select a través de database links para obtener la información desde la base de datos origen. Este método permite traer los datos de forma incremental y limitar las filas y columnas migradas. Sin embargo se debe tener mucho cuidado de que los datos copiados mantengan todas relaciones entre las tablas así como índices y constraints. Como el método Export/Import, este método puede requerir un significativo monto de tiempo para grandes bases de datos. Se puede utilizar el original Export e Import como un método indirecto para migrar una base de datos. En este método se exportan los datos de la versión antigua y luego se importan en la nueva versión de base de datos.

. Método de Actualización (Upgrade) En algunas ocasiones se debe migrar una versión antigua de base de datos a otra más reciente, por ejemplo pasar una base de datos Oracle 9i a la versión 10g. Para realizar esta tarea se utiliza el “Asistente de Actualización de Bases de Datos” (Database Upgrade Assistant – DBUA). El Asistente de Actualización de Bases de Datos (DBUA) le guía a través de todo el proceso de actualización y configura la base de datos para la nueva versión. El DBUA automatiza el proceso de actualización y hace las recomendaciones apropiadas para la configuración de opciones como tablespaces y redo logs.

Page 3: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 3

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

DBUA también provee soporte para Real Application Clusters (RAC) y Automatic Storage Management (ASM). Para que DBUA comience la actualización, debe completar antes los siguientes pre-requisitos:

• Verifica si existen usuarios o roles inválidos. • Verifica si existen objetos inválidos. • Verifica si existen character sets desoportados. • Verificar recursos adecuados, incluyendo rollback segments, tablespaces y espacio libre en

disco. • Verifica si hacen falta scripts de SQL necesarios para la actualización. • Copia de seguridad de todos los archivos necesarios (opcional).

Tareas Automáticas de Actualización Después de completar los pre-requisitos el DBUA automáticamente realiza las siguientes tareas:

• Modifica o crea los nuevos tablespaces que sean requeridos. • Invoca los scripts de actualización apropiados. • Deshabilita el modo archive log durante la fase de actualización.

Tareas Automáticas de Actualización Después de completar los pre-requisitos el DBUA automáticamente realiza las siguientes tareas:

• Modifica o crea los nuevos tablespaces que sean requeridos. • Invoca los scripts de actualización apropiados. • Deshabilita el modo archive log durante la fase de actualización.

Mientras se ejecuta la actualización, se muestra el avance de actualización de cada componente. Además, DBUA escribe un registro detallado, archivos de log y produce un reporte HTML completo para una revisión posterior. Para mejorar la seguridad, DBUA automáticamente bloquea cuentas de nuevos usuarios en la base de datos actualizada. DBUA entonces procede a crear nuevos archivos de configuración (archivos de parámetros de inicialización y listener) en el nuevo Oracle home.

Page 4: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 4

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Soporte para Real Application Clusters El Asistente de Actualización de Bases de Datos es totalmente compatible con ambiente de Real Application Clusters (RAC). En un ambiente RAC, el DBUA actualiza toda la base de datos y archivos de configuración en todos los nodos del cluster. Nota: En sistemas operativos Windows, DBUA no soporta una actualización directa de base de datos con Oracle Parallel Server versión 8.1.7 hacia una base de datos Oracle 10g con RAC. Primero se debe actualizar manualmente la base de datos con Oracle Parallel Server para Oracle Real Application Cluster Oracle 9i release 2 (9.2), entonces se actualiza a base de datos 10g con Real Application Clusters (RAC) utilizando DBUA. Soporte para Automatic Storage Management DBUA soporta actualización de bases de datos que utilizan Automatic Storage Management. Si una instancia ASM es detectada, se da la opción de actualizar la base de datos y ASM o solo la instancia ASM. Soporte para Modo Desatendido El Asistente de Actualización de Bases de Datos soporta un modo de operación desatendido en el cual la interfaz de usuario no se presenta al usuario. El modo desatendido le permite utilizar una simple sentencia para realizar la actualización.

El Asistente de Actualización de Bases de Datos soporta las siguientes versiones de Base de Datos Oracle para actualizar a Base de Datos 10g:

• Oracle versión 8.0.6 (Instancia de base de datos simple solamente). • Oracle 8i release 8.1.7 (Bases de datos de instancia simple y con Real Application

Clusters). • Oracle 9i release 1 (9.0.1) (Bases de datos de instancia simple y con Real Application

Clusters). • Oracle 9i release 2 (9.2.1) (Bases de datos de instancia simple y con Real Application

Clusters). Si la base de datos no está en este listado, es necesario actualizar primero hacia alguna de las versiones listadas anteriormente. Entonces se puede actualizar la base de datos la versión actual. Método Export / Import Si necesita migrar su base de datos de una versión inferior (desde 8) hacia una superior (hasta 11g) puede hacerlo a través del método EXPORT (desde la base de datos origen) e IMPORT (en la base de datos destino). Para realizar esta se deben contemplar los siguientes aspectos:

1. Lo primero que se debe hacer es un full export consistente de la base de datos origen para garantizar que todos los DML hechos en las tablas estén contenidos en el archivo generado. Esto se hace agregando el parámetro CONSISTENT=Y al comando EXP. EXP SYSTEM/MANAGER1 FILE=FULL_EXPORT.DMP FULL=Y CONSISTENT=Y

Page 5: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 5

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

LOG=FULL_EXPORT.LOG Sin embargo, una práctica más segura para obtener un full export consistente es hacerlo en un período de tiempo en el que se tenga la certeza de que no se están realizando transacciones, y como último recurso, se puede colocar la base de datos en modo restringido para evitar que se establezcan conexiones de usuarios mientras se realizar el full export. Esto se hace en una sesión de SQLPLUS conectado con usuario SYS y luego ejecutar:

ALTER SYSTEM ENABLE RESTRICTED SESSION; Ahora se realiza el full export con un usuario que posea el privilegio del sistema RESTRICTED SESSION: EXP SYSTEM/MANAGER1 FILE=FULL_EXPORT.DMP FULL=Y LOG=FULL_EXPORT.LOG

2. Otro aspecto importante a tomar en cuenta es el conjunto de caracteres (character set) configurado en la base de datos origen. Para obtenerlo, se puede ejecutar la consulta:

SELECT * FROM nls_database_parameters WHERE parameter LIKE '%SET' ORDER BY 1; Obteniendo un resultado similar a: PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_CHARACTERSET WE8MSWIN1252 NLS_NCHAR_CHARACTERSET AL16UTF16 Se debe configurar estos dos parámetros en la base de datos destino para garantizar que al ejecutar el comando imp la información se importe de manera idéntica a la base de datos origen, si el valor de los parámetros es diferente entre ambas bases de datos, se realiza una conversión automática en la base de datos destino, sin embargo esto no garantiza que el juego de caracteres destino almacene de manera adecuada caracteres especiales o la letra Ñ, para citar solo un ejemplo.

3. Si la migración es entre plataformas distintas y/o la estructura de directorios no es la

misma, se deben crear los tablespaces en la base de datos destino antes de realizar el full import, de lo contrario, el comando imp intentará crear los directorios según la estructura almacenada en el archivo FULL_EXPORT.DMP. Por ejemplo, si la base de datos origen en un sistema Windows posee la siguiente estructura de directorios:

SQL> select tablespace_name, file_name from dba_data_files; TABLESPACE_NAME FILE_NAME ------------------------------ ----------------------------------- DATA C:\ORACLE\ORADATA\DB_1\DATA.DBF INDICES C:\ORACLE\ORADATA\DB_1\INDICES.DBF RBS C:\ORACLE\ORADATA\DB_1\RBS.DBF TEMPORAL C:\ORACLE\ORADATA\DB_1\TEMPORAL.DBF

Page 6: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 6

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

SYSTEM C:\ORACLE\ORADATA\DB_1\SYSTEM.DBF

Y la base de datos destino reside en un sistema Linux con una estructura:

TABLESPACE_NAME FILE_NAME ------------------------------ ----------------------------------- USERS /u01/app/oracle/oradata/db_1/USERS.DBF SYSAUX /u01/app/oracle/oradata/db_1/SYSAUX.DBF UNDO /u01/app/oracle/oradata/db_1/UNDO.DBF SYSTEM /u01/app/oracle/oradata/db_1/SYSTEM.DBF

Será necesario crear los tablespaces DATA, INDICES y RBS de acuerdo a la estructura de la base de datos origen: CREATE TABLESPACE DATA DATAFILE '/u01/app/oracle/oradata/db_1/DATA.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; CREATE TABLESPACE INDICES DATAFILE '/u01/app/oracle/oradata/db_1/INDICES.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; CREATE TABLESPACE RBS DATAFILE '/u01/app/oracle/oradata/db_1/RBS.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; Si la migración es hacia una base de datos versión mayor a 8, el tablespace TEMPORAL debe crearse con el comando CREATE TEMPORARY TABLESPACE:

CREATE TEMPORARY TABLESPACE TEMPORAL TEMPFILE '/u01/app/oracle/oradata/db_1/TEMPORAL.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

La estructura de directorios de la base de datos destino quedará así: SQL> select tablespace_name, file_name from dba_data_files; TABLESPACE_NAME FILE_NAME ------------------------------ ----------------------------------- USERS /u01/app/oracle/oradata/db_1/USERS.DBF SYSAUX /u01/app/oracle/oradata/db_1/SYSAUX.DBF UNDO /u01/app/oracle/oradata/db_1/UNDO.DBF SYSTEM /u01/app/oracle/oradata/db_1/SYSTEM.DBF DATA /u01/app/oracle/oradata/db_1/DATA.DBF INDICES /u01/app/oracle/oradata/db_1/INDICES.DBF RBS /u01/app/oracle/oradata/db_1/RBS.DBF SQL> select tablespace_name, file_name from dba_temp_files; TABLESPACE_NAME FILE_NAME ------------------------------ ----------------------------------- TEMPORAL /u01/app/oracle/oradata/db_1/TEMPORAL.DBF

Page 7: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 7

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

4. En la base de datos destino se debe crear un nuevo archivo de parámetros para adaptar 5. los parámetros de la base de datos origen descartando parámetros que llegarán a ser

obsoletos en la base de datos destino.

6. En la base de datos destino se deben habilitar las mismas opciones y componentes instalados en la base de datos origen. Esto se hace al crear una nueva base de datos con la herramienta Database Configuration Assistant (dbca) verificando que las opciones y complementos a instalar sean los mismos de la base de datos origen.

7. Una vez considerados los aspectos anteriores, el comando IMP para realizar la migración

de una base de datos inferior a una superior queda: IMP SYSTEM/MANAGER FILE=FULL_EXPORT.DMP IGNORE=Y COMMIT=Y BUFFER=2097152 LOG=FULL_EXPORT_IMP.LOG

8. Verificar objetos inválidos en la base de datos destino. Para ello utilizamos la siguiente

consulta: SELECT OWNER, COUNT(1) FROM DBA_OBJECTS WHERE STATUS='INVALID' GROUP BY OWNER; El número de objetos inválidos puede ser demasiado grande por lo que para eliminar el status INVALID se puede ejecutar script %ORACLE_HOME%\rdbms\admin\utlrp.sql (en Windows) o $ORACLE_HOME/rdbms/admin/ultrp.sql (en Unix) en una sesión SQL*Plus conectado con usuario SYSDBA.

Apex con dispositivos móviles

Por: Ing. Deiby Gomez [email protected]

Oracle Application Express, también conocido como APEX, es una herramienta gratuita que se vale de la Base de Datos Oracle y del servidor http para producir aplicaciones. Debido a la estructura de asistentes que permiten construir de manera declarativa aplicaciones, Apex ofrece una funcionalidad sencilla pero poderosa. APEX

permite desarrollar en minutos mantenimientos sobre tablas y sus relaciones. Su integración con la base de datos le reduce al programador el trabajo y su facilidad de uso hace de APEX una herramienta capaz de ser utilizada con poca capacitación a los clientes.

Page 8: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 8

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Así mismo, la popularidad de la telefonía móvil se ha tornado muy fuerte en los últimos años superando a la prensa, televisión y la internet, en la actualidad se estima que existen mucho más teléfonos móviles que personas en el mundo. Su funcionalidad ha crecido significativamente, hoy día los teléfonos móviles ya no se limitan a realizar y recibir llamadas sino que han incorporado novedades como envió y recepción de SMS, MMS; crear, editar y transferir fotos; manejo de archivos de música y de video; incorporación de tecnología Wi-Fi, Bluetooth e Infrarrojo; pantallas táctiles, pequeños teclados, entre otros. Todas las características anteriormente mencionadas hacen del teléfono móvil muy atractivo además de ser fácil de utilizar, portable, elegante y todo esto a un bajo coste. Con la evolución del teléfono móvil ha ido evolucionado simultáneamente la navegación Web, relacionándose la una con la otra. Al tener la capacidad un teléfono móvil de navegar por la Internet, necesariamente debe de tener un Browser, el cual cada vez se vuelve tan potente como los navegadores convencionales de las PC’s. En este artículo se darán sugerencias y estrategias para desarrollar aplicaciones web en APEX cuyo contenido sea visualizado de forma correcta, idealmente por cualquier dispositivo móvil, así mismo su respectiva detección. Para fines de este artículo los dispositivos móviles se dividen en cuatro categorías, siendo éstas las siguientes:

Dispositivos de categoría baja: XHTML básico, máximo ancho de pantalla de 176 pixeles, soporta CSS basico (text color, background color, font size), no soporta JavaScript.

Dispositivos de categoría media: XHTML básico, promedio de ancho de pantalla de 240 pixeles, soporta CSS a nivel medio (box model, images), soporta JavaScript básico (validaciones, redirección, ventanas de dialogo).

Dispositivos de categoría alta: soporta XHTML o HTML 4, promedio de ancho de pantalla de 240 pixeles, soporta CSS

avanzado, soporta Ajax y DOM, soporta opciones touch, soporta cambios opcionales de orientación (para un promedio de pantalla de 320 pixeles).

Smartphones Avanzados: HTML 5, tamaño de pantalla grande y halta resolución, soporta tecnología tactil, soporta extenciones de CSS (animaciones y efectos) y Ajax, almacenamiento, geolocalización.

El diseñar una aplicaciones web para dispositivos móviles puede llegar a ser una tarea verdaderamente difícil a no ser que se esté creando para un dispositivo móvil específico en el cual se crearía un diseño exacto pixel a pixel. Su aplicación web debería idealmente verse bien en cada dispositivo móvil. Para ésto se presentan algunas buenas prácticas:

• Evitar desplazamiento horizontal. • Poca cantidad de texto. • Usar tipo de letra legible en cada

pantalla, que no dependan de la resolución.

• Usar colores de fondo para separar secciones.

Page 9: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 9

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

• Mantener la navegación principal a tres o cuatro links.

• Mantener a lo sumo 10 links por página.

• Inserte un botón “Atras” en la parte inferior (algunos navegadores no tienen un boton “Atras” visible).

• Minimice la cantidad de texto que necesite ser ingresado por el usuario.

• Cree diferentes estilos para dispositivos tactiles.

• Use listas en lugar de tablas. • Para dispositivos tactiles y

dispositivos basados en un cursor, utilice unicamente un link por linea, de esta manera el link se activará si el usuario toca cualquier pixel de la linea.

• Para dispotivos basados en cursor, cree zonas de tamaño medio para

• realizar clic, moviendoce 5 o 10 pixeles. No haga que el usuario viaje mucho con el cursor, diseñe todos los botones cerca.

Los dispositivos táctiles presentan características únicas en términos de diseño y usabilidad. El usuario con el más mínimo esfuerzo puede acceder a cualquier pixel de la pantalla, esto hace que se piense en una forma diferente al diseñar. Otra característica es que el usuario utiliza el dedo para realizar

clic, esto hay que tomarlo en cuenta pues el dedo comparado con un cursor es grande. A continuación presento algunos tips para aplicarlos a dispositivos táctiles:

• Provea una cantidad aceptable de espacio (20 pixeles o más) entre cada elemento en el que se pueda realizar clic.

• El área de los botones y/o links en los cuales frecuentemente se realiza clic deben tener un área grande, como mínimo 40 pixeles de ancho y de alto.

• El área de los botones y/o links en los cuales se realiza clic con poca frecuencia pueden tener un área pequeña, mínimo 25 pixeles.

• Cuando use casillas de formulario para ingresar texto, situe la etiqueta sobre la casilla no a la derecha ni a la izquierda.

• Use casillas de texto autolimpiables. Basta con un icono X en el cual el usuario pueda hacer clic y automáticamente la casilla de texto sea limpiada.

El espacio disponible para el título en un navegador web para un dispositivo móvil es pequeño comparado con un navegador para computadora, el título de la página es usado como la cabecera arriba de la pantalla en algunos dispositivos, por lo tanto, es necesario mantener un título corto utilizando idealmente cuatro u ocho letras.

Es necesario saber que si se utiliza un título largo, hay dispositivos que truncan el título después de 10 o 12 caracteres. Trate la manera de no escribir palabras redundantes, como por ejemplo “Mobile” en el título, el usuario conoce que está usando un dispositivo móvil por lo tanto sea conciso y

objetivo. A continuación presento un cuadro con características referentes al título de algunos dispositivos móviles.

Page 10: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 10

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

La utilización de Adobe Flash en el mundo web es muy fuerte, sin embargo en los dispositivos móviles aún no. Adobe está

intentando tener la misma experiencia con los navegadores web móviles sin embargo está encontrando muchas piedras en el camino. Adobe actualmente tiene dos líneas móviles: Flash Lite y Flash Player 10 para dispositivos

El primero está destinado para dispositivos de categoría baja y media (se estima los dispositivos de categoría alta durante el 2010) y el segundo estará disponible para dispositivos Android, Symbian y Palm Pre (pero no iPhone) a lo largo del año 2010. A continuación muestro una tabla la cual contiene información sobre los dispositivos móviles y su compatibilidad con Adobe Flash

.

JavaScript es una herramienta muy poderosa y que actualmente está presente en la mayoría de los navegadores móviles, a continuación presento una tabla con la compatibilidad de JavaScript con dispositivos móviles:

La entrada de texto es la característica que requiere más atención. La escritura en los dispositivos móviles no es siempre una tarea fácil, y los mecanismos para ingresar texto varían en los dispositivos. En algunos dispositivos inmediatamente se puede empezar a escribir texto luego de haber pasado el foco al cuadro de texto; en otros cuando el foco es pasado al cuadro de texto se abre una ventana con todos los caracteres soportados por el sistema operativo; algunos otros dispositivos muestran una ventana que ocupa la totalidad de la pantalla y otros solo muestran una pequeña ventana dentro de la ventana del navegador web

Se ha expuesto consejos para poder realizar una aplicación web completa de tal manera que pueda ser visualizada correctamente en cada uno de los dispositivos móviles existentes en la actualidad y se ha llegado a la conclusión que para poder realizar este trabajo, es necesario “personalizar” la aplicación web, detectando el dispositivo móvil que está visualizando y así poder presentarle una plantilla destinada a ese

Page 11: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 11

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

dispositivo y poder visualizar el contenido de una forma correcta.

Bueno, las plantillas se pueden realizar, se puede tener una plantilla para navegadores de computadora, otra para Nokia Series 40, otra plantilla para Motorola, otra para BlackBerry, etc. Pero aún no se ha tocado el problema principal: ¿Cómo detectar el dispositivo móvil? Para poder redireccionar el navegador hacia la plantilla adecuada.

Pero aún no se ha tocado el problema principal: ¿Cómo detectar el dispositivo móvil? Para poder redireccionar el navegador hacia la plantilla adecuada.

JavaScript proporciona un objeto nativo: navigator que representa al navegador cliente en el cual el código está corriendo. El objeto navigator tiene varias propiedades, pero las más útiles son: • appName: Proporciona el nombre del navegador. • appVersion: Proporciona la versión del navegador. • mimeTypes: Un array con tipos MIME soportados. • plugin: Un array de plugins soportados para etiquetas object. • Platform: El Sistema Operativo. • UserAgent: Es una cadena que identifica al explorador. A continuación presento una tabla con resultado obtenido en cada uno de estas propiedades para diferentes dispositivos móviles

Como se puede ver en la tabla, es ambigua la información obtenida con estos parámetros en los dispositivos móviles.

Las propiedades como appName, appVersion, mimeTypes y platform son cadenas que no son totalmente confiables en el mundo de los dispositivos móviles, algunas veces se está utilizando IE y se detecta como Mozilla, otras veces se identifica el nombre correcto del navegador y otras veces el mismo dispositivo provee una cadena diferente, dependiendo de la versión del Sistema Operativo o el Firmware utilizado. Esto hace que la detección del dispositivo móvil sea una tarea compleja.

A continuación expongo como obtener el userAgent y otras propiedades por medio de JavaScript:

<script type="text/javascript"> document.write("Browser CodeName: " + navigator.appCodeName);

Page 12: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 12

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

document.write("<br /><br />"); document.write("Browser Name: " + navigator.appName); document.write("<br /><br />"); document.write("Browser Version: " + navigator.appVersion); document.write("<br /><br />"); document.write("Cookies Enabled: " + navigator.cookieEnabled); document.write("<br /><br />"); document.write("Platform: " + navigator.platform); document.write("<br /><br />"); document.write("User-agent header: " + navigator.userAgent); </script> La siguiente lista son algunas cadenas obtenidas en los dispositivos móviles Nokia N95, Nokia 3510, Motorola V3, BlackBerry, iPhone 3.0, dispositivo con Windows Mobile y un teléfono japonés respectivamente:

• Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/20.0.015 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413

• Nokia3510i/1.0 (05.30) Profile/MIDP-1.0 Configuration/CLDC-1.0

• MOT-V3i/08.B4.34R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1

• BlackBerry8100/4.2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/125

• Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3

• Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240×320)

• UP.Browser/3.04-TS14 UP.Link/3.4.4

Como se puede observar, la cadena obtenida con el userAgent no es una cadena estándar, es decir, no siempre retorna una cadena con una estructura en común. Entonces, esto lleva a pensar que se debe detectar palabras clave, como por ejemplo: “iPhone” o “Symbian” para poder intentar determinar el dispositivo o plataforma.

En conclusión, cuando se necesite saber si el usuario está navegando a través de una computadora o un dispositivo móvil, se debe buscar palabras claves como: iPhone, iPod, Nokia, etc., dentro del userAgent. Basándose en la presencia o ausencia de éstas palabras, se puede “adivinar” si el dispositivo es móvil o no.

Andy Moore tiene desarrollado una sencilla pero poderosa función que detecta dispositivos móviles. La última versión de esta función (libre para fines no lucrativos) puede ser descargada desde: http://detectmobilebrowsers.mobi

Page 13: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

5a. Ave.TeléfonoEmail. in

. 5-55 Zona14, Eo: (502)[email protected]

Por: Li dcalleja

¿Que e MapVietecnoloincluidosoportaFusionextensgeo-refque seser deMapvie

¿Para

visualizfoto vainformapotenc

Edificio Euro Pla00 Fax: (502)23.gt

ic. Daniel [email protected]

es Map Viewe

ewer es un ogía de base o en la basear Sistemas

n Middlewareión del JDevferenciados m

e ejecute en eesplegado enewer cumplen

que me sirve

Por siglos zar de una male más queación que te

cial para anali

aza Torre II, Niv364-5311

llejas om.gt

er?

producto de de datos lla

e de datos ede Informaci

e Mapviewer eloper que emanejados pel Oracle Mid

n otros conten con los está

e MapViewer?

las personamanera más ge mil palabraenga referenczar y entende

vel 12

Map

visualizaciónamada Oracleen la ediciónón Geográfices un com

s usado parapor Oracle Spddleware tal cenedores J2Eándares intern

?

as han confiagrafica informas. Nos sirvcia a diferener los compon

p Viewe

n de mapas e Spatial. Ora

n Enterprise, co y Solucionponente java

a el renderizapatial. Mapviecomo un servEE como JBonacionales “O

ado en mapmación ambigve para podentes lugares nentes geográ

er

vía web disacle Spatial ey provee ca

nes Basadasa del Oracleado de mapasewer es un cvidor de Weboss o Tomca

OGC Stardard

pas para capgua. MapViewer interpretaren un mapaáficos de nue

señado para es un componapacidades as en Localizae Application s y la visualizcomponente bLogic y que at. Oracle S Specification

pturar informwer nos compr de maneraa. Esto nos estro negocio.

Página

trabajar con nente que vieavanzadas paación. El Orac

Server y uzación de datde capa medtambién puepatial y Ora

n”.

mación y podprueba que ua ágil y visu

da un enorm.

13

la ene ara cle

una tos dia

ede cle

der una ual, me

Page 14: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 14

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Casos de Uso Algunos casos en los que este componente es usado es en el análisis de ventas por región. Se pueden hacer estudios de proximidad para conocer que comercios se encuentran alrededor de una posible ubicación de nuestra nueva sucursal o posibles riesgos de que algunas catástrofes puedan ocurrir en el área en el que pensamos construir un edificio por ejemplo. Los mapas muchas veces son usados como un tipo de grafica para ver rendimientos de todo tipo en un área geográfica. Este podría ser un mapa de ejemplo del comportamiento de ventas de su empresa atreves de diferentes áreas.

El siguiente ejemplo ya incluye incrustar el Map Viewer con el sistema de Inteligencia de Negocios, y en base a una consulta mostrar un área en específico.

Page 15: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 15

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

¿Como se distingue Mapviewer de otros servicios?

• Se crean capas a partir de consultas SQL. Un mapa puede contener múltiples capas, y en cada una puede existir una consulta SQL. Para Map Viewer no existen restricciones de que tipo de consultas utilizar media vez esta consulta devuelva información espacial, con o sin datos con atributos normales.

• • Soporte completo de la tecnología de base de datos Oracle Spatial. Esta tecnología nos da

modelos de datos espaciales avanzados como Topologías, Modelos de redes de datos y GeoRaster. También soporta los conceptos de Workspace (para transacciones largas), Particionamiento y RAC.

• • Incluye una herramienta de construcción de mapas llamada Map Builder. Esta herramienta

es una aplicación basada en Java. Se usa para conectarse al esquema de base de datos y explorar la información espacial almacenada en ella. Con esta información ya se pueden construir mapas, capas, y estilos de renderizado que cumplan con las necesidades de mapeo del negocio.

Manejo de plantillas con reports 10g

Por: Lic. Francisco Barrundia [email protected] Al momento de crear un reporte en reports 10g el asistente nos da 3 opciones a para la plantilla a escoger:

1) Plantillas predefinidas 2) Plantillas definidas por el usuario 3) Utilizar los parámetros por defecto del reporte(Sin plantilla)

Page 16: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 16

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Creación de una plantilla definida por el usuario

Usted puede crear sus propias plantillas partiendo de cero, pero esto no es necesario porque muchas plantillas se agregan en la instalación. Cree sus propias plantillas mediante la modificación de una o más plantillas instaladas con sus propios parametros, logotipos, y así sucesivamente, como se describe en las páginas siguientes Varios Diseños se incluyen en la instalación están en <oracle_home> \ reports\ templates . La extensión del archivo de plantillas de papel es . TDF. Una definición de la plantilla puede contener información de la plantilla para todos los estilos de los informes. Modificando una platilla

Se pueden modificar 2 secciones de una plantilla existente, la sección de cuerpo y la sección de margen: Body: Esta sección se modifica para aplicar los cambios a todos los estilos de informes, y reemplazar secciones para aplicar cambios individuales a los distintos estilos de plantillas. Margin:

Tip técnico del día: Crear una tabla Externa:

Una interesante funcionalidad de Oracle es la capacidad de tomar los datos directamente de archivos del sistema operativo y hacer como si fuera una tabla dentro de la base de datos. Oracle ha ampliado sus interfaces con el sistema operativo para permitir cualquier tipo de archivo plano a comportarse como si se tratara de una tabla relacional:

Ejemplo de sintaxis:

Create directory TEST as ‘/home4/teach17’ create table external_emp ( EMPNO NUMBER(4), ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2)) Organization external (type oracle_loader default directory TEST access parameters (records delimited by newline fields terminated by ‘,’) location (‘extemp.txt’)) reject limit 1000; Por Lic. Francisco Barrundia [email protected]

Page 17: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 17

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Define los objetos que aparecen en el margen de todas las páginas Predefinir sus propias plantillas Para prefinir sus propias plantillas hay que seguir estos pasos:

1. Abrir una plantilla existente, modificar los objetos de plantilla cuando sea necesario, y guardar la plantilla como un archivo .tdf..

2. Mover la plantilla y el archivo de imagen en el directorio de plantillas: <oracle_home> \ reports \ templates 3. Agregar a la plantilla de nombre de archivo (sin el sufijo) a las entradas en el archivo de preferencias de Oracle Reports, cagprefs.ora.

Agregue el nombre de archivo para cada estilo de reporte para el que la plantilla es aplicable, por ejemplo: Reports.Tabular_Template_File, Reports.Matrix_Template_File. Adición de una imagen previa de las plantillas Cada plantilla predefinida tiene una pequeña imagen asociada a ella que se muestra en la parte derecha de la página de la plantilla del Asistente para informes. La imagen es opcional, pero es un buen ejemplo gráfico de cómo el informe se verá si se aplica esta plantilla. Para mostrar su propia imagen, utilice la plantilla para crear un informe sencillo y crear una imagen de la salida del informe. Para crear una imagen de la plantilla: 1. Crear un informe sencillo con la nueva plantilla. 2. Crear una imagen bitmap (captura de pantalla) de la esquina superior izquierda, incluidos los datos suficientes para que el estilo claro para el usuario. Nota: la imagen bitmap debe tener una resolución de 200 x 150 píxeles. 3. Nombre el archivo *. bmp y guárdelo en el mismo directorio <oracle_home> Reports \ templates

Page 18: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

5a. Ave.TeléfonoEmail. in

. 5-55 Zona14, Eo: (502)[email protected]

NueLe invitservicioservicio

Edificio Euro Pla00 Fax: (502)23.gt

evo Wetamos a visitao de nuestrosos, productos

aza Torre II, Niv364-5311

b Site

ar nuestro tots clientes. Ings, noticias, etc

vel 12

almente nuegrese a wwwc.

vo sitio web, w.datum.com

una nueva he.gt para cono

erramienta deocer más sob

Página

e contacto al re nuestros

18

Page 19: Métodos de Migración de Base de Datos Oracle (Versión 8 ...newsletter.datum.com.gt/wp-content/uploads/2010/10/Newsletter-Año... · En el método de copiar datos, se puede aplicar

Página 19

5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12Teléfono: (502)2364-5300 Fax: (502)2364-5311 Email. [email protected]

Gracias a la retroalimentación de nuestros clientes, Datum – Educacional estará impartiendo el siguiente curso:

Oracle Database 10g: RAC for Administrators Rel 2

Qué aprenderá:

Este curso ofrece a los estudiantes una introducción a las características generales y capacidades de Oracle Database 10g R2 para Oracle Real Application Cluster (RAC). Los estudiantes aprenderan a instalar y administrar el OracleClusterware, Real Application Clusters, y Automatic Storage Management. También aprenderán cómo administrar sus bases de datos en un ambiente Real Application Cluster utilizando Enterprise Manager Grid Control. Incremente su eficiencia mediante el aprendizaje de cómo configurar y utilizar los servicios de base de datos así como también el Load Balancing Advisory en un ambiente RAC. Aprenda como agregar y remover nodos en clusters y como parchar el software de Oracle Clusterware y Real Application Clusters en su secuencia adecuada.

Aprenda a:

• Instalar Oracle Clusterware y Real Application Clusters • Administrar una base de datos en RAC • Administrar servicios de base de datos en un ambiente RAC • Administrar Oracle Clusterware • Agretar/Remover un nodo a/de un cluster • Parchar software de Oracle Clusterware y RAC en secuencia adecuada

Retroalimentación, comentarios, temas de interés y sugerencias para hands‐on sessions:  

[email protected] 

Comentarios y Sugerencias:Su opinión es muy importante; si desea hacernos algún comentario o sugerencia,  por favor escríbanos al correo electrónico: [email protected]