Entradas

Mostrando las entradas de 2015

30 días - Día 30: Cómo hacer llegar los datos a la web.

Imagen
Se tiene una consulta, se ejecuta una consulta. Ahora, ¿cómo puedo tomar la información y ponerla disponible en un navegador web o aplicación? Exportar como HTML Se puede usar, por supuesto, la opción de exportación de la matriz de resultado. Uso de HINT Se puede usar el Hint /*html*/ (debe estar en minúsculas) para obtener el html fuente. ¡Pero internet requiere más imágenes! Al ingresar la consulta en un nuevo informe definido por el usuario (campo SQL) y configurando el estilo como "Gráfico" sin formatos adicionales, se obtiene lo siguiente: Y al exportar a html y abrirlo se obtiene: Por supuesto, si se desea una construcción completamente html se puede desarrollar una nueva aplicación en APEX con amplia facilidad.

30 Tips - Día 29: Revisión de preferencias.

Imagen
Como las configuraciones de preferencias que ya se han tratado anteriormente y ante nuevas versiones, es importante ojear de nuevo las preferencias y estar atentos a que se mantengan de acuerdo a lo que se requiera para un ambiente siempre más cómodo.

30 Tips - Día 28: Comunidad de desarrollo SQLDev.

Imagen
Es importante aprovechar la comunidad de desarrollo SQL Developer como equipo de herramientas de bases de datos. Allí se encuentra información especializada y directa para preguntas de desarrollo.

30 Tips - Día 27: Oracle Open World.

Imagen
Recientemente la imagen de VirtualBox para desarrolladores ha sido actualizada (12.1.0.2) y se puede descargar dando clic en la siguiente print screen (Oracle Linux 7, Oracle DB 12c, etc.):

30 Tips - Día 26: Teclear desde el editor a los resultados y de vuelta.

Imagen
El uso del mouse puede ser tedioso y durante el desarrollo es necesario el desplazamiento entre el editor y los resultados. Las siguientes combinaciones de teclas ayudan en esta labor: Alt + AvPág = Desplazamiento hacia los resultados (desde el editor). Alt + RePág = Desplazamiento hacia el editor (desde el editor).

30 Tips - Día 25: Importar tablas particionadas a Data Modeler.

Imagen
El particionamiento permite que tablas, índices y tablas organizadas por índices sean subdivididas en piezas más pequeñas y administradas de manera rentable sobre los diferentes medios de almacenamiento  con un nivel más fino de granularidad para mejorar el rendimiento al acceder. Es importante tener en cuenta que el modelo relacional define cómo la data está relacionada. Cómo se encuentra físicamente organizada y almacenada en disco se trata del modelo Físico así que cada modelo se encontrará en su respectiva área de Data Modeler. Teniendo en cuenta que una tabla particionada puede tener cientos o incluso miles de particiones, importar esta información puede tomar un tiempo muy prolongado,  al final del día esto no ayuda a describir cómo la data está definida y relacionada -sólo cómo está organizada en disco. Así se podría desperdiciar una hora para importar las tablas, para nunca ver el modelo físico y su información de particionamiento. Para cambiar esto...

30 Tips - Día 24: Ocultar esquemas que no son propietarios de ningún objeto.

Imagen
Hay aplicaciones que crean cuentas de usuario en la base de datos y no son propietarias de ningún objeto sino que tienen privilegios para consultar al esquema principal, pero nunca son usados para crear tablas, vistas, etc. Basta con aplicar un filtro de manera que sólo puedan visualizarse los esquemas que sean propietarios de más de un objeto.

30 Tips - Día 23: Objetos inválidos.

Imagen
A través de la generación de informes ( Ver: Reportes ) pueden visualizarse todos los objetos inválidos en un esquema y recompilarse omitiendo la búsqueda en el árbol de conexiones u otras consultas. O pueden repararse todos los objetos de un esquema en una sola operación (Configurando "compilar todo" como Falso para que recompile solamente los objetos inválidos):

30 Tips - Día 22: Alternativa de visualización de plan de ejecución. "Todo está en la fuente".

Imagen
Aún con la posibilidad de visualizar la explicación del plan de ejecución en SQL Developer, a veces puede requerirse la obtención del plan "a la antigua". Para una correcta visualización se requiere una fuente de ancho fijo (Preferencias).

30 Tips - Día 21: Ejecución de múltiples sentencias a múltiples conjuntos de datos.

Imagen
Si se tiene más de una consulta y se desean resultados independientes, no es necesario ejecutar una vez por cada consulta y fijar el resultado para que no sea sobre-escrito. Basta con seleccionar el bloque completo y ejecutar para obtenerlos.

30 Tips - Día 20: Ver, Seleccionar y Seguir mensajes de error.

Imagen
Al no visualizar los errores de compilación en la herramienta puede que se esté incurriendo en uno de los siguientes casos: Uso de un editor incorrecto, o No se está solicitando ver los errores. SQL Developer es el IDE PL/SQL para la base de datos. Entonces se requiere, por supuesto, tener aquellas características sofisticadas como un depurador, soporte de mensajes de compilación, etc. Esto está provisto en el Editor de Procedimientos: La selección (Clic) sobre el mensaje de error moverá el cursor al número apropiado de línea y posición del cursor. Se invoca al editor al crear un nuevo objeto PL/SQL, abrir uno existente del árbol de conexiones, o abrir un archivo asociado con el editor (pls, pkl, pkb). Al usar la hoja de trabajo aún pueden visualizarse los mensajes de error (aunque no pueden navegar a través de clic). Se permite el seguimiento a través de Clic sobre errores de Script en la hoja de trabajo al seleccionar (doble clic) sobre el tex...

30 Tips - Día 19: Copias de tabla rápidas y limpias.

Imagen
Pueden considerarse alternativas para crear la copia de una tabla (sin datos) de manera rápida y sencilla, sin embargo, no siempre son las más idóneas. Este tipo de acciones no se recomiendan pues no garantizan un duplicado exacto de la tabla en sus características como índices, particionado, etc. en su lugar se recomienda el uso de una Plantilla. Los objetos relacionados a la tabla son también copiados agregando un uno (1) al nombre y de esta manera se evitan conflictos por nomenclatura y nombramiento.

30 Tips - Día 18: NULLs.

Imagen
Trabajar con ausencia de data puede llegar a ser incómodo -hablando de la visualización de los registros, puede ser complicado identificar cuándo se está viendo una cadena con espacios en blanco o campos NULL. SQL Developer permite facilitar y personalizar la manera de visualizar los campos NULL.

30 Tips - Día 17: Uso de túneles SSH.

Imagen
Necesitas conexión a la Base de Datos, pero, No se puede llegar al servidor directamente, o No hay comunicación con el puerto del servidor. Si sólo hubiese una manera en la que se pudiera traficar  la conexión de la base de datos a través de otra conexión de red que pudiera hacer esas cosas. Bueno, la hay, y se llama Túnel SSH. SSH se comunica por el puerto 22 -por lo que más a menudo no están abiertos en servidores bloqueados. Así que si se puede obtener una conexión SSH, se podría enviar tráfico SQL*Net a través de ella... y al otro lado del túnel, se podrían establecer conexiones a la BD. Ésa no es la descripción más elocuente del concepto pero tenemos Wikipedia  como ayuda. Y estamos asumiendo que todo el que lea esto ya estará íntimamente consciente de los Túneles SSH. En vez de tener que hacerlo fuera de SQL Developer, ahora se pueden definir/crear esos túneles con la herramienta misma. Versión 4.0.3 ... Se define el túnel a nivel de c...

30 Tips - Día 16: Comparación de resultados en memoria con Autotrace.

Imagen
Este tip requiere la versión 4.0.3 de Oracle SQL Developer o superior. Esta característica puede ser encendida entre sentencias SQL para una tabla o lo que sea. Si estas ejecuciones son capturadas con AutoTrace y posteriormente comparadas, podrá visualizarse algo como esto: Recordar: Autotrace sobre la sentencia. Fijar resultados. Autotrace sobre 2da sentencia. Fijar resultados. Clic derecho sobre el panel de resultados del primer AutoTrace y seleccionar "Comparar... con 2". Por supuesto se puede hacer esto en versiones anteriores de la herramienta, pero la característica de comparación no tenía en cuenta las estadísticas en 0. Estas eran removidas antes de la comparación... de todas maneras, la comparación de AutoTrace trabaja mucho mejor ahora.

30 Tips - Día 15: Reportes

Imagen
SQL Developer presta amplias ventajas a través de sus funcionalidades de generación de informes (reportes) que pueden ser conocidas un poco más al detalle en el artículo "Oracle SQL Developer & reporting, Introduction & what's new for version 4.0" que puede consultarse en la imagen (inglés) Algunas cosas de las que se habla: Resumen general. Informe de cuadrícula. Informe de gráfico. Tabla de vista previa en vivo. Reportes hijo.

30 Tips - Día 14: Apertura de objetos con doble-clic.

Imagen
Una de las preferencias predeterminadas en la herramienta es abrir un objeto en cuanto es seleccionado en el árbol de conexión. Cuando se desea arrastrar un objeto a un modelo o a una hoja de trabajo, este flujo es interrumpido y abre el objeto en el editor. Para cambiar esto, se puede deshabilitar la preferencia.

30 Tips - Día 13: Ejecución de Scripts muy extensos.

Imagen
El editor no ha sido diseñado para soportar un gran volúmen de sentencias (ej: 600.000) así que se recomienda la ejecución referenciando un archivo externo con las sentencias y la sintaxis de SQL*Plus (@<archivo>.sql) y ejecutar. Para sentencias en las que no se requiera visualizar el resultado (INSERT, UPDATE, etc.) se puede minimizar la ventana de resultado y eso ayudará a la velocidad de ejecución al no tener que actualizar los mensajes.

30 Tips - Día 12: Ejecución de Scripts.

Imagen
Al tener varias sentencias en la hoja de trabajo, se tienen dos opciones: i) ejecutar cada una de manera individual o, ii) ejecutar todas las sentencias como Script.

30 Tips - Día 11: Poda de árbol.

Imagen
Si no se llevan a cabo tareas como DBA o desarrollador se puede reducir la vista de elementos que se consideran innecesarios en el árbol de la conexión.

30 Tips - Día 10: Comparación lado a lado.

Imagen
Se procuran comparaciones sencillas y cuando se tienen problemas, frecuentemente se requiere saber por qué A no es como B. Planes de Ejecución o Ejecución de Autotrace. Para comparar dos planes de ejecución o dos Trazas, basta con generar cada una, fijarla, dar clic derecho en una y comparar. Revisar objetos, lado a lado. Abrir un objeto, fijarlo, abrir otro, dar clic derecho y seleccionar "Grupo de separadores de nuevo documento". Comparar tablas, definiciones, y cualquier otro objeto. A través del menú "Herramientas\Diferencias de bases de datos" se pueden comparar los objetos de dos bases de datos. Comparar programas y consultas. Al abrir un programa o consulta y compararlo con otro siguiendo el menú "Archivo\Comparar..." se obtiene una comparación en paralelo identificando diferencias gráficamente.  

30 Tips - Día 9: Sólo se necesita correr una copia a la vez.

Imagen
Si la conexión está ocupada y es necesario ejecutar otra consulta, basta con presionar CTRL+Shift+N en una hoja de trabajo y se abrirá otra con una nueva conexión sobre la que podrá se podrá correr el nuevo query. Se reconocerá por el símbolo "más" (+).

30 Tips - Día 8: Uso del Carro para construir Scripts de despliegue.

Imagen
Para aquellos casos en los que sea necesario replicar algún(os) objetos en otro lugar y que pueda ser codificado/programado. Tomando como ejemplo la construcción de un ambiente de desarrollo con base en objetos ya existentes, el Carro puede brindar una ayuda significativa. Pueden agregarse Scripts adicionales: Script inicial -se ejecuta primero para configurar el ambiente. Script para cada objeto Script antes de crear. Script después de finalizar. Script antes de poblar/insertar. Script después de poblar/insertar. Script final -se ejecuta después de que todo lo demás haya finalizado. Posteriormente, el Carro puede ser guardado como xml o exportado como Script SQL Nota: Ante grandes volúmenes de información se recomienda el uso de otras herramientas como SQL*Loader.

30 Tips - Día 7: Preferencias de tamaño de la matriz de captura.

Imagen
Por defecto, al ejecutar una sentencia (no script de sentencia) , la matriz retorna conjuntos de registros de 50 filas, este valor puede configurarse según se requiera (excepcionalmente) dado que cada vez que se avance al siguiente conjunto, el cliente tendrá que recurrir de nuevo a la base de datos. De manera que puede solicitarse el retorno de una cantidad mayor o menor de registros. Ejemplo: Sentencia cuya cantidad de registros supera las 1000 filas (en cada scroll down retorna más registros). Esta característica resulta bastante útil cuando se trabaja con un rango de registros bastante pesado  -como LOBs, de manera que tendrá que afinarse para recibir MENOS datos y disminuir la carga de la memoria.