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

Transcripción

Métodos de Migración de Base de Datos Oracle (Versión 8 hasta la
Año 2 Volumen 6 – Octubre 2010
Métodos de Migración de Base de Datos
Oracle (Versión 8 hasta la 11)
Por: Juan Luis Rodríguez
[email protected]
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
reports
Teléfono:
(502)2364-5300 Fax: (502)2364-5311
Pagina 1/10
Email. [email protected]
Editores Generales
Karlo Espinoza
Luis Cordón
Gerber Bautista
Debbie Moran
Francisco Barrundia
Autores Contribuyentes
Juan Luis Rodríguez
Deiby Gómez
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.
Daniel Callejas
Francisco Barrundia
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.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 1
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.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 2
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.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 3
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 4
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
LOG=FULL_EXPORT.LOG
FILE=FULL_EXPORT.DMP
FULL=Y
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 5
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 6
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
BUFFER=2097152 LOG=FULL_EXPORT_IMP.LOG
IGNORE=Y
COMMIT=Y
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
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.
Página 7
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.
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:
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
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.
Página 8
•
•
•
•
•
•
•
•
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
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:
•
•
•
•
•
•
•
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
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
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.
objetivo. A continuación presento un cuadro
con características referentes al título de
algunos dispositivos móviles.
Página 9
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
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á
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
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
Página 10
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);
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
" +
Página 11
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/MIDP1.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/MIDP2.0 Configuration/CLDC-1.1
VendorID/125
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
•
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
Página 12
Map
p Viewe
er
Por: Liic. Daniel Calllejas
dcalleja
[email protected]
om.gt
e Map Viewe
er?
¿Que es
MapVie
ewer es un producto de visualización
n de mapas vía web disseñado para trabajar con la
tecnolo
ogía de base de datos lla
amada Oracle
e Spatial. Ora
acle Spatial es
e un compon
nente que vie
ene
incluido
o en la base
e de datos en
e la edición
n Enterprise, y provee ca
apacidades avanzadas
a
pa
ara
soporta
ar Sistemas de Información Geográficco y Solucion
nes Basadass en Localiza
ación. El Oraccle
Fusion
n Middleware
e Mapviewer es un componente java
a del Oracle
e Application Server y una
u
extensión del JDeveloper que es usado para
a el renderiza
ado de mapass y la visualizzación de dattos
geo-refferenciados manejados
m
p Oracle Sp
por
patial. Mapvie
ewer es un componente
c
de capa med
dia
que se
e ejecute en el
e Oracle Mid
ddleware tal como
c
un servvidor de Web
bLogic y que también pue
ede
ser de
esplegado en
n otros conte
enedores J2E
EE como JBo
oss o Tomca
at. Oracle Spatial y Oracle
Mapvie
ewer cumplen
n con los está
ándares intern
nacionales “O
OGC Stardard Specification
n”.
e MapViewer?
?
¿Para que me sirve
Por siglos las persona
as han confia
ado en map
pas para cap
pturar inform
mación y pod
der
m
más grafica
g
inform
mación ambig
gua. MapView
wer nos comp
prueba que una
u
visualizzar de una manera
foto va
ale más que
e mil palabra
as. Nos sirvve para pode
er interpretarr de manera
a ágil y visu
ual,
informa
ación que te
enga referenccia a diferen
ntes lugares en un mapa
a. Esto nos da un enorm
me
potenccial para analizar y entende
er los compon
nentes geográ
áficos de nue
estro negocio..
5a. Ave.. 5-55 Zona14, Edificio
E
Euro Pla
aza Torre II, Niv
vel 12
Teléfono
o: (502)2364-5300 Fax: (502)23
364-5311
Email. in
[email protected]
Página 13
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.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 14
¿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)
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 15
Creación de una plantilla definida por el usuario
Tip técnico del día:
Usted puede crear sus propias plantillas partiendo de
cero, pero esto no es necesario porque muchas plantillas
se
agregan
en
la
instalación.
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:
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.
Create directory TEST as
‘/home4/teach17’
Modificando una platilla
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]
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:
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 16
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
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 17
evo Web Site
Nue
Le invittamos a visita
ar nuestro totalmente nuevo sitio web, una nueva he
erramienta de
e contacto al
servicio
o de nuestros
s clientes. Ing
grese a www
w.datum.com.gt para cono
ocer más sobre nuestros
servicio
os, productos
s, noticias, etcc.
5a. Ave.. 5-55 Zona14, Edificio
E
Euro Pla
aza Torre II, Niv
vel 12
Teléfono
o: (502)2364-5300 Fax: (502)23
364-5311
Email. in
[email protected]
Página 18
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] 5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [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]. Página 19

Documentos relacionados