Команды VSAM используются для выполнения определенных операций с наборами данных VSAM. Ниже приведены наиболее полезные команды VSAM.
- изменять
- репродукция
- Listcat
- исследовать
- проверить
изменять
Команда 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 для увеличения свободного пространства, для добавления дополнительных томов и для 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, для которого нам нужна вся информация. ВСЕ ключевое слово указано, чтобы получить все детали каталога.
пример
В следующем примере показано, как получить все данные с помощью команды 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.
//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, которые не были закрыты должным образом после ошибки. Команда добавляет правильные записи End-Of-Data в файл.
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.