miércoles, 23 de marzo de 2011

Documentar, Monitorear y Administrar en ORACLE

Aproveche las nuevas características de Oracle SQL Developer 1.5. Oracle SQL Developer 1.5 presenta una gran cantidad de nuevas funciones. Incluso características que pueden parecer insignificantes a primera vista, pueden ayudarlo con su trabajo diario considerablemente. Esta columna explora las características de Oracle SQL Developer 1.5 que ayudan a documentar y administrar sus objetos y esquemas de Oracle Database. Usted aprenderá a:
  • Compartir fácilmente los detalles de objetos con otros participantes de sus proyectos
  • Utilizar informes instantáneos para obtener detalles sobre las sesiones y espacios de tabla de su base de datos, terminar sesiones y cerrar la base de datos
  • Aprovechar los servicios copiar y exportar para facilitar el trabajo con múltiples esquemas

Comienzo
Los ejemplos de esta columna requieren Oracle SQL Developer 1.5.1. Si tiene instalada la versión de producción de Oracle SQL Developer 1.5, ábrala y utilice Help -> Check For Updates para realizar la actualización en Oracle SQL Developer 1.5.1. De lo contrario, descargue la instalación completa de Oracle SQL Developer 1.5.1 desde OTN y descomprímalo en una nueva carpeta vacía. (No lo descomprima en una carpeta existente de Oracle SQL Developer)
Puede migrar sus conexiones de base de datos y preferencias de Oracle SQL Developer 1.2.x ó 1.5 a Oracle SQL Developer 1.5.1 durante la instalación. Si no desea migrar las preferencias, todavía podrá importar las conexiones de base de datos de cualquier versión anterior después de la instalación. Para importar las conexiones:
  1. Inicie la versión anterior de Oracle SQL Developer
  2. Seleccione Connections en el Navegador de Conexiones
  3. Haga un click derecho y seleccione Export Connections
  4. Busque una ubicación adecuada, ingrese un nombre de archivo como connections.xml, y haga click en Guardar
  5. Cierre la versión anterior e inicie Oracle SQL Developer 1.5.1
  6. Seleccione Connections en el Navegador de Conexiones
  7. Haga un click derecho y seleccione Import Connections
  8. Busque el archivo que acaba de guardar, haga click en Open y en OK
Para esta columna, usted también necesita tener acceso a los esquemas de muestra HR y OE en una instancia Oracle Database.
Generar la Documentación de la Base de Datos
Usted puede generar documentación sobre su esquema en formato HTML para control propio o para compartir con otras personas. Siga estos pasos para generar y ver la documentación del esquema:
  1. Si usted todavía no tiene una conexión al esquema HR, genere uno y denomínelo HR_ORCL. (para obtener información detallada vea “Generar Conexiones de Base de Datos”, en la edición de mayo/junio de 2008 de Oracle Magazine).
  2. Haga un click derecho en la conexión HR_ORCL, y seleccione Generar DB Doc.
  3. Seleccione o genere una ubicación adecuada para los archivos creados, como \working. Si planea compartir los archivos creados con otras personas, utilice una ubicación compartida para servidores de archivos. (Usted también puede mover o copiar los archivos generados).
Un archivo index.html debería abrirse automáticamente en su browser por defecto. Si no es así, navegue en un browser hasta el archivo \working\index.html y ábralo.
Para ver los detalles para cualquier objeto de base de datos en la documentación HTML, seleccione el tipo de objeto en el panel del esquema en la parte superior izquierda. Una lista de todos los objetos de ese tipo aparece en un panel debajo del panel de esquema. Seleccione un objeto para desplegar los detalles en el panel central. Por ejemplo, para desplegar los detalles de la tabla EMPLOYEES, seleccione Tables del panel superior y EMPLOYEES del panel inferior (ver Figura 1).
Figura 1
Figura 1: Documentación generada para el esquema HR
Monitoreo y Administración con Informes
La función View -> Reports de Oracle SQL Developer permite seleccionar varios informes estándar del sistema para ver los detalles de su base de datos y esquemas. Asimismo, para un fácil acceso, hay dos informes disponibles desde el menú Tools y del Navegador de Conexiones, respectivamente. Ambos son adecuados para usuarios privilegiados como SYSTEM o SYS. (usted también puede ejecutarlos como usuario no privilegiado, como HR, con algunas limitaciones)
El informe de Sesiones muestra los detalles de las sesiones actuales activas e inactivas. Siga estos pasos para desplegar el informe de Sesiones:
  1. Genere una nueva conexión denominada SYSTEM_ORCL para el usuario SYSTEM.
  2. Seleccione Tools -> Monitor Sessions.
  3. Seleccione SYSTEM_ORCL en el cuadro de diálogo Select Connection y haga un click en OK para abrir el informe.
Los usuarios privilegiados pueden terminar una sesión desde el informe de Sesiones—por ejemplo, cuando la sesión de un usuario no ha cerrado adecuadamente. (el esquema HR por defecto no puede terminar las sesiones). Si la conexión HR todavía está activa del ejercicio anterior, por ejemplo, seleccione la sesión HR del informe de Sesiones que acaba de generar, presione el botón derecho del mouse y seleccione Kill Session, y haga un click en Apply.
El otro informe disponible en este nivel es el informe Manage Database. Presione el botón derecho del mouse sobre la conexión SYSTEM_ORCL del Navegador de Conexiones, y seleccione Manage Database. El informe muestra detalles de los espacios de tabla de su base de datos. Si usted ejecuta este informe desde una conexión SYS, puede cerrar y reiniciar la base de datos desde Oracle SQL Developer. (el botón de cierre no está disponible para usuarios no privilegiados)
Copiar Objetos a un Esquema Nuevo
Trabajar con múltiples esquemas a menudo implica copiar objetos y sus datos de un esquema a otro. Hay varias maneras de hacer esto en Oracle SQL Developer:
  • Copiar los objetos paso a paso, primero al crear y ejecutar el lenguaje de definición de datos (DDL) para crear la tabla y luego ejecutar una serie de sentencias insert para ingresar los nuevos datos.
  • Usar Table -> Copy para hacer una copia de una tabla con sus datos.
  • Usar Tools -> Database Copy para hacer una copia de una base de datos.
  • Usar el wizard de Exportación de Base de Datos para crear el DDL y las sentencias insert para múltiples tablas y otros objetos de base de datos.
En el siguiente ejercicio, utilizará cada uno de los cuatro métodos para comparar sus ventajas y limitaciones:
  1. Crear una nueva conexión de base de datos denominada OE_ORCL para el esquema OE.
  2. Seleccionar la conexión OE_ORCL y expandir el nodo Tablas.
  3. Hacer click derecho en la tabla CATEGORIES y seleccionar Export DDL -> Save to Worksheet (ver Figura 2).
Figura 2
Figura 2: Exportar DDL en la planilla SQL
El SQL que aparece en la planilla SQL incluye el nombre del esquema OE, de manera que no es adecuado para ejecutar un esquema nuevo. (La sintaxis para este SQL se construye utilizando el paquete DBMS_METADATA y está controlada por una serie de preferencias). Para regenerar el SQL sin el nombre de esquema OE, siga estos pasos:
  1. Seleccione Tools-> Preferences, expanda el nodo Database del árbol, y seleccione ObjectViewer Parameters.
  2. Desmarque las opciones Show Storage y Show Scheme, y marque Show Constraints as Alter.
  3. Haga click en OK.
  4. Limpie la Planilla SQL y repita los pasos anteriores: Presione el botón derecho del mouse sobre la tabla CATEGORIES y seleccione Export DDL -> Save to Worksheet. Tenga en cuenta que el código SQL de la planilla SQL ya no incluye el prefijo OE.
Ahora copie la tabla CATEGORIES y sus datos en el esquema HR_ORCL, siguiendo estos pasos:
  1. Seleccione la conexión HR_ORCL de la lista de Conexiones de la planilla SQL y haga click en Run Script (o presione F5) para ejecutar el DDL en el esquema HR.
  2. Expanda el nodo HR_ORCL y revise la nueva tabla CATEGORIES. Tenga en cuenta que no contiene datos.
  3. Haga un click derecho sobre la tabla CATEGORIES de la conexión OE_ORCL en el Navegador de Conexiones y seleccione Export Data -> Insert.
  4. En el cuadro de diálogo Export Data, envíe los resultados al portapapeles y haga un click en Apply.
  5. Abra una nueva planilla SQL para el usuario HR_ORCL y presione Ctrl-V para pegar los contenidos del portapapeles.
  6. Haga un click en Run Script (o presione F5) para ejecutar el SQL.
  7. Haga un click en el botón Commit (o presione F11) y vea los datos de la tabla CATEGORIES de la conexión HR_ORCL.
Los pasos anteriores solo copian una sola tabla y sus datos. Una alternativa más rápida para copiar un solo objeto y sus datos es el comando Copy del menú de contexto:
  1. Haga un click derecho en la tabla INVENTORIES de la conexión OE_ORCL y seleccione Table -> Copy.
  2. En el cuadro de diálogo Copy, seleccione HR como propietario de la nueva tabla, ingrese INVENTORIES como Nuevo Nombre de Tabla y marque Include Data.
  3. Haga un click en Apply.
  4. Actualice el nodo Tables de la conexión HR_ORCL para ver la nueva tabla INVENTORIES.
Para crear el código DDL para múltiples tablas y sus datos, utilice el wizard Database Export. Para copiar un grupo de tablas del esquema OE al esquema HR, siga estos pasos:
  1. Seleccione Tools -> Database Export. Busque una ubicación de archive adecuada, y acepte el nombre de archive por defecto, export.sql. (Puede establecer un una ruta por defecto para este archive al seleccionar Tools -> Preferences, seleccionar el nodo de base de datos del árbol, y configurar la ruta por defecto Select para almacenar la exportación en las preferencias).
    2. En el wizard Export, seleccione la conexión OE_ORCL y asegúrese de que las opciones Storage y Show Schema estén desmarcadas. Marque Include Drop Statement y Automatically Include Dependent Objects. Haga un click en Next.
    3. En la pantalla Types to Export, desmarque Toggle All y marque Tables y Data. Haga un click en Next.
    4. En la pantalla Specify Objects, debajo de la lista OE, haga un click en Go para completar la lista de tablas que se deben seleccionar. Traslade solo la tabla OE.ORDER_ITEMS al panel que se encuentra a la derecha. Haga un click en Next.
    5. En la pantalla Specify Data, haga un click en Go para completar la lista de tablas. Traslade solo la tabla OE.ORDER_ITEMS al panel que se encuentra a la derecha, y selecciónelo para resaltar la tabla. En el casillero vacío de abajo, ingrese order_id < 2355 y haga un click en Apply Filter (ver Figura 3). Haga click en Next y luego en Finish.
Figura 3
Figura 3: Exportación de la Base de Datos
Tenga en cuenta que el script export.sql que ahora aparece en la planilla SQL incluye tablas adicionales. Esto se debe a que las restricciones, que no están creadas aquí, dependen de estas tablas. También tenga en cuenta el grupo restringido de datos que se brindan.
Seleccione HR_ORCL de la lista de conexiones de la Planilla SQL y ejecute el script. Valide los cambios y luego actualice el nodo HR_ORCL para ver las tablas que el wizard Database Export ha copiado desde el esquema OE_ORCL.
Finalmente, el hecho de utilizar Database Copy en Oracle SQL Developer es una manera altamente eficiente de copiar los objetos a otro esquema. En lugar de producir un script de sentencias insert, Database Copy inserta los datos en las nuevas tablas en segundo plano. Database Copy también copia BLOBs y CLOBs en el nuevo esquema.
Para realizar este ejercicio comparativo, utilice Database Copy a fin de copiar un grupo de objetos en el esquema HR:
  1. Seleccione Tools -> Database Copy. Seleccione OE_ORCL para Source Connection y HR_ORCL para Destination Connection. Tenga en cuenta que las únicas opciones que tiene son crear un objeto nuevo, truncar los datos de objetos existentes (para reemplazarlos con nuevos datos), o eliminar (y reemplazar) los objetos.
  2. Seleccione Truncate Objects, y haga click en Next. Copy Summary indica que todas las tablas serán truncadas. Esto no es lo que desea hacer, entonces haga click en Back, seleccione Create Objects, y haga click en Next. Esto garantizará que los objetos existentes no se eliminen ni sean truncados.
  3. Haga click en Finish.
  4. Revise las tablas y los datos creados en la conexión HR_ORCL.
Database Export y Database Copy difieren de dos maneras significativas. Database Export le permite seleccionar los tipos de objeto a exportar y, dentro de cada categoría, restringir las instancias de objeto individual. Asimismo, con Database Export, usted puede elegir generar sentencias GRANT, incluir sentencias DROP, y crear sentencias INSERT, obteniendo así la capacidad para generar un script que puede volver a ejecutar a voluntad para esquemas nuevos o existentes.
Conclusión
Esta columna ha explorado una variedad de las características incluidas en Oracle SQL Developer 1.5. Usted puede mejorar su productividad con estas nuevas maneras de ver y compartir los detalles de base de datos, monitorear y administrar sesiones, y copiar los objetos de base de datos en todos los esquemas.

No hay comentarios:

Publicar un comentario