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.