DB2 - группы хранения

В этой главе описываются группы хранения базы данных.

Введение

Набор путей хранения для хранения таблицы или объектов базы данных - это группа хранения. Вы можете назначить табличные пространства группе хранения. Когда вы создаете базу данных, все табличные пространства принимают объем хранилища по умолчанию. Группа хранения по умолчанию для базы данных - «IBMSTOGROUP». Когда вы создаете новую базу данных, группа хранения по умолчанию становится активной, если вы передаете параметр «AUTOMATIC STOGROUP NO» в конце команды «CREATE DATABASE». В базе данных нет групп хранения по умолчанию.

Список групп хранения

Вы можете перечислить все группы хранения в базе данных.

Syntax: [Чтобы увидеть список доступных групп хранения в текущей базе данных]

db2 select * from syscat.stogroups

Example: [Чтобы увидеть список доступных хранилищ в текущей базе данных]

db2 select * from syscat.stogroups

Создание группы хранения

Вот синтаксис для создания группы хранения в базе данных:

Syntax: [Чтобы создать новую группу. «Stogropu_name» указывает имя новой группы хранения, а «путь» указывает место, где хранятся данные (таблицы)]

db2 create stogroup  on ‘path’

Example: [Чтобы создать новую группу стогрупп 'stg1' в папке 'data1' пути]

db2 create stogroup stg1 on ‘/data1’

Output:

DB20000I The SQL command completed succesfully

Создание табличного пространства с помощью stogroup

Вот как вы можете создать табличное пространство с помощью storegroup:

Syntax: [Чтобы создать новое табличное пространство с использованием существующей группы хранения]

db2 create tablespace <tablespace_name>  using stogroup <stogroup_name>

Example: [Чтобы создать новое табличное пространство с именем 'ts1', используя существующую группу хранения 'stg1']

db2 create tablespace ts1 using stogroup stg1

Output:

DB20000I The SQL command completed succesfully

Изменение группы хранения

Вы можете изменить расположение группы магазинов, используя следующий синтаксис:

Syntax: [Чтобы переместить группу хранения из старого местоположения в новое]

db2 alter stogroup  add ‘location’, ‘location’ 

Example: [Чтобы изменить путь к местоположению со старого местоположения на новое местоположение для группы хранения с именем 'sg1']

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

Удаление пути к папке группы хранения

Перед тем, как удалить путь к папке группы хранения, вы можете добавить новое расположение для группы хранения с помощью команды alter.

Syntax: [Чтобы удалить старый путь из расположения группы хранения]

db2 alter stogroup  drop ‘/path’ 

Example: [Чтобы удалить расположение группы хранения из 'stg1']

db2 alter stogroup stg1 drop ‘/path/data1’

Ребалансировка табличного пространства

Перебалансировка табличного пространства требуется, когда мы создаем новую папку для группы хранения или табличных пространств, когда транзакции выполняются в базе данных и табличное пространство заполняется. При повторной балансировке файлы конфигурации базы данных обновляются с использованием новой группы хранения.

Syntax: [Чтобы перебалансировать табличное пространство со старого пути группы хранения на новую группу хранения]

db2 alter tablspace <ts_name> rebalance

Example: [Чтобы перебалансировать]

db2 alter tablespace ts1 rebalance

Переименование группы хранения

Syntax: [Чтобы изменить имя существующего хранилища]

db2 rename stogroup <old_stg_name> to <new_stg_name>

Example: [Чтобы изменить имя группы хранения с 'sg1' на новое имя 'sgroup1']

db2 rename stogroup sg1 to sgroup1

Удаление группы хранения

Step 1: Перед тем как отбросить любую группу хранения, вы можете назначить другую группу хранения для табличных пространств.

Syntax: [Чтобы назначить другую группу хранения для табличного пространства.]

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

Example: [Чтобы изменить одну старую группу данных на новую группу с именем 'sg2' для табличного пространства 'ts1']

db2 alter tablespace ts1 using stogroup sg2

Step 2:

Syntax: [Чтобы удалить существующую группу хранения]

db2 drop stogorup <stogroup_name>

Example: [Чтобы удалить стогруппу 'stg1' из базы данных]

db2 drop stogroup stg1