VSAM - Команды
Команды VSAM используются для выполнения определенных операций с наборами данных VSAM. Ниже приведены наиболее полезные команды VSAM.
- Alter
- Repro
- Listcat
- Examine
- Verify
Изменить
Команда ALTER используется для изменения атрибутов файла VSAM. Мы можем изменить атрибуты файла VSAM, упомянутые в определении кластера VSAM. Ниже приведен синтаксис для изменения атрибутов -
ALTER file-cluster-name [password]
[ADDVOLUMES(volume-serial)]
[BUFFERSPACE(size)]
[EMPTY / NOEMPTY]
[ERASE / NOERASE]
[FREESPACE(CI-percentage CA-percentage)]
[KEYS(length offset)]
[NEWNAME(new-name)]
[RECORDSIZE(average maximum)]
[REMOVEVOLUMES(volume-serial)]
[SCRATCH / NOSCRATCH]
[TO(date) / FOR(days)]
[UPGRADE / NOUPGRADE]
[CATALOG(catalog-name [password]]
Синтаксис выше показывает, какие параметры мы можем изменить в существующем кластере VSAM. Описание параметра остается таким же, как указано в модуле VSAM - Cluster.
пример
В следующем примере показано, как использовать команду ALTER для увеличения Freespace, для добавления дополнительных томов и для Alter Keys -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
ALTER MY.VSAM.KSDSFILE
[ADDVOLUMES(2)]
[FREESPACE(6 6)]
[KEYS(10 2)]
/*
Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он изменит свободное пространство, объемы и ключи.
Репро
Команда REPRO используется для загрузки данных в набор данных VSAM. Он также используется для копирования данных из одного набора данных VSAM в другой. Мы можем использовать эту команду для копирования данных из последовательного файла в файл VSAM. Утилита IDCAMS использует команду REPRO для загрузки наборов данных.
REPRO INFILE(in-ddname)
OUTFILE(out-ddname)
В приведенном выше синтаксисе in-ddname - это DD-имя для входного набора данных, в котором есть записи. Out-ddname - это имя DD для выходного набора данных, куда будут скопированы записи входных наборов данных.
пример
В следующем примере показано, как копировать записи из одного набора данных в другой набор данных VSAM.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//IN DD DSN = MY.VSAM.KSDSFILE,DISP = SHR
//OUT DD DSN = MY.VSAM1.KSDSFILE,DISP = SHR
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
REPRO INFILE(IN)
OUTFILE(OUT)
/*
Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он скопирует все записи из MY.VSAM.KSDSFILE в файл VSAM MY.VSAM1.KSDSFILE.
Listcat
Команда LISTCAT используется для получения сведений о каталоге набора данных VSAM. Команда Listcat предоставляет следующую информацию о наборах данных VSAM:
- СМС информация
- Информация о RLS
- Информация о томе
- Информация о сфере
- Информация о размещении
- Атрибуты набора данных
LISTCAT ENTRY(vsam-file-name) ALL
В приведенном выше синтаксисе vsam-file-name - это имя набора данных VSAM, для которого нам нужна вся информация. Ключевое слово ALL указано для получения всех деталей каталога.
пример
В следующем примере показано, как получить все детали с помощью команды Listcat для набора данных VSAM.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
LISTCAT ENTRY(MY.VSAM.KSDSFILE)
ALL
/*
Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он покажет все детали каталога о наборе данных MY.VSAM.KSDSFILE.
Изучить
Команда Examine используется для проверки структурной целостности кластера наборов данных с последовательностью ключей. Он проверяет компоненты индекса и данных, и при обнаружении каких-либо проблем сообщения об ошибках отправляются в очередь. Вы можете проверить любое из сообщений IDCxxxxx.
EXAMINE NAME(vsam-ksds-name) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
В приведенном выше синтаксисе vsam-ksds-name - это имя набора данных VSAM, для которого нам нужно проверить индекс и часть данных кластера VSAM.
пример
В следующем примере показано, как проверить, синхронизированы ли части набора данных KSDS Index и Data или нет.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
EXAMINE NAME(MY.VSAM.KSDSFILE) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
/*
Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он покажет все проблемы с набором данных VSAM в одном из сообщений IDCxxxxx в спуле.
Проверить
Команда Verify используется для проверки и исправления файлов VSAM, которые не были должным образом закрыты после ошибки. Команда добавляет в файл правильные записи о конце данных.
VERIFY DS(vsam-file-name)
В приведенном выше синтаксисе vsam-file-name - это имя набора данных VSAM, для которого нам нужно проверить ошибки.
пример
В следующем примере показано, как проверить и исправить ошибки в наборе данных VSAM.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
VERIFY DS(MY.VSAM.KSDSFILE)
/*
Если вы выполните вышеуказанный JCL на сервере мэйнфреймов. Он должен выполняться с MAXCC = 0, и он исправит ошибки в наборе данных VSAM.