VSAM - ESDS

Cụm VSAM được xác định trong JCL . JCL sử dụng tiện ích IDCAMS để tạo một cụm. IDCAMS là một tiện ích do IBM phát triển dành cho các dịch vụ phương thức truy cập. Nó được sử dụng để xác định chủ yếu các bộ dữ liệu VSAM.

Xác định mt cm

Cú pháp sau hiển thị các tham số chính được nhóm trong Xác định Cụm, Dữ liệu và Chỉ mục

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])) 

Các tham số ở cấp độ CLUSTER áp dụng cho toàn bộ cụm. Các tham số ở cấp độ DỮ LIỆU hoặc CHỈ SỐ chỉ áp dụng cho thành phần dữ liệu hoặc chỉ mục.

Chúng ta sẽ thảo luận chi tiết về từng tham số trong bảng sau –

Sơ KhôngThông số với Mô tả
1XÁC ĐỊNH CỤM Lệnh Define Cluster được sử dụng để xác định một cluster và chỉ định các thuộc tính tham số cho cluster và các thành phần của nó.
2TÊN NAME chỉ định tên của tệp VSAM mà chúng tôi đang xác định cụm.
3KHỐI Các khối chỉ định số khối được chỉ định cho cụm.
4TẬP Các tập chỉ định một hoặc nhiều tập sẽ chứa cụm hoặc thành phần.
5ĐƯỢC LẬP CHỈ CỤC / KHÔNG ĐƯỢC LẬP CHỈ CỤC / ĐƯỢC ĐÁNH SỐ / TUYẾN TÍNH Tham số này có thể nhận ba giá trị INDEXED, NONINDEXED hoặc NUMBERED tùy thuộc vào loại tập dữ liệu chúng tôi đang tạo. Đối với các tệp được sắp xếp theo trình tự khóa (KSDS), tùy chọn INDEXED được sử dụng. Đối với các tệp nhập theo trình tự (ESDS), tùy chọn NONINDEXED được sử dụng. Đối với các tệp bản ghi tương đối (RRDS), tùy chọn NUMBERED là bắt buộc. Đối với các tệp Tuyến tính (LDS), tùy chọn LINEAR là bắt buộc. Giá trị mặc định của tham số này là INDEXED. Chúng ta sẽ thảo luận thêm về KSDS, ESDS, RRDS và LDS trong các mô-đun sắp tới.
6GHI Tham số Kích thước Bản ghi có hai giá trị là Kích thước bản ghi Trung bình và Tối đa. Trung bình chỉ định độ dài trung bình của các bản ghi logic trong tệp và Tối đa biểu thị độ dài của các bản ghi.
7KHÔNG GIAN TRÔNG Freespace chỉ định tỷ lệ phần trăm dung lượng trống dành cho các khoảng thời gian kiểm soát (CI) và vùng kiểm soát (CA) của thành phần dữ liệu. Giá trị mặc định của tham số này là tỷ lệ phần trăm bằng không.
số 8CIS CISZ được gọi là Kích thước khoảng thời gian kiểm soát. Nó chỉ định kích thước của khoảng thời gian kiểm soát.
9phím Tham số khóa chỉ được xác định trong các tệp theo trình tự khóa (KSDS). Nó chỉ định độ dài và độ lệch của khóa chính từ cột đầu tiên. Phạm vi giá trị của tham số này là từ 1 đến 255 byte.
10ĐỌC Giá trị trong tham số READPW chỉ định mật khẩu của cấp độ đọc.
11CHO/ĐẾN Giá trị của tham số này chỉ định lượng thời gian theo ngày và ngày để lưu giữ tệp. Giá trị mặc định cho tham số này là 0 ngày.
12CẬP NHẬTEPW Giá trị trong tham số UPDATEPW chỉ định mật khẩu của cấp độ cập nhật.
13TÁI SỬ DỤNG / NOREUSE Tham số REUSE cho phép các cụm được xác định có thể được đặt lại về trạng thái trống mà không cần xóa và xác định lại chúng.
14DỮ LIỆU – TÊN Phần DỮ LIỆU của cụm chứa tên tập dữ liệu chứa dữ liệu thực của tệp.
15TÊN CHỈ MỤC Phần INDEX của cụm chứa khóa chính và con trỏ bộ nhớ cho bản ghi tương ứng trong phần dữ liệu. Nó được xác định khi cụm Key Sequenced được sử dụng.
16MỤC LỤC Tham số danh mục biểu thị danh mục mà tệp sẽ được xác định. Chúng tôi sẽ thảo luận riêng về danh mục trong các mô-đun sắp tới.

Ví d

Sau đây là một ví dụ cơ bản để chỉ ra cách xác định một cụm trong 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))
/*

Nếu bạn sẽ thực thi JCL trên trên máy chủ Mainframes. Nó sẽ thực thi với MAXCC = 0 và nó sẽ tạo tệp MY.VSAM.KSDSFILE VSAM.

Xóa mt cm

Để xóa tệp VSAM, cụm VSAM cần được xóa bằng tiện ích IDCAMS. Lệnh DELETE xóa mục nhập của cụm VSAM khỏi danh mục và tùy chọn xóa tệp, do đó giải phóng không gian bị chiếm bởi đối tượng. Nếu bộ dữ liệu VSAM chưa hết hạn thì sẽ không bị xóa. Để xóa các loại bộ dữ liệu như vậy, hãy sử dụng tùy chọn PURGE.

DELETE data-set-name CLUSTER  
[ERASE / NOERASE] 
[FORCE / NOFORCE] 
[PURGE / NOPURGE] 
[SCRATCH / NOSCRATCH]

Cú pháp trên cho thấy các tham số mà chúng ta có thể sử dụng với câu lệnh Delete. Chúng tôi sẽ thảo luận chi tiết về từng người trong số họ trong bảng sau –

Sơ KhôngThông số với Mô tả
1XÓA / KHÔNG XÓA Tùy chọn XÓA được chỉ định để ghi đè thuộc tính XÓA được chỉ định cho đối tượng trong danh mục. Tùy chọn NOERASE được thực hiện theo mặc định.
2LỰC LƯỢNG / KHÔNG LỰC LƯỢNG Tùy chọn FORCE được chỉ định để xóa SPACE và USERCATALOG ngay cả khi chúng không trống. Tùy chọn NOFORCE được thực hiện theo mặc định.
3TẨY/THỬ Tùy chọn PURGE được sử dụng để xóa tập dữ liệu VSAM nếu tập dữ liệu chưa hết hạn. Tùy chọn NOPURGE được thực hiện theo mặc định.
4CÀO / KHÔNG XẠO Tùy chọn SCRATCH được chỉ định để xóa mục nhập được liên kết cho đối tượng khỏi Mục lục Tập. Nó chủ yếu được sử dụng cho các bộ dữ liệu không phải vsam như GDG. Tùy chọn NOSCRATCH được thực hiện theo mặc định.

Ví d

Sau đây là một ví dụ cơ bản để chỉ ra cách xóa một cụm trong JCL

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.KSDSFILE CLUSTER
	PURGE
/*

Nếu bạn sẽ thực thi JCL trên trên máy chủ Mainframes. Nó sẽ thực thi với MAXCC = 0 và nó sẽ xóa tệp MY.VSAM.KSDSFILE VSAM.

VSAM – ESDS (xem thêm)

Trả lời