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