VSAM - кластер

Кластер VSAM определяется в JCL. JCL используетIDCAMSутилита для создания кластера. IDCAMS - это утилита, разработанная IBM для служб методов доступа. Он используется в первую очередь для определения наборов данных VSAM.

Определение кластера

В следующем синтаксисе показаны основные параметры, сгруппированные в Define Cluster, Data и Index.

.DEFINE CLUSTER (NAME(vsam-file-name)      -
BLOCKS(number)                             -
VOLUMES(volume-serial)                     -
[INDEXED / NONINDEXED / NUMBERED / LINEAR] -
RECSZ(average maximum)                     -
[FREESPACE(CI-Percentage,CA-Percentage)]   -
CISZ(number)                               -
[KEYS(length offset)]                      -
[READPW(password)]                         -
[FOR(days)|TO(date)]                       -
[UPDATEPW(password)]                       -
[REUSE / NOREUSE] )                        -
DATA                                       -
   (NAME(vsam-file-name.data))             -
INDEX                                      -
   (NAME(vsam-file-name.index))            -
CATALOG(catalog-name[/password]))

Параметры на уровне КЛАСТЕРА применяются ко всему кластеру. Параметры на уровне DATA или INDEX применяются только к компоненту данных или индекса.

Мы подробно обсудим каждый параметр в следующей таблице -

Старший Нет Параметры с описанием
1

DEFINE CLUSTER

Команда Define Cluster используется для определения кластера и указания атрибутов параметров для кластера и его компонентов.

2

NAME

NAME указывает имя файла VSAM, для которого мы определяем кластер.

3

BLOCKS

Blocks указывает количество блоков, назначенных для кластера.

4

VOLUMES

Тома указывает один или несколько томов, которые будут содержать кластер или компонент.

5

INDEXED / NONINDEXED / NUMBERED / LINEAR

Этот параметр может принимать три значения INDEXED, NONINDEXED или NUMBERED в зависимости от типа создаваемого набора данных. Для файлов с последовательностью ключей (KSDS) используется опция INDEXED. Для файлов с последовательной записью (ESDS) используется опция NONINDEXED. Для файлов с относительной записью (RRDS) требуется НОМЕРНЫЙ параметр. Для линейных (LDS) файлов требуется опция LINEAR. По умолчанию этот параметр имеет значение INDEXED. Мы обсудим больше о KSDS, ESDS, RRDS и LDS в следующих модулях.

6

RECSZ

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

7

FREESPACE

Freespace указывает процент свободного пространства, резервируемого для интервалов управления (CI) и областей управления (CA) компонента данных. Значение по умолчанию для этого параметра - ноль процентов.

8

CISZ

CISZ известен как размер контрольного интервала. Он определяет размер контрольных интервалов.

9

KEYS

Параметр ключей определяется только в файлах с последовательностью ключей (KSDS). Он определяет длину и смещение первичного ключа от первого столбца. Диапазон значений этого параметра от 1 до 255 байт.

10

READPW

Значение в параметре READPW указывает пароль уровня чтения.

11

FOR/TO

Значение этого параметра указывает количество времени с точки зрения даты и дней для хранения файла. Значение по умолчанию для этого параметра - ноль дней.

12

UPDATEPW

Значение в параметре UPDATEPW указывает пароль уровня обновления.

13

REUSE / NOREUSE

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

14

DATA - NAME

Часть кластера DATA содержит имя набора данных, который содержит фактические данные файла.

15

INDEX-NAME

Часть кластера INDEX содержит первичный ключ и указатель памяти для соответствующей записи в части данных. Он определяется, когда используется кластер с последовательностью ключей.

16

CATALOG

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

пример

Ниже приведен базовый пример, показывающий, как определить кластер в JCL.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE CLUSTER (NAME(MY.VSAM.KSDSFILE)  -
   INDEXED                                 -
   RECSZ(80 80)                            -
   TRACKS(1,1)                             -
   KEYS(5  0)                              -
   CISZ(4096)                              -                            
   FREESPACE(3 3) )                        -
   DATA (NAME(MY.VSAM.KSDSFILE.DATA))      -
   INDEX (NAME(MY.VSAM.KSDSFILE.INDEX))
/*

Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он создаст файл VSAM MY.VSAM.KSDSFILE.

Удаление кластера

Чтобы удалить файл VSAM, необходимо удалить кластер VSAM с помощью утилиты IDCAMS. Команда DELETE удаляет запись о кластере VSAM из каталога и при необходимости удаляет файл, тем самым освобождая пространство, занимаемое объектом. Если срок действия набора данных VSAM не истек, он не будет удален. Чтобы удалить такие типы наборов данных, используйте опцию ОЧИСТКА.

DELETE data-set-name CLUSTER  
[ERASE / NOERASE] 
[FORCE / NOFORCE] 
[PURGE / NOPURGE] 
[SCRATCH / NOSCRATCH]

Синтаксис выше показывает параметры, которые мы можем использовать с оператором Delete. Мы обсудим каждый из них подробно в следующей таблице -

Старший Нет Параметры с описанием
1

ERASE / NOERASE

Параметр ERASE указывается для переопределения атрибута ERASE, указанного для объекта в каталоге. По умолчанию выбрана опция NOERASE.

2

FORCE / NOFORCE

Параметр FORCE указан для удаления ПРОБЕЛ и USERCATALOG, даже если они не пусты. По умолчанию выбрана опция NOFORCE.

3

PURGE / NOPURGE

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

4

SCRATCH / NOSCRATCH

Параметр SCRATCH используется для удаления связанной записи для объекта из таблицы содержания тома. Он в основном используется для наборов данных, отличных от vsam, таких как GDG. По умолчанию выбрана опция NOSCRATCH.

пример

Ниже приведен базовый пример, показывающий, как удалить кластер в JCL.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.KSDSFILE CLUSTER
	PURGE
/*

Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он удалит файл VSAM MY.VSAM.KSDSFILE.