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.