Учебники

VSAM — Команды

Команды 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.