DB2: grupos de almacenamiento

Este capítulo describe los grupos de almacenamiento de bases de datos.

Introducción

Un conjunto de rutas de almacenamiento para almacenar la tabla u objetos de la base de datos es un grupo de almacenamiento. Puede asignar los espacios de tabla al grupo de almacenamiento. Cuando crea una base de datos, todos los espacios de tabla toman el valor predeterminado de almacenamiento. El grupo de almacenamiento predeterminado para una base de datos es 'IBMSTOGROUP'. Cuando crea una nueva base de datos, el grupo de almacenamiento predeterminado está activo, si pasa el parámetro "AUTOMATIC STOGROUP NO" al final del comando "CREATE DATABASE". La base de datos no tiene ningún grupo de almacenamiento predeterminado.

Listado de grupos de almacenamiento

Puede enumerar todos los grupos de almacenamiento en la base de datos.

Syntax: [Para ver la lista de grupos de almacenamiento disponibles en la base de datos actual]

db2 select * from syscat.stogroups

Example: [Para ver la lista de grupos de almacenamiento disponibles en la base de datos actual]

db2 select * from syscat.stogroups

Crear un grupo de almacenamiento

Aquí hay una sintaxis para crear un grupo de almacenamiento en la base de datos:

Syntax: [Para crear un nuevo grupo de trabajo. El 'stogropu_name' indica el nombre del nuevo grupo de almacenamiento y la 'ruta' indica la ubicación donde se almacenan los datos (tablas)]

db2 create stogroup 
      
        on ‘path’ 
      

Example: [Para crear un nuevo grupo de almacenamiento 'stg1' en la ruta de la carpeta 'data1']

db2 create stogroup stg1 on ‘/data1’

Output:

DB20000I The SQL command completed succesfully

Creando tablespace con stogroup

Así es como puede crear un tablespace con storegroup:

Syntax: [Para crear un espacio de tabla nuevo utilizando el grupo de almacenamiento existente]

db2 create tablespace <tablespace_name>  using stogroup <stogroup_name>

Example: [Para crear un espacio de tabla nuevo llamado 'ts1' usando el grupo de almacenamiento existente 'stg1']

db2 create tablespace ts1 using stogroup stg1

Output:

DB20000I The SQL command completed succesfully

Alterar un grupo de almacenamiento

Puede modificar la ubicación de un grupo de almacenamiento utilizando la siguiente sintaxis:

Syntax: [Para cambiar un grupo de almacenamiento de una ubicación anterior a una nueva]

db2 alter stogroup 
      
        add ‘location’, ‘location’ 
      

Example: [Para modificar la ruta de ubicación desde la ubicación anterior a la nueva ubicación para el grupo de almacenamiento llamado 'sg1']

db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’

Eliminando la ruta de la carpeta del grupo de almacenamiento

Antes de eliminar la ruta de la carpeta del grupo de almacenamiento, puede agregar una nueva ubicación para el grupo de almacenamiento mediante el comando alter.

Syntax: [Para eliminar la ruta anterior de la ubicación del grupo de almacenamiento]

db2 alter stogroup 
      
        drop ‘/path’ 
      

Example: [Para quitar la ubicación del grupo de almacenamiento de 'stg1']

db2 alter stogroup stg1 drop ‘/path/data1’

Reequilibrar un espacio de tabla

Es necesario reequilibrar el espacio de tabla cuando creamos una nueva carpeta para el grupo de almacenamiento o espacios de tabla mientras las transacciones se realizan en la base de datos y el espacio de tabla se llena. El reequilibrio actualiza los archivos de configuración de la base de datos con un nuevo grupo de almacenamiento.

Syntax: [Para reequilibrar el espacio de tabla de la ruta del grupo de almacenamiento antiguo al nuevo grupo de almacenamiento]

db2 alter tablspace <ts_name> rebalance

Example: [Para reequilibrar]

db2 alter tablespace ts1 rebalance

Cambiar el nombre de un grupo de almacenamiento

Syntax: [Para modificar el nombre del nombre de almacenamiento existente]

db2 rename stogroup <old_stg_name> to <new_stg_name>

Example: [Para modificar el nombre del grupo de almacenamiento de 'sg1' al nuevo nombre 'sgroup1']

db2 rename stogroup sg1 to sgroup1

Descartar un grupo de almacenamiento

Step 1: Antes de eliminar cualquier grupo de almacenamiento, puede asignar un grupo de almacenamiento diferente para los espacios de tabla.

Syntax: [Para asignar otro grupo de almacenamiento para el espacio de tabla.]

db2 alter tablspace <ts_name> using stogroup <another sto_group_name>

Example: [Para cambiar de un grupo antiguo a un grupo nuevo llamado 'sg2' para el espacio de tabla 'ts1']

db2 alter tablespace ts1 using stogroup sg2

Step 2:

Syntax: [Para eliminar el grupo de trabajo existente]

db2 drop stogorup <stogroup_name>

Example: [Para eliminar stogroup 'stg1' de la base de datos]

db2 drop stogroup stg1