Preparación para el examen 730 Fundamentos DB2 9, Parte 3: Accediendo a datos DB2

Este tutorial le ofrece una introducción a los objetos que constituyen una base de datos DB2 y los diferentes factores que afectan la forma en que se crea la base de datos. Después de una breve introducción a objetos DB2, examinaremos las diferentes herramientas para crear, acceder y manipular objetos DB2. Este es el tercero de una serie de siete tutoriales que le ayudarán a prepararse para el examen 730 sobre Fundamentos DB2® 9 para Linux®, UNIX®y Windows™ .

George Baklarz, DB2 Technical Pre-Sales Support, IBM

George BaklarzGeorge Baklarz, es licenciado en matemática y máster en Ciencias de la computación. Él es gestor en el Grupo Mundial de Soporte Pre-ventas DB2. Cuenta con más de veintiuno años de experiencia con DB2 UDB y ha sido co-autor de DB2 UDB Version 8.1 Database Administration Certification Guide (Prentice-Hall, 2003), DB2 Version 8: The Official Guide (Prentice-Hall, 2003) y Apache Derby -- Off to the Races (Prentice-Hall, 2005). En su tiempo libre enseña teoría de bases de datos en la Universidad de Guelph y se presenta en una variedad de conferencias, incluyendo el International DB2 Users Group. Puede contactar a George, cuando no está viajando en baklarz@yahoo.com.



06-02-2012

Antes de comenzar

Sobre esta serie

¿Está pensando en obtener la certificación en fundamentos DB2 (Examen 730)? Si es así, ha llegado al lugar correcto. Esta serie de siete tutoriales de preparación para la certificación en DB2 cubre todo los temas—básicos que necesitará entender antes de leer la primera pregunta del examen. Incluso si usted no está pensando en obtener la certificación justo ahora, este conjunto de tutoriales es un excelente lugar para comenzar a saber qué hay de nuevo en DB2 9.

Acerca de este tutorial

Este tutorial es el tercero de una serie de siete tutoriales que pueden ayudarle a prepararse para la Certificación en Fundamentos DB2 9 (Examen 730). El material de esta tutorial principalmente cubre los objetivos de la Sección 3 de la prueba (vea Recursos para más información).

La instalación DB2 no se cubre en este tutorial. Si todavía no lo ha hecho, le recomendamos especialmente que descargue e instale una copia de IBM DB2 Express-C (vea Recursos). Instalar DB2 le ayudará a entender muchos de los conceptos que se prueban en el examen de Certificación en Fundamentos DB2 9.

Después de haber instalado el producto DB2 usted deseará obtener una base de datos que esté funcional y operando, tan rápido como sea posible. Este tutorial le ofrece una introducción a los objetos que constituyen una base de datos DB2 y a los diferentes factores que afectan la forma en que se crea la base de datos. Después de una breve introducción a los objetos DB2, examinaremos las diferentes herramientas para crear, acceder y manipular objetos DB2.

Objetivos

Después de completar este tutorial, usted deberá estar en capacidad de:

  • Crear usted mismo(a) una base de datos DB2
  • Catalogarla para que otros usuarios la utilicen
  • Examinar y manipular los objetos que hay al interior de esa base de datos.

Requisitos previos

El proceso de instalar DB2 no se cubre en este tutorial. Si todavía no lo ha hecho, le recomendamos especialmente que descargue e instale una copia de DB2 Express-C (vea Recursos). Instalar DB2 le ayudará a entender muchos de los conceptos que se prueban en el examen de Certificación en Fundamentos de la Familia DB2 9. Si lo necesita, el IBM Support Portal for DB2 LUW tiene recursos para ayudarle con el proceso de instalación (vea Recursos).

Requisitos de sistema

Usted no necesita tener una copia DB2 para completar este tutorial. No obstante, aprovechará mejor el tutorial si descarga la versión gratuita de prueba de IBM DB2 9 para trabajar conjuntamente con este tutorial (vea Recursos).


¿Qué constituye una base de datos DB2?

Los recursos lógicos, físicos y de desempeño de una base de datos

Una base de datos DB2 en realidad está formada por un conjunto de objetos. Desde la perspectiva del usuario, una base de datos es una colección de tablas que normalmente se relaciona de alguna forma.

Desde la perspectiva de un administrador de base de datos (DBA, ese es usted), es un poco más complicado que eso. La base de datos real contiene muchos de los siguientes objetos físicos y lógicos:

  • Tablas, vistas, índices y esquemas
  • Bloqueos, accionadores, procedimientos almacenados y paquetes
  • Agrupaciones de almacenamiento intermedio, archivos de registro y espacios de tabla

Algunos de estos objetos, como las tablas y las vistas, ayudan a determinar cómo están organizados los datos. Otros objetos, como los espacios de tabla, se refieren a la implementación física de la base de datos. Finalmente, algunos objetos como las agrupaciones de almacenamiento intermedio y otros objetos de memoria, solo se relacionan con cómo se administra el desempeño de la base de datos.

El DBA primero debe concentrarse en la implementación física de la base de datos, más que en considerar todas las combinaciones posibles de parámetros y objetos. ¿Cómo crea usted una base de datos y cómo asigna el espacio en disco requerido para eso? Para responder adecuadamente a esa pregunta usted necesita conocer sobre los objetos básicos de la base de datos y cómo se correlacionan con el almacenamiento físico en disco.

El modelo de almacenamiento DB2

El DB2 tiene tanto un modelo lógico como uno físico para manejar los datos. Los datos efectivos con los que tratan los usuarios se encuentran en tablas. Aunque las tablas pueden estar conformadas por columnas y filas, el usuario no conoce la representación física de los datos. A este hecho se le llama algunas veces la independencia física de los datos.

Por su parte, las tablas se ubican en espacios de tabla. Un espacio de tabla es usado como una capa entre la base de datos y los objetos de contenedor que contienen los datos de la tabla efectiva. Un espacio de tabla puede contener más de una tabla.

Un contenedor es un dispositivo físico de almacenamiento. Este puede identificarse por un nombre de directorio, un nombre de dispositivo, o un nombre de archivo. Un contenedor es asignado a un espacio de tabla. Un espacio de tabla puede abarcar muchos contenedores, lo cual significa que usted puede superar limitaciones de sistema operativo que puedan limitar la cantidad de datos que puede contener un contenedor. La relación entre todos estos objetos se ilustra en la siguiente figura.

Figura 1. Modelo de almacenamiento DB2
Modelo de almacenamiento DB2

Aunque una tabla es el objeto básico que se ubica dentro del espacio de tabla, los DBA deben estar al tanto de los objetos adicionales que hay dentro del sistema DB2 y sobre cómo están correlacionados con un espacio de tabla.

Tablas índices, campos extensos y espacios de tabla

Las tablas, los índices y los espacios extensos (llamados algunas veces objetos binarios grandes o BLOBs) son objetos que se crean dentro de una base de datos DB2. Estos objetos se correlacionan con un espacio de tabla que a su vez se correlaciona con el almacenamiento físico en disco.

Una tabla es un conjunto de registros de datos sin orden. Consiste en columnas y filas que generalmente se conocen como registros. Las tablas pueden ser permanentes (base), temporales (declaradas) temporales (derivadas). Desde la perspectiva del DBA, el espacio se asigna para cada uno de estos objetos de tabla, pero en diferentes espacios de tabla.

Un índice es un objeto físico que está asociado con una tabla individual. Los índices se utilizan para imponer el carácter único dentro de una tabla (esto es, para garantizar que no haya valores duplicados) y para mejorar el desempeño cuando se está recuperando información. Usted no necesita índices para ejecutar sus enunciados SQL (Structured Query Language); Sin embargo, ¡sus usuarios apreciarán su previsión al crear algunos de ellos para agilizar el procesamiento de consultas!

Un campo extenso (o BLOB) es un tipo de datos que se encuentra en una tabla. Este tipo de datos normalmente está compuesto por datos no estructurados (una imagen, un documento, un archivo de audio) y normalmente contiene una cantidad significativa de información. Almacenar este tipo de datos dentro de una tabla podría conducir a costos adicionales excesivos al momento de eliminar, insertar y manipular estos objetos. En lugar de almacenarlos directamente en la fila de la tabla, se almacena un apuntador que se enlaza con un punto de un espacio de tabla Grande (conocido anteriormente como un espacio de tabla de Campo Grande). Los DBA necesitan estar alerta a este tipo de datos, para que puedan crear los espacios de tabla apropiados para que contengan estos objetos.

Otro tipo especial de datos es el XML (eXtensible Markup Language). El XML es un tipo de datos que puede ser almacenado en una fila o en un espacio de tabla aparte similar a los objetos BLOB. El tipo de datos XML es único en cuanto a que puede abarcar múltiples páginas de una tabla, mientras que otros tipos de datos deben permanecer en la misma página que la fila. Un DBA necesitará trabajar con los diseñadores de aplicación para determinar si los objetos XML que se están almacenando en la tabla deben mantenerse en páginas regulares (datos) o puestos en sus propios espacios de tabla separados. Si la recuperación de información es un factor crítico, el DBA debe usar un tamaño de página grande y mantener las columnas XML en el mismo espacio de tabla que los datos regulares.

Armado(a) con el conocimiento de estos diferentes tipos de objeto ahora usted está listo(a) para determinar los tipos de espacio que usted necesita asignar.

Espacios de tabla DMS y SMS

Los espacios de tabla son la capa lógica entre la base de datos y las tablas almacenadas en esa base de datos. Los espacios de tabla se crean dentro de una base de datos y las tablas se crean dentro de espacios de tabla. El DB2 soporta tres tipos de espacios de tabla:

  • System-Managed Space (SMS): Aquí, el administrador de sistema de archivos del sistema operativo asigna y administra el espacio. Antes de DB2 9, crear una base de datos o espacio de tabla sin ningún parámetro daría como resultado que todos los espacios de tabla se crearan como objetos SMS.

  • Database-Managed Space (DMS): Aquí, el gestor de base de datos controla el espacio de almacenamiento. Este espacio de tabla es, en esencia, una implementación de un sistema de archivos de propósito especial, diseñado para satisfacer mejor las necesidades del gestor de base de datos.

  • Almacenamiento automático con DMS: El almacenamiento automático realmente no es un tipo separado de espacio de tabla sino una forma diferente de manejar el almacenamiento DMS. Los contenedores DMS requieren más mantenimiento (vea la siguiente sección) y el Almacenamiento Automático se introdujo en el DB2 V8.2.2 como una forma de simplificar la administración de espacio.

Los espacios de tabla SMS requieren muy poco mantenimiento. No obstante, los espacios de tabla SMS ofrecen menos opciones de optimización y pueden no desempeñarse tan bien como los espacios de tabla DMS.

Así que, ¿cuál diseño de espacio de tabla elegiría usted?

SMS, DMS, y almacenamiento automático

Aunque la siguiente tabla no es exhaustiva, contiene algunas cosas para que usted considere cuando esté decidiendo entre espacios de tabla SMS, DMS y de almacenamiento automático.

Tabla 1. Comparando espacios de tabla SMS, DMS y de almacenamiento automático
RecursoSMSDMSAlmacenamiento automático
¿Escritura en bandas?
Tipo predeterminado Versión 8 No Versión 9
Administración de objeto Sistema operativo DB2 DB2
Asignación de espacio Crece/se contrae on-demand Pre-asignado; el tamaño puede aumentar o se puede contraer, pero requiere de la intervención del DBA. Pre-asignado; puede crecer automáticamente.
Facilidad de administración Mejor; requiere poca o ninguna optimización Buena, pero requiere algo de optimización (p. ej., EXTENTSIZE PREFETCHSIZE ) Mejor; requiere poca o ninguna optimización
Desempeño Muy bueno Mejor; puede lograr entre un 5 y un 10% de ventaja sobre contenedores brutos Mejor; aunque no puede usar contenedores brutos
Tamaño máximo de espacio en tabla 64GB (Página de 4K) 2TB (Página de 4K) 2TB (Página de 4K)

Además de la administración simplificada usando espacios de tabla SMS, la diferencia más significativa entre los dos modelos de almacenamiento es el tamaño máximo de un espacio de tabla. Usando SMS, el DBA está limitado a ubicar un máximo de 64GB en un espacio de tabla. Esta cantidad se puede aumentar cambiando el tamaño de página a 32K (512GB), a cambio de la posibilidad de tener menos espacio utilizable en una página. Pasar a un modelo DMS aumentará el límite de espacio de tabla a 2TB con un tamaño de página de 4K. La cantidad de almacenamiento disponible puede crecer hasta 16TB con un tamaño de página de 32K. Aunque hay otras formas de aumentar el tamaño de una tabla más allá del límite de 64GB, el enfoque más simple sería usar espacios de tabla DMS inicialmente.

DMS y el almacenamiento automático

El DB2 Versión 8.2.2 introdujo la noción de ALMACENAMIENTO AUTOMÁTICO. El almacenamiento automático permite al DBA configurar la base de datos con rutas de almacenamiento que se pueden usar para la creación de todo el contenedor de espacio de tabla. En lugar de que el DBA tenga que codificar explícitamente la ubicación y el tamaño de los espacios de tabla, el sistema los asignará automáticamente. En DB2 9, las bases de datos se crearán con almacenamiento Automático, a menos que el DBA explícitamente altere esta configuración.

Las bases de datos que son activadas para almacenamiento automático tienen un conjunto de una o más rutas de almacenamiento asociadas a ellas. Un espacio de tabla puede definirse como "administrado por almacenamiento automático" y sus contenedores asignados y definidos por DB2, con base en esas rutas de almacenamiento. Una base de datos solo puede ser activada para almacenamiento automático cuando se cree por primera vez. Usted no puede activar el almacenamiento automático para una base de datos que originalmente no haya sido definida para usarlo. De forma similar, usted no puede desactivar el almacenamiento automático para una base de datos que originalmente haya sido diseñada para usarlo.

La siguiente tabla resume algunas de las diferencias entre administrar almacenamiento no automático y almacenamiento automático:

Tabla 2. Comparando almacenamiento no automático con almacenamiento automático
RecursoAlmacenamiento no automáticoAlmacenamiento automático
Creación de contenedor Los contenedores deben ser proporcionados explícitamente cuando se cree el espacio de tabla. Los contenedores no pueden ser proporcionados explícitamente cuando se crea el espacio de tabla; estos serán definidos y se asignados automáticamente por el DB2.
Cambio de tamaño de contenedor El cambio de tamaño automático de espacios de tabla está desactivado (AUTORESIZE NO) de forma predeterminada. El cambio de tamaño automático de espacios de tabla está activado (AUTORESIZE YES) de forma predeterminada.
Tamaño inicial El tamaño inicial del espacio de tabla no se puede especificar usando la cláusula INITIALSIZE. El tamaño inicial del espacio de tabla se puede especificar usando la cláusula INITIALSIZE.
Modificación de contenedor Las operaciones de contenedor pueden llevarse a cabo usando el enunciado ALTER TABLESPACE (ADD, DROP, BEGIN NEW STRIPE SET, y demás). Las operaciones de contenedor no se pueden llevar a cabo porque el DB2 está en controla la administración de espacio.
Facilidad de administración Se puede utilizar una operación de restauración dirigida para redefinir los contenedores asociados al espacio de tabla. No se puede utilizar una operación de restauración dirigida para redefinir los contenedores asociados al espacio de tabla, porque el DB2 controla la administración de espacio.

La principal razón para la introducción del modelo de almacenamiento automático era simplificar la administración de espacios de tabla DMW mientras se conservaban las características de desempeño. Habrá situaciones en las que el DBA deba definir todas las características de los espacios de tabla que se están usando, pero muchas aplicaciones se beneficiarán de la administración reducida requerida con Almacenamiento Automático.

Resumen del modelo de almacenamiento DB2

Hemos cubierto bastante terreno en esta sección. Vamos a resumir lo que hemos aprendido sobre las bases de datos DB2.

  • Una base de datos es una colección de objetos, lo cual incluye tablas, índices, vistas y objetos extensos.
  • Estos objetos se almacenan en espacios de tabla, que a su vez están formadas por contenedores.
  • Los espacios de tabla pueden ser administrados por el sistema operativo (SMS) o por el DB2 (DMS, Almacenamiento Automático).
  • Usted decide qué tipo de espacio de tabla utilizar principalmente con base en factores de desempeño y mantenimiento.

Ahora que usted es experto(a) en los diferentes tipos de espacios de tabla, es hora de que cree su primera base de datos. La siguiente sección le mostrará cómo.


Creando su primera base de datos

First Steps

Como parte del proceso de instalación del DB2, el panel First Steps se muestra permitiéndole al usuario generar un número de bases de datos de muestra con las cuales trabajar:

Figura 2. Panel First Steps del DB2
Panel First Steps del DB2

Seleccionar la opción Database Creation mostrará un menú adicional para permitirle crear la base de datos SAMPLE, de muestra.

Figura 3. Panel Create Database
Panel Create Database

La mayoría de usuarios desearán crear la base de datos SAMPLE y usarla para explorar los recursos del DB2. Este panel puede invocarse seleccionando First Steps desde la carpeta Setup Tools en el grupo Program del DB2 (en entornos Windows). Adicionalmente, emitir el comando db2sampl desde un prompt de línea de comandos también generará la base de datos SAMPLE.

En cuanto el botón SAMPLE haya sido seleccionado, aparecerá un panel adicional para determinar dónde se creará la base de datos SAMPLE.

Figura 4. Panel de creación de base de datos SAMPLE
Panel de creación de base de datos SAMPLE

Cuando esté creando la base de datos SAMPLE, se recomienda que seleccione la opción XML and SQL objects and data . Esta opción generará la base de datos en formato UTF-8 (Unicode) lo cual le permitirá manipular objetos XML. Si usted no selecciona la opción XML, no podrá añadir objetos XML a su base de datos SAMPLE.

Para más información sobre la herramienta First Steps, consulte los primeros tutoriales de esta serie.

Pasemos a crear una base de datos DB2 sin usar una GUI.

Mi primera base de datos real

Crear una base de datos DB2 desde una línea de comandos es relativamente simple. Para crear una base de datos usted debe invocar el DB2 Command Line Processor (CLP). Esto se puede lograr seleccionando Command Line Processor de la carpeta Command Line Tools en el DB2 Program Group (ver la siguiente figura), o ejecutando el comando db2cmd db2 desde una línea de comandos del sistema operativo. (Para más información sobre el Command Line Processor, consulte el primer tutorial de esta serie).

Figura 5. Seleccione Command Line Processor
Seleccione Command Line Processor

La sintaxis para crear una base de datos DB2 es la siguiente:

CREATE DATABASE MY1STDB

"¿Eso es todo?" se preguntará... ¡Eso es todo! El único elemento que se requiere como parte del comando CREATE DATABASE es el nombre de la base de datos. Las reglas para el nombre de la base de datos son:

  • El nombre de la base de datos puede contener los siguientes caracteres: a-z, A-Z, 0-9, @, # y $.

  • El primer caracter debe ser un caracter alfabético, @, # o $; no puede ser un número n i las secuencias de letras SYS, DBM ni IBM.

  • Un nombre de base de datos o alias de base de datos es una cadena de caracteres única que contiene entre uno y ocho letras, números o caracteres de teclado del conjunto descrito arriba.

Desde luego, existen muchas otras opciones disponibles para usted; no solo necesita ingresar un nombre. Vamos a examinar lo que en realidad ha pasado como resultado de este comando.

¿Qué fue lo que creó DB2?

Cuando usted emitió el comando CREATE DATABASE, DB2 creó un número de archivos. Estos archivos incluyen archivos de registro, información de configuración, archivos de historial y tres espacios de tabla. Estos espacios de tabla son:

  • SYSCATSPACE: Aquí es donde se mantiene el catálogo de sistema DB2, el cual hace seguimiento de los metadatos asociados con objetos DB2.
  • TEMPSPACE1: Es un área de trabajo temporal donde DB2 puede poner resultados inmediatos.
  • USERSPACE1: Es un lugar donde residen todos los objetos de usuario (tablas, índices) de forma predeterminada.

Todos estos archivos se ubican en el directorio DB2 que se encuentra en su unidad predeterminada. La unidad predeterminada normalmente se encuentra en el volumen en el que haya instalado el producto DB2.

Para aplicaciones simples, esta configuración predeterminada puede ser suficiente para sus necesidades. No obstante, tal vez usted desee cambiar la ubicación de sus archivos de base de datos, o cambiar la forma en la que el DB2 administra estos objetos. Luego exploraremos más detalladamente el comando CREATE DATABASE.

Un anuncio especial para las personas que están migrando desde DB2 Versión 8: Antes del DB2 9, un comando CREATE DATABASE creará espacios de tabla SMS para todos los objetos listados arriba. En DB2 9, todos los espacios de tabla serán definidos como espacios de tabla de Almacenamiento Automático (DMS).

El comandoCREATE DATABASE

La sintaxis completa del comando DB2 CREATE DATABASE puede encontrarse en la Referencia de Comandos DB2, pero el siguiente diagrama ilustra la mayoría de opciones en las que un DBA estaría interesado.

Listado 1. Comando CREATE DATABASE
>>-CREATE--+-DATABASE-+-database-name-+----------------------+-->
           '-DB-------'               '-| Database options |-'
Listado 2. Opciones de base de datos
Create Database options:
 
|--+----------------------------+------------------------------->
   '-AUTOMATIC STORAGE--NO|YES--'
>--+---------------------------------------------+-------------->
   |     .-,---------.                           |
   |     V           |                           |
   '-ON----+-path--+-+--+----------------------+-'
           '-drive-'    '-DBPATH ON--+-path--+-'
                                     '-drive-'
>--+-----------------------+------------------------------------>
   '-ALIAS--database-alias-'
>--+----------------------------------------------+------------->
   '-USING CODESET--codeset--TERRITORY--territory-'
>--+-----------------------------------+------------------------>
   |                .-SYSTEM---------. |
   '-COLLATE USING--+-COMPATIBILITY--+-'
                    +-IDENTITY-------+
                    +-IDENTITY_16BIT-+
                    +-UCA400_NO------+
                    +-UCA400_LSK-----+
                    +-UCA400_LTH-----+
                    '-NLSCHAR--------'
 
>--+---------------------------------------+-------------------->
   '-CATALOG TABLESPACE--| tblspace-defn |-'
>--+------------------------------------+----------------------->
   '-USER TABLESPACE--| tblspace-defn |-'
>--+-----------------------------------------+------------------>
   '-TEMPORARY TABLESPACE--| tblspace-defn |-'
Listado 3. Definición de espacio de tabla
tblspace-defn:
 
|--MANAGED BY--------------------------------------------------->
 
                      .-,------------------.
                      V                    |
>--+-SYSTEM USING--(----'container-string'-+--)--------------------------------+-->
   |                    .-,-----------------------------------------------.    |
   |                    V                                                 |    |
   +-DATABASE USING--(----+-FILE---+--'container-string'--number-of-pages-+--)-+
   |                      '-DEVICE-'                                           |
   '-AUTOMATIC STORAGE---------------------------------------------------------'
 
>--+-----------------------------+------------------------------>
   '-EXTENTSIZE--number-of-pages-'
>--+-------------------------------+---------------------------->
   '-PREFETCHSIZE--number-of-pages-'
>--+---------------------+--+---------------------------------+->
   '-AUTORESIZE--+-NO--+-'  '-INITIALSIZE--integer--+-K|M|G-+-'
                 '-YES-'                            
>--+------------------------------------+----------------------->
   '-INCREASESIZE--integer--+-PERCENT-+-'
                            '-+-K|M|G-'
>--+-------------------------------+----------------------------|
   '-MAXSIZE--+-NONE-------------+-'
              '-integer--+-K|M|G-'

En las siguientes secciones usted aprenderá cuáles son estas diferentes opciones y cómo puede usarlas.

Ubicación de base de datos

Uno de los parámetros del comando CREATE DATABASE es la opción ON path/drive . Esta opción le dice al DB2 dónde desea crear usted la base de datos. Si la ruta no es especificada, la base de datos es creada en el valor predeterminado de ruta de base de datos especificado en las configuraciones del parámetro Database Manager (DFTDBPATH ).

Figura 6. Pantalla de configuración DBM
Pantalla de configuración DBM

Por ejemplo, el siguiente comando CREATE DATABASE pone la base de datos en el directorio TEST en la unidad D: de un sistema operativo Windows:

CREATE DATABASE MYDB ON D:\TEST

Seleccionar almacenamiento automático (el predeterminado) permite al DBA configurar la base de datos con rutas de almacenamiento que puedan ser usadas para la creación de todo el contenedor de espacio de tabla. En lugar de que el DBA tenga que codificar explícitamente la ubicación y el tamaño de los espacios de tabla, el sistema los asignará automáticamente. Por ejemplo, el siguiente enunciado de creación de base de datos configurará almacenamiento automático para todos los espacios de tabla de la base de datos.

Listado 4. Enunciado de creación de base de datos
CREATE DATABASE TEST 
	AUTOMATIC STORAGE ON 
	/db2/storagepath001,
	/db2/storagepath002,
	/db2/storagepath003
	AUTORESIZE YES 
	INITIALSIZE 300 M
	INCREASESIZE 75 M
	MAXSIZE NONE

Después de la opción AUTOMATED STORAGE ON se muestran tres directorios de archivos (rutas). Estas tres rutas son las ubicaciones donde residen los contenedores de un espacio de tabla. El resto de las opciones son:

  • AUTORESIZE YES

    En el evento en que a un espacio de tabla se le agote el espacio, el sistema extenderá automáticamente el tamaño de los contenedores.

  • INITIALSIZE 300 M

    Cualquier espacio de tabla definido sin tamaño inicial se predeterminará a 300 MB de tamaño. Los contenedores serán cada uno de 100 MB de tamaño (existen tres rutas de almacenamiento).

  • INCREASESIZE 75 M (o %)

    En el evento en que al espacio de tabla se le agote el espacio, el espacio total del espacio de tabla será aumentado en 75 M de tamaño. También se puede especificar un porcentaje, en cuyo caso el espacio de tabla se aumentará en tamaño como un porcentaje de su tamaño actual.

  • MAXSIZE NONE

    El tamaño máximo del espacio de tabla será ilimitado. Si el DBA desea poner un límite a cuánto almacenamiento puede tener un espacio de tabla, pueden hacerlo especificando un valor máximo.

Cuando un espacio de tabla se define usando AUTOMATIC STORAGE, no se necesita suministrar ningún parámetro adicional:

CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;

Cualquiera de los parámetros asociados con un espacio de tabla pueden ingresarse en este comando; no obstante, el uso de almacenamiento automático puede simplificar considerablemente la rutina de mantenimiento de espacios de tabla. Los espacios de tabla asociados con tablas grandes críticas de producción probablemente requerirán más intervención del DBA.

Cuando se está creando un espacio de tabla en una base de datos que no esté habilitada para almacenamiento automático, se debe especificar la cláusula MANAGED BY SYSTEM o MANAGED BY DATABASE. Usar estas cláusulas da como resultado la creación de un espacio de tabla tipo espacio administrado por sistema (SMS) o un espacio de tabla tipo espacio administrado por base de datos (DMS), respectivamente. En ambos casos se debe proporcionar una lista de contenedores.

Si una base de datos está habilitada para almacenamiento automático, existe otra opción. Se puede especificar la cláusula MANAGED BY AUTOMATIC STORAGE, o se puede omitir la cláusula MANAGED BY completamente (lo cual implica almacenamiento automático). En este caso no se suministran definiciones de contenedor porque el DB2 asigna los contenedores automáticamente.

Páginas de código y órdenes de clasificación

Una página de código de caracteres está asociada con todos los tipos de datos de caracter DB2 (CHAR, VARCHAR, CLOB, DBCLOB). Se puede pensar en una página de código como una tabla de referencia usada para convertir datos alfanuméricos en los datos binarios que están almacenados en la base de datos. Una base de datos DB2 solo puede usar una página de código. La página de código se establece durante el comando CREATE DATABASE usando las opciones CODESET y TERRITORY. La página de códigos puede usar un byte individual para representar un caracter alfanumérico (un solo byte puede representar 256 elementos únicos) o múltiples bytes.

los idiomas como el inglés contienen relativamente pocos caracteres únicos; por lo tanto, una página de código de byte individual es suficiente para almacenar datos. Idiomas como el japonés requieren más de 256 elementos para representar todos sus caracteres únicos; por lo tanto requieren páginas de códigos multi-bytes (normalmente páginas de doble byte).

De forma predeterminada, el orden de clasificación de una base de datos se define de acuerdo al conjunto de códigos usado en el comando CREATE DATABASE. Si usted especifica la opción COLLATE USING SYSTEM, los valores de los datos son comparados con base en el TERRITORY especificado por la base de datos. Si se usa la opción COLLATE USING IDENTITY , todos los valores se comparan usando su representación binaria de forma byte por byte.

La Guía de Administración DB2 lista los diferentes códigos de página que hay disponibles cuando se crea una base de datos. en la mayoría de las instancias, un DBA dejará este valor predeterminado en el mismo que la página de códigos del sistema operativo en el que se ejecutará la base de datos.

Un aviso especial para aquellas aplicaciones que requieran del uso de datos XML. Actualmente el DB2 solo soporta columnas XML en una base de datos que haya sido definida como Unicode (UTF-8). Si una base de datos no ha sido creada con soporte Unicode, esta no podrá hacer que se creen columnas XML en su interior.

Definiciones de espacio de tabla

Cada uno de nuestros tres espacios de tabla (SYSCATSPACE, TEMPSPACE1, USERSPACE1)es creado automáticamente en el directorio predeterminado (palabra clave ON) a menos que usted especifique su ubicación. Para cada espacio de tabla el DBA puede especificar las características del sistema de archivos que el espacio de tabla debe usar.

Los tres espacios de tabla se definen usando la siguiente sintaxis:

Listado 5. Definiciones de espacio de tabla
>--+---------------------------------------+--------------------> 
   '-CATALOG TABLESPACE--| tblspace-defn |-'
  
>--+------------------------------------+-----------------------> 
   '-USER TABLESPACE--| tblspace-defn |-'
  
>--+-----------------------------------------+------------------>
   '-TEMPORARY TABLESPACE--| tblspace-defn |-'

Si se omite cualquiera de estas palabras clave, DB2 utilizará los valores predeterminados para generar espacios de tabla. La definición de espacios de tabla sigue estas opciones y tiene la siguiente sintaxis:

Listado 6. Opciones de definición de espacio de tabla
|--MANAGED BY--------------------------------------------------->
  
                      .-,------------------.
                      V                    |
>--+-SYSTEM USING--(----'container-string'-+--)--------------------------------+-->
   |                    .-,-----------------------------------------------.    |
   |                    V                                                 |    |
   '-DATABASE USING--(----+-FILE---+--'container-string'--number-of-pages-+--)-'
                          '-DEVICE-'
  
>--+-----------------------------+------------------------------> 
   '-EXTENTSIZE--number-of-pages-'
  
>--+-------------------------------+----------------------------> 
   '-PREFETCHSIZE--number-of-pages-'

Note que la anterior sintaxis no incluye las opciones asociadas con las bases de datos de Almacenamiento Automático.

Observemos esta sintaxis detalladamente. La opción MANAGED BY le dice al DB2 que genere estos espacios de tabla y que determine cómo se administrará el espacio. Los espacios de tabla SMS usan la palabra claveSYSTEM USING, así:

SYSTEM USING ('container string')

Para un espacio de tabla SMS, container string identifica uno o más contenedores que pertenecerán al espacio de tabla y dentro de los cuales se almacenarán los datos del espacio de tabla. Cada cadena de caracteres de contenedor puede ser un nombre de directorio absoluto o relativo. El nombre de directorio, si no es absoluto, es relativo al directorio de base de datos. Si algún componente del nombre del directorio no existe, este es creado por el gestor de base de datos. El formato de la cadena de caracteres del contenedor depende del sistema operativo.

Los espacios de tabla DMS están definidos con la palabra clave DATABASE USING:

DATABASE USING ( FILE/DEVICE 'container string' number of pages )

Para un espacio de tabla DMS, la cadena de caracteres del contenedor identifica uno o más contenedores que pertenecerán al espacio de tabla y dentro de los cuales se almacenarán los datos del espacio de tabla. El tipo del contenedor ( FILE ni DEVICE ) y su tamaño (en páginas PAGESIZE ) son especificados. El tamaño también puede ser especificado como un valor entero seguido por K (por kilobytes), M (por megabytes) o G (por gigabytes). Usted puede especificar una mezcla de contenedores FILE y DEVICE.

Para un contenedor FILE, la cadena de caracteres de contenedor debe ser un nombre de archivo absoluto o relativo. El nombre de archivo, si no es absoluto, es relativo al directorio de base de datos. Si algún componente del nombre del directorio no existe, este es creado por el gestor de base de datos. Si el archivo no existe, será creado e inicializado con el tamaño especificado por el gestor de base de datos. Para un contenedor DEVICE, la cadena de caracteres de contenedor debe ser un nombre de archivo y el dispositivo ya debe existir.

una nota importante: Todos los contenedores deben ser únicos a lo largo de todas las bases de datos; un contenedor solo puede pertenecer a un espacio de tabla.

EXTENTSIZE  número de páginas

EXTENSIZE especifica el número de páginas PAGESIZE que la base de datos escribirá en un contenedor antes de pasar al siguiente contenedor. El valor EXTENSIZE también puede ser especificado como un valor entero seguido por K, M, o G. El gestor de base de datos hace ciclos repetidamente por los contenedores a medida que los datos son almacenados.

PREFETCHSIZE número de páginas

PREFETCHSIZE especifica el número de páginas PAGESIZE que se leerán del espacio de tabla cuando la pre-captura de datos se lleva a cabo. El valor del tamaño de pre-captura también puede ser especificado como un valor entero seguido por K, M, o G.

La pre-captura lee datos que necesita una consulta antes de que sean referenciados por la consulta, de manera que la consulta no necesita esperar que el sistema subyacente efectúe operaciones de E/S.

Comando CREATE DATABASE de muestra

El siguiente es un ejemplo de un comando CREATE DATABASE que utiliza muchas de las opciones que hemos discutido en paneles anteriores.

Listado 7. Comando CREATE DATABASE
( 1) CREATE DATABASE MY1STDB
( 2)  DFT_EXTENT_SZ 4
( 3)  CATALOG TABLESPACE MANAGED BY DATABASE USING
( 4)   (FILE 'C:\CAT\CATALOG.DAT' 2000, FILE 'D:\CAT\CATALOG.DAT' 2000)
( 5)    EXTENTSIZE 8
( 6)   PREFETCHSIZE 16
( 7) TEMPORARY TABLESPACE MANAGED BY SYSTEM USING
( 8)  ('C:\TEMPTS','D:\TEMPTS')
( 9) USER TABLESPACE MANAGED BY DATABASE USING
(10)   (FILE 'C:\TS\USERTS.DAT' 121)
(11)   EXTENTSIZE 24
(12)   PREFETCHSIZE 48

Observemos cada línea con más detalle:

  1. CREATE DATABASE: Este enunciado define el nombre de base de datos que estamos creando.

  2. DFT_EXTENT_SZ 4: Este parámetro le dice al DB2 que el tamaño predeterminado es 4 páginas, a menos que se especifique otra cosa explícitamente.

  3. CATALOG TABLEPSACE MANAGED BY DATABASE USING: El espacio de catálogo DB2 será administrado por la base de datos.

  4. FILE 'C:\....': La ubicación del espacio de tabla se dividirá entre dos archivos, cada uno con 2.000 páginas de espacio.

  5. EXTENTSIZE 8: El EXTENTSIZE será de 8 páginas.

  6. PREFETCHSIZE 16: Durante el procesamiento de consulta se leerán 16 páginas de una sola vez.

  7. TEMPORARY TABLESPACE MANAGED BY SYSTEM USING: El espacio temporal usado por el DB2 será manejado por el sistema operativo.

  8. 'C:\TEMPTS' ...: El espacio temporal se dividirá entre dos archivos, cuyo tamaño se ajusta automáticamente durante la ejecución del DB2.

  9. USER TABLESPACE MANAGED BY DATABASE USING: El espacio de usuario (donde se ubican las tablas reales) será administrado por el DB2 directamente.

  10. FILE 'C:\TS\...': solo hay un contenedor para este espacio y consiste de 121 páginas.

  11. EXTENTSIZE 24: El EXTENTSIZE para la tabla USER será de 24 páginas.

  12. PREFETCHSIZE 48: Las consultas pre-capturarán 48 páginas a la vez.

Resumen de creación de base de datos

Esta sección le proporcionó algo de experiencia sobre cómo crear una base de datos DB2. en la mayoría de los casos, los valores predeterminados del comando CREATE DATABASE le proporcionarán una base de datos que usted utilizará para desarrollo y pruebas.

En cuanto usted decida poner una base de datos en producción, necesitará esforzarse más en la ubicación de datos y en las definiciones de espacio de tabla usadas por el DB2. Aunque esto puede necesitar más planificación, el resultado final será una base de datos que es más fácil de administrar con un mejor desempeño potencial.


Catalogando su base de datos DB2

¿Por qué catalogar una base de datos?

El DB2 cataloga las bases de datos automáticamente cuando son creadas. Cataloga una entrada para la base de datos en el directorio de base de datos local y otra entrada en el directorio de base de datos de sistema. Si la base de datos es creada desde un cliente remoto (o para un cliente que se esté ejecutando desde una instancia diferente en la misma máquina), también se hace una entrada en el directorio de base de datos en la instancia de cliente.

Entonces, ¿por qué se debe catalogar una base de datos? Sin esta información, ¡las aplicaciones no pueden conectarse a una base de datos! El DB2 tiene múltiples directorios que se utilizan para acceder a bases de datos. Estos directorios le permiten al DB2 encontrar bases de datos que conozca, estén estas en el sistema local o en un sistema remoto. El directorio de base de datos de sistema contiene una lista e indicaciones de apuntador sobre dónde se pueden encontrar cada una de las bases de datos. El directorio de nodo contiene información relacionada con cómo y dónde se pueden encontrar los sistemas o instancias. Para poner una entrada en cualquiera de estos directorios, se utiliza un comando CATALOG. Para eliminar una entrada, se usa un comando UNCATALOG.

El comando CATALOG

El comando CATALOG se diagrama a continuación.

Listado 8. comando CATALOG
>-CATALOG--+-DATABASE-+--database-name--+-----------+----------> 
           '-DB-------'                 '-AS--alias-'
 
>--+-------------------+----------------------------------------> 
   +-ON--+-path--+-----+
   |     '-drive-'     |
   '-AT NODE--nodename-'
 
>--+--------------------------------------------------------------+-->
   '-AUTHENTICATION--+-SERVER-----------------------------------+-'
                     +-CLIENT-----------------------------------+
                     +-SERVER_ENCRYPT---------------------------+
                     +-KERBEROS TARGET PRINCIPAL--principalname-+
                     +-DATA_ENCRYPT-----------------------------+
                     '-GSSPLUGIN--------------------------------'
 
>--+------------------------+----------------------------------> 
   '-WITH--"comment-string"-'

Catalogar una base de datos es algo relativamente sencillo. Normalmente este paso no se requiere cuando usted ha creado una base de datos. No obstante, es posible que usted necesite hacerlo si previamente ha descatalogado la base de datos, si desea configurar un ALIAS (nombre alterno) para esta base de datos, o si necesita acceder a esta base de datos desde un cliente.

Catalogando en el cliente

Un usuario que necesite conectarse a una base de datos DB2 debe catalogar la base de datos en una estación de trabajo local. Para hacerlo, el usuario debe usar el comando CATALOG o el DB2 Configuration Assistant (CA). El CA le permite mantener una lista de bases de datos a las cuales sus aplicaciones pueden conectarse. Este cataloga nodos y bases de datos mientras escuda al usuario de las complejidades inherentes a estas tareas. (Para más información sobre el Configuration Assistant, vea el primer tutorial de esta serie.)

Existen tres formas de catalogar una base de datos en un cliente:

  • Configuración automática usando descubrimiento
  • Configuración automática usando perfiles de acceso
  • Configuración manual

Todos estos métodos se describen en este tutorial. Desde la perspectiva del cliente, catalogar bases de datos usando un perfil o el descubrimiento es la forma más fácil de hacerlo. La configuración manual requiere de conocer la ubicación de la base de datos y su características, con el fin de ejecutar el comando exitosamente.

Para usar cualquiera de las configuraciones automáticas, el DBA debe generar perfiles para sus usuarios o establecer servicios de descubrimiento dentro de la base de datos DB2. En este tutorial no entraremos en detalles sobre la creación de ninguna de estas facilidades, pero le animamos a que lea el manual de administración dB2 para más detalles sobre estos recursos.

Configuración automatizada usando descubrimiento

Si usted usa este tipo de configuración automática, no necesitará proporcionar ninguna información de comunicaciones detallada para permitir que el cliente DB2 contacte al servidor DB2.

Para añadir una base de datos a su sistema usando descubrimiento, necesitará llevar a cabo los siguientes pasos. (Note que un DB2 Administration Server (DAS) se debe estar ejecutando y activado para que el recurso de descubrimiento del CA retorne información sobre sistemas DB2 locales).

  1. Inicie el CA. Puede hacerlo desde el menú Inicio en Windows, o mediante el comando db2ca en Windows o en UNIX.

  2. En la barra de menú CA, bajo Selected, seleccione Add Database Using Wizard.

  3. Marque el botón de selección Search the Network y haga clic en Next.

  4. Haga doble clic en la carpeta contigua a Known Systems para listar todos los sistemas que se conozcan para su cliente.

  5. Haga clic en el signo de suma ( + ) que está junto a System para obtener una lista de las instancias y bases de datos que contiene. Seleccione la base de datos que desee añadir y luego haga clic en Next.

  6. Ingrese un nombre de alias de la base de datos local en el campo Database Alias. También puede ingresar un comentario que describa esta base de datos en el campo Comment si lo desea.

  7. Si está planeando usar ODBC, registre esta base de datos como una fuente de datos ODBC. ODBC ya debe estar instalado para efectuar esta operación.

  8. Haga clic en Finish.

Ahora usted está listo(a) para usar la base de datos que acaba de añadir.

Configuración automática usando perfiles de acceso

Los perfiles de acceso son otro método automatizado para configurar un cliente DB2 para que acceda a servidores remotos DB2 y a sus bases de datos. Un perfil de acceso contiene la información que un cliente necesita para catalogar bases de datos en un servidor DB2.

Así como con el descubrimiento, cuando se usan perfiles de acceso, usted no necesitará proporcionar ninguna información detallada de comunicaciones para permitir que el cliente DB2 contacte al servidor DB2.

Existen dos tipos de perfiles de acceso:

  • Los perfiles de acceso de servidor son creados desde servidores DB2. Estos contienen información sobre todas las instancias y bases de datos que el servidor DB2 ha catalogado.

  • Los perfiles de acceso de cliente son utilizados para duplicar las bases de datos catalogadas y/o las configuraciones de cliente (DBM CFG, CLI/ODBC) desde un cliente hacia otro.

Ambos tipos de perfiles se pueden exportar desde un sistema DB2 y luego ser importados hacia otro.

Normalmente usted usará perfiles de acceso para configurar un gran número de clientes. El DB2 Control Center puede usarse para exportar y luego importar un sistema de perfil de acceso a servidor. (Para más sobre el Control Center, vea el primer tutorial de esta serie.) Un perfil de acceso de cliente es exportado, luego es importado usando el Configuration Assistant (CA).

Si usted tiene un gran número de clientes para configurar, también debe considerar el uso de LDAP (el Lightweight Directory Access Protocol). El LDAP le permite almacenar información de catálogo en una ubicación centralizada. Cada cliente solo necesita saber la ubicación centralizada para poder conectarse a cualquier base de datos que esté a disposición en la red. Vea la Guía de Administración DB2 para más detalles sobre LDAP.

Configuración manual

También es posible configurar manualmente una conexión de base de datos. Para hacer esto, usted necesita conocer los detalles de la configuración de comunicaciones entre el cliente y el servidor.

Usted puede usar una configuración manual para sus bases de datos host; use descubrimiento para conectarse mediante un servidor DB2 Connect; o use esa información para una conexión directa desde su cliente como se describió en secciones previas. Hay dos formas para configurar conexiones manualmente:

  • Usar la opción Manual del CA. En este caso, a usted se le consulta mediante una interfaz GUI para todos los valores que necesite ingresar.

  • Usar los comandos CATALOG NODE/DB. En este caso usted debe conocer la sintaxis de los comandos e ingresar comandos desde una interfaz de línea de comandos.

En cualquier caso, usted puede usar la configuración manual para explotar algunas de las opciones avanzadas que no están disponibles usando métodos automatizados (por ejemplo, usted podría seleccionar la ubicación donde se lleva a cabo la autenticación).

El método de línea de comandos CATALOG NODE/DB es el más complicad de los dos, pero incluye una ventaja: usted puede guardar los pasos de configuración en scripts de manera que la configuración se pueda volver a hacer si se necesita.

Usando el CA para catalogar una base de datos

En las siguientes secciones, usted verá los pasos requeridos para catalogar manualmente una base de datos usando el Configuration Assistant.

Antes de proceder, usted necesita conocer la siguiente información:

  • Uno de los protocolos soportados por la instancia de servidor que contiene la base de datos
  • La información de conexión de protocolo requerida para configurar la conexión hacia la instancia de servidor
  • El nombre de servidor
  • El nombre de la base de datos en el servidor remoto

La pantalla CA inicial es invocada seleccionando el Configuration Assistant de la carpeta DB2.

Figura 7. Seleccione Configuration Assistant
Seleccione Configuration Assistant

En cuanto usted haya seleccionado este programa, aparecerá la siguiente pantalla:

Figura 8. Asistente de configuración
Asistente de configuración

La sección superior de esta pantalla le proporciona al usuario una lista de bases de datos que están catalogadas actualmente en el sistema. Existen varios elementos de menú aquí que permiten a un usuario configurar las conexiones de base de datos, pero la opción en la que estaría interesado el DBA es el botón Add Database Using Wizard en el menú Selected :

Figura 9. Añadir base de datos usando el Asistente
Añadir base de datos usando el Asistente

Seleccionar Add inicia el Add Database Wizard.

Las siguientes secciones describen cada paso requerido para la configuración del cliente.

CA: ¿Qué método utilizar?

El primer panel del asistente CCA le pregunta cuál método le gustaría utilizar para catalogar la base de datos.

Figura 10. Configurando una conexión
Configurando una conexión

El asistente proporciona al usuario tres formas posibles de catalogar una base de datos:

  • Usar un perfil
  • Buscar en la red
  • Configurar una conexión manualmente

La opción en la que estamos interesados es en la configuración manual. (Como describieron las secciones previas, usar un perfil o buscar en la red son métodos mucho más fáciles para un usuario que desee catalogar una base de datos en un cliente).

Ahora que usted ha seleccionado la opción de configuración manual, usted necesita seleccionar el protocolo de comunicación que desee.

CA: Protocolo de comunicación

En el siguiente panel usted puede seleccionar el protocolo que desee usar para conectarse a la base de datos. El contenido del recuadro Protocol Parameters cambia de acuerdo al protocolo. Aquí están los protocolos que usted puede elegir, junto con algunos de sus parámetros:

  • TCP/IP: Nombre de host/dirección IP de servidor, numero de puerto
  • NetBIOS: Nombre de estación de trabajo de servidor, número de adaptador
  • Named Pipe: Nombre de computadora de servidor, instancia
  • APPC/APPN: Nombre de destino simbólico de servidor
  • LOCAL: Base de datos local en esta máquina

Todos los protocolos que soporta el DB2 están listados aquí. Si usted ha seleccionado APPC, sus opciones de sistema operativo serán: OS/390 o z/OS, OS/400, VM, o VSE. Los servidores DB2 en Windows y UNIX y no aceptan conexiones de cliente entrantes usando APPC. Sin embargo, los clientes DB2 todavía pueden conectarse a sistemas host usando APPS si tiene DB2 Connect instalado.

Si selecciona TCP/IP, sus opciones son: basado en LAN, OS/390 o z/OS, OS/400, o VM.

Usted debe verificar que la máquina esté correctamente configurada en la red antes de hacer clic en Finish.

Figura 11. Seleccione un protocolo de comunicación
Seleccione un protocolo de comunicación

CA: Detalles de comunicación

en este punto, usted puede ingresar los detalles de comunicaciones de la base de datos que desee catalogar. Esta pantalla será diferente para cada protocolo de comunicaciones. El ejemplo mostrado aquí es para una base de datos que se encuentra en la misma máquina que el cliente (local)(local).

Figura 12. Seleccione una base de datos local
Seleccione una base de datos local

CA: Detalles de base de datos

Ahora usted ingresa los detalles de la base de datos que desee catalogar. Ingrese el nombre de la base de datos (como se conoce en el servidor) en el campo Database Name. Usted puede aceptar el mismo nombre del alias local para la base de datos, o cambiar el alias por un nombre de su elección. Usted también puede ingresar una descripción, si desea.

Figura 13. Ingrese un nombre de base de datos
Ingrese un nombre de base de datos

CA: Configuraciones ODBC

Usted puede registrar la base de datos como una fuente de datos ODBC. De forma predeterminada, la casilla que indica que usted desea hacer esto está marcada, como puede ver en la siguiente figura. Usted puede optimizar las configuraciones ODBC para una aplicación particular seleccionando esa aplicación desde el menú Optimize for Application .

Figura 14. Registro ODBC
Registro ODBC

Si usted planea ejecutar aplicaciones Windows contra esta base de datos, debe estar familiarizado(a) con los diferentes parámetros de optimización disponibles en este entorno.

CA: Opciones de nodo, sistema y seguridad

Hay tres paneles adicionales que se muestran como parte del Configuration Assistant. Las Security Options se muestran para cualquier tipo de base de datos, pero los panelesNode y System solo se muestran para bases de datos remotas.

  1. Información de nodo: Usted debe llenar la información de nodo si planea usar el Control Center, pues esto afectará la conducta de esta herramienta. Los nombres de instancia y de sistema son dados por los valores de DB2SYSTEM y DB2INSTANCE en el servidor. Usted también debe seleccionar el sistema operativo del sistema remoto.

    Figura 15. Ingrese información de nodo
    Ingrese información de nodo
  2. Información de sistema: Usted necesita proporcionar la información de sistema para decirle al DB2 el sistema, host y sistema operativo del sistema remoto en el que reside la base de datos.

    Figura 16. Información del sistema de suministro
    Información del sistema de suministro
  3. Información de seguridad: Aquí usted puede especificar dónde se lleva a cabo la autenticación de usuario (en el servidor, que es lo predeterminado; o en un host o un OS/400). Usted también puede usar la seguridad SOCKS para conexiones TCP/IP, lo cual le permitirá acceder a bases de datos remotas por fuera de su firewall. (Para más sobre seguridad DB2, consulte el segundo tutorial de esta serie.)

    Figura 17. Ingrese seguridad de información
    Ingrese seguridad de información

CA: Operación de catálogo exitosa

En cuanto usted hace clic en Finish en la pantalla de CCA Catalog, el DB2 intentará catalogar la base de datos. Si esto tiene éxito, aparecerá la siguiente ventana:

Figura 18. Pantalla de confirmación de adición de base de datos
Pantalla de confirmación de adición de base de datos

En este punto usted puede comprobar la comunicación para asegurarse de que el cliente puede comunicarse con la base de datos. Si la prueba es exitosa, ahora usted puede usar una aplicación para acceder a la base de datos DB2.

Figura 19. Prueba de conexión
Prueba de conexión

Resumen de catálogo

Catalogar una base de datos DB2 normalmente no se requiere en el servidor donde fue creada. No obstante, para acceder a la base de datos desde un cliente, ese cliente primero debe catalogar la base de datos localmente, para que las aplicaciones puedan acceder a ella.

El comando CATALOG puede usarse para catalogar una base de datos, pero el Configuration Assistant (CA) es una herramienta mucho más fácil de usar y permite el descubrimiento y catalogación automática de bases de datos.

Como alternativa a catalogar bases de datos en cada cliente, un DBA también podría usar servicios LDAP para crear un repositorio central de información de base de datos.


Manipulando objetos DB2 con el Control Center

Usando el Control Center

El Control Center es el punto central de administración del DB2. El Control Center proporciona al usuario las herramientas necesarias para efectuar tareas típicas de administración de base de datos. Este permite un acceso fácil a otras herramientas de administración de servidor, proporciona un panorama claro de todo el sistema, permite la administración remota de base de datos y proporciona asistencia paso a paso para tareas complejas.

Pero, ¿por qué pasamos por todas esas dificultades de aprender cómo crear bases de datos desde una línea de comandos? Aunque el Control Center facilita su vida, en ocasiones usted deseará crear scripts que creen objetos automáticamente o que invoquen mantenimiento de base de datos. El Control Center puede ayudarle a generar, administrar y programar esos scripts, pero todos ellos se ejecutan como comandos DB2. Y en algunos casos, el Control Center puede no estar en el sistema operativo en el que usted esté trabajando, así que usted no tendrá alternativa más que usar comandos DB2.

El Control Center se invoca desde la carpeta General Administration en el grupo de programa DB2:

Figura 20. Inicie el Control Center
Inicie el Control Center

La pantalla que aparece será similar a la siguiente figura:

Figura 21. Control Center principal
Control Center principal

El objeto Systems representa las máquinas tanto local como remota. Para mostrar todos los sistemas DB2 que su sistema ha catalogado, expanda el árbol de objetos haciendo clic en el signo de suma ( + ) contiguo a Systems. La porción izquierda de la pantalla lista sistemas DB2 disponibles (locales y remotos). En la figura, El sistema LOCAL contiene una instancia DB2, DB2, donde está ubicada la base de datos de muestra SAMPLE. Cuando Tables está resaltada, el en Contents Pane se muestran los detalles sobre cada sistema. Un número de las tablas existentes en la base de datos SAMPLE se muestran en la figura de arriba.

Los principales componentes del Control Center son:

  • Menu Bar: Se usa para acceder a funciones del Control Center y a ayuda on-line.
  • Tool Bar: Se usa para acceder a otras herramientas administrativas.
  • Objects Pane: Se muestra del lado izquierdo de la ventana Control Center. Contiene todos los objetos que pueden ser manejados desde el Control Center, así como su relación entre sí.
  • Contents Pane: Este se encuentra al lado derecho de la ventana del Centro de control y contiene los objetos que pertenecen o corresponden al objeto seleccionado en el Objects Pane.
  • Contents Pane Toolbar: Estos íconos se usan para ajustar la vista de los objetos y la información en el Contents Pane. Estas funciones también se pueden seleccionar desde el menú View.
  • Details Pane: El Details Pane muestra información detallada sobre el objeto seleccionado.

Hover Help también está disponible en el Control Center, proporcionando una corta descripción para cada ícono de la barra de herramientas a medida que usted mueve el puntero del mouse sobre ese ícono.

Creando y manipulando bases de datos

El Control Center puede usarse para crear y administrar sus bases de datos. ¿Recuerda el comando CREATE DATABASE que utilizó antes para crear su primera base de datos? En los siguientes paneles usted verá cómo va a hacer lo mismo con el Control Center.

Al lado izquierdo del Control Center (el Objects Pane), ponga se mouse sobre la palabra clave Database y haga clic derecho. Esto abrirá un menú de las opciones que están disponibles para bases de datos. En este caso, usted seleccionará Create Database > Standard..., como se muestra en la siguiente figura:

Figura 22. Creando una nueva base de datos
Creando una nueva base de datos

En cuanto usted haya seleccionado esta opción, DB2 presentará una serie de paneles que usted necesitará llenar para crear una base de datos. A continuación verá cómo utilizar estos asistentes para simplificar algunas de las tareas DBA comunes.

Asistente Create Database: Nombre de base de datos

El Create Database Wizard le llevará por una serie de pasos para generar una base de datos. La primera pantalla le pregunta el nombre de la base de datos, la unidad predeterminada en la que desea que se cree (si no especifica nada más), y el nombre de alias. Además, usted puede añadir un comentario sobre el contenido de la base de datos.

Algunas notas sobre este primer panel. Si usted desea usar columnas XML en la base de datos, esto debe definirse como UTF-8 (Activar la base de datos para XML). Adicionalmente, el Almacenamiento Automático es el predeterminado para una base de datos en DB2 9. Si usted desea cambiar este predeterminado, debe seleccionar I want to manage my storage manually.

Figura 23. Nombre de base de datos
Nombre de base de datos

Asistente Create Database: User/catalog/temp tables

Los siguientes tres paneles del asistente le solicitan que ingrese información sobre cómo le gustaría que se crearan el usuario, el catálogo y el espacio de tabla temporal. Si usted selecciona la opción Low Maintenance, el asistente creará un espacio de tabla SMS para usted. Si selecciona High Performance, necesitará especificar los dispositivos y sistemas de archivos que usted planea usar para este espacio de tabla.

Figura 24. Asignación de espacio de base de datos
Asignación de espacio de base de datos

Para cualquiera de las opciones usted puede especificar los contenedores (archivos, dispositivos) que desee asignar al espacio de tabla. Si hace clic en el botón Add, se mostrará un panel adicional para permitirle definir los contenedores que se están utilizando.

Figura 25. Contenedores de base de datos
Contenedores de base de datos

Si usted no especifica contenedores o archivos para sus espacios de tabla, el DB2 automáticamente generará uno para usted en la unidad predeterminada que usted especificó antes.

Asistente Create Database: Opciones de desempeño

Hay dos parámetros de desempeño que usted puede configurar: EXTENTSIZE y PREFETCHSIZE.

Figura 26. Optimización de base de datos
Optimización de base de datos

Observemos a cada uno de ellos:

  • EXTENTSIZE: Un extent es una unidad de espacio dentro de un contenedor de un espacio de tabla. Los objetos de base de datos (excepto los LOB y varchars extensos) se almacenan en páginas dentro del DB2. Estas páginas están agrupadas en extents. El tamaño de extent está definido a nivel de espacio de tabla. En cuanto se ha establecido el tamaño de extent para el espacio de tabla, no se podrá alterar. El parámetro de configuración de base de datos DFT_EXTENT_SZ Especifica el tamaño predeterminado de extent para todos los espacios de tabla de la base de datos. Este valor puede variar desde 2 hasta 256 páginas; así, el tamaño absoluto puede variar de 8 KB a 1024 KB para páginas de 4 KB, o de 16 KB a 2048 KB para páginas de 8 KB. Esta figura se puede alterar usando el parámetro EXTENTSIZE en el enunciado CREATE TABLESPACE .

    Si usted va a utilizar agrupación en clúster multi-dimensional en el diseño de sus tablas (MDC), el tamaño de extent se convertirá en una decisión de diseño crítica. Las tablas MDC asignarán un extent a cada nueva conjunto de dimensión que se cree. Si el tamaño de extent es demasiado grande, entonces existe la posibilidad de que gran parte del extent quede vacío (para conjuntos de dimensión con pocos registros). Para más información sobre el MDC y su impacto sobre EXTENTSIZE, consulte la Guía de Administración DB2.

  • PREFETCHSIZE: La pre-captura secuencial es la capacidad del gestor de base de datos para anticipar una consulta, leyendo las páginas antes de que esas páginas sean referenciadas efectivamente. Esta recuperación asíncrona puede reducir los tiempos de ejecución significativamente. Usted puede controlar qué tan agresivamente se lleva a cabo la pre-captura, cambiando el parámetro PREFETCHSIZE en el enunciado CREATE TABLESPACE . De forma predeterminada este valor es DFT_PREFETCH_SZ que es el parámetro de configuración. Este valor representa cuántas páginas serán leídas al mismo tiempo cuando el DB2 active una solicitud de pre-captura. Al establecer este valor en un múltiplo del tamaño de extent, se pueden leer múltiples extent en paralelo. Esta función es incluso más efectiva cuando los contenedores del espacio de tabla están en discos separados.

Los valores predeterminados para estos parámetros son adecuados para muchas aplicaciones, pero tal vez usted desee experimentar con PREFETCHSIZE más altos, para aplicaciones que efectúen consultas o que analicen grandes cantidades de datos.

Asistente Create Database: Página de código y orden de clasificación

Las siguientes opciones que usted encontrará como parte de la creación de base de datos son aquellas que incluyen páginas de código y órdenes de clasificación.

Figura 27. Orden de clasificación y página de código
Orden de clasificación y página de código

Cuando una aplicación DB2 está vinculada a una base de datos DB2, la aplicación y la base de datos son comparadas. Si los códigos de página no son iguales, se intentará la conversión de página de código para cada enunciado SQL. Si usted está usando una página de código diferente a la de la base de datos a la que usted está accediendo, es importante garantizar que las páginas de código sean compatibles y que se pueda lograr la conversión.

De forma predeterminada, el orden de clasificación de una base de datos se define de acuerdo al conjunto de códigos usado en el comando CREATE DATABASE . Si usted especifica la opción COLLATE USING SYSTEM, los valores de los datos son comparados con base en el TERRITORY especificado por la base de datos. Si se usa la opción COLLATE USING IDENTITY , todos los valores se comparan usando su representación binaria de forma byte por byte. Cuando necesite almacenar datos en su formato nativo (binario), evite el uso de tipos de datos con páginas de código. Generalmente es una ventaja usar aplicaciones y páginas de códigos idénticas para evitar el proceso de conversión de página de códigos.

Asistente Create Database: Resumen de creación

Una vez que todos los parámetros hayan sido ingresados al sistema, el asistente Create Database le presentará una pantalla de resumen con todas las selecciones que usted haya realizado.

Figura 28. Página de resumen del asistente
Página de resumen del asistente

Un recurso extremadamente útil de esta página de resumen es su botón Show Command . Si usted lo presiona, verá el comando DB2 que se utilizará para crear la base de datos, como se muestra en la siguiente figura.

Figura 29. Show Command
Show Command

Usted puede guardar este comando para una ejecución futura o copiarlo y pegarlo en un script que usted pueda estar desarrollando. Si usted está satisfecho con los parámetros que ha ingresado en el sistema, haga clic en el botón Finish para crear la base de datos.

Resumen del Control Center

El Control Center del DB2 es una herramienta poderosa que facilita en extremo el mantenimiento rutinario de base de datos. Existe una variedad de asistentes disponibles para ayudarle a crear y a modificar muchos de los objetos de base de datos.

Usted también puede usar el Control Center para generar comandos DB2 para uso posterior en scripts o programas. Este comando le permite desarrollar el comando que desee usar sin ejecutarlo efectivamente.


Creando y accediendo a objetos DB2 básicos

Más trucos del Control Center

Aunque el Control Center en realidad es útil para la creación de bases de datos, este tiene una gran cantidad de funcionalidades adicionales que usted puede usar para crear, modificar o eliminar casi cualquier objeto de base de datos. Observemos qué otras cosas contiene el Control Center.

Figura 30. Control Center
Control Center

Al lado izquierdo de la pantalla tenemos el Objects Pane. Si usted desea crear un objeto nuevo, ponga su mouse sobre el tipo de objeto (tabla) y haga clic derecho sobre él. Para la mayoría de los objetos, esto presentará un menú de opciones, incluyendo una para la creación del objeto.

Figura 31. Creación de nueva tabla
Creación de nueva tabla

Como DBA, usted debe familiarizarse con estos botones Create. Inicialmente, estos asistentes pueden ser extremadamente útiles para determinar cómo se generan los comandos DB2. Aprovechar el botón Show Command puede ser una gran herramienta de aprendizaje. ¡Incluso DBA experimentados no se avergüenzan de usar el Control Center para generar comandos usados con frecuencia!

Modificación de objetos existentes

Los nuevos objetos se crean haciendo clic derecho en el nombre del objeto del Objects Pane. Si usted necesita modificar o eliminar un objeto, necesitará mostrarlo en el Contents Pane al lado derecho del Control Center.

Figura 32. Modificación en el Control Center
Modificación en el Control Center

en el panel que se muestra en la figura de arriba, las tablas que se encuentran en la base de datos SAMPLE se listan en el Contents Pane. Ahora que estas tablas están en pantalla, usted puede modificarlas. Haga clic derecho sobre el objeto que desee modificar. Verá el siguiente menú:

Figura 33. Menú de Modificación
Menú de Modificación

Existen numerosas acciones que se pueden llevar a cabo contra los objetos de tabla. Por ejemplo, usted puede ver los contenidos de muestra de la tabla, alterar la tabla, o reorganizarla.

Los dos comandos que son de interés para los DBA son los comandos Show Related y Generate DDL. Show Related mostrará todos los objetos de base de datos, como índices o espacios de tabla, que se relacionan con esta tabla. El comando Generate DDL realizará ingeniería inversa a la definición de esta tabla, de manera que usted puede crear nuevamenteel diseño de tabla en el evento de una falla. (Desde luego, usted siempre puede hacer copia de seguridad de su base de datos, ¿correcto?)

Details Pane

El Control Center también tiene un Details Pane el cual proporciona más detalles sobre un elemento seleccionado en el Object Pane. Este recurso es particularmente útil porque le proporciona una vista rápida de la definición de tabla. Por ejemplo, cuando una tabla es seleccionada, el Details Pane mostrará el esquema de tabla (la definición de columna) junto con las opciones para mostrar el contenido de tabla, la consulta de tabla o mostrará los objetos relacionados.

Figura 34. Details pane
Details pane

Si se selecciona un tipo de objeto diferente, el Details Pane mostrará las opciones de manipulación que se ajustan al tipo de objeto seleccionado.


Empaquetamiento

Resumen

El DB2 Control Center también puede ser usado para modificar objetos que existan dentro de la base de datos. Para cada tipo de objeto a usted se le presentan varias opciones que definen lo que pueden cambiar.

La mayoría de acciones que un DBA realiza desde el Control Center pueden ser capturadas y guardadas para usarlas en un script. Esto, junto con los asistentes de comandos, puede simplificar el mantenimiento de la base de datos que lo que es escribir los comandos.

En la ayuda on-line que se suministra con la herramienta se puede encontrar información adicional sobre el Control Center del DB2. Adicionalmente, la Guía de Administración DB2 y la Referencia de Comandos DB2 contienen rica información sobre recursos de base de datos, funciones y sobre cómo diseñar una base de datos para mejor desempeño. Estos libros son una excelente referencia y ¡debe mantenerlos a la mano cuando esté diseñando sus bases de datos!

Recursos

Aprender

Obtener los productos y tecnologías

  • DB2 9: Obtenga una versión de prueba del DB2 9, disponible para descarga gratuita.
  • DB2 Express-C: Descargue DB2 Express-C, una versión gratuita de DB2 Express Edition para la comunidad, que ofrece los mismos recursos de datos esenciales de DB2 Express Edition y que proporciona una base sólida para crear e implementar aplicaciones.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=791719
ArticleTitle=Preparación para el examen 730 Fundamentos DB2 9, Parte 3: Accediendo a datos DB2
publish-date=02062012