VSAM - คลัสเตอร์
คลัสเตอร์ VSAM ถูกกำหนดใน JCL. JCL ใช้IDCAMSยูทิลิตี้เพื่อสร้างคลัสเตอร์ IDCAMS เป็นยูทิลิตี้ที่พัฒนาโดย IBM สำหรับบริการวิธีการเข้าถึง ใช้เพื่อกำหนดชุดข้อมูล VSAM เป็นหลัก
การกำหนดคลัสเตอร์
ไวยากรณ์ต่อไปนี้แสดงพารามิเตอร์หลักซึ่งจัดกลุ่มไว้ภายใต้ Define Cluster, Data และ Index.
.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]))
พารามิเตอร์ที่ระดับ CLUSTER ใช้กับคลัสเตอร์ทั้งหมด พารามิเตอร์ที่ระดับ DATA หรือ INDEX ใช้กับส่วนประกอบข้อมูลหรือดัชนีเท่านั้น
เราจะพูดถึงพารามิเตอร์แต่ละตัวโดยละเอียดในตารางต่อไปนี้ -
ซีเนียร์ No | พารามิเตอร์พร้อมคำอธิบาย |
---|---|
1 | DEFINE CLUSTER คำสั่ง Define Cluster ใช้เพื่อกำหนดคลัสเตอร์และระบุแอ็ตทริบิวต์พารามิเตอร์สำหรับคลัสเตอร์และคอมโพเนนต์ |
2 | NAME NAME ระบุชื่อของไฟล์ VSAM ที่เรากำลังกำหนดคลัสเตอร์ |
3 | BLOCKS บล็อกระบุจำนวนบล็อกที่กำหนดสำหรับคลัสเตอร์ |
4 | VOLUMES ไดรฟ์ข้อมูลระบุไดรฟ์ข้อมูลอย่างน้อยหนึ่งไดรฟ์ที่จะมีคลัสเตอร์หรือส่วนประกอบ |
5 | INDEXED / NONINDEXED / NUMBERED / LINEAR พารามิเตอร์นี้สามารถรับค่าได้สามค่า INDEXED, NONINDEXED หรือ NUMBERED ขึ้นอยู่กับประเภทของชุดข้อมูลที่เรากำลังสร้าง สำหรับไฟล์ลำดับคีย์ (KSDS) ใช้ตัวเลือก INDEXED สำหรับไฟล์ลำดับรายการ (ESDS) จะใช้ตัวเลือก NONINDEXED สำหรับไฟล์บันทึกสัมพัทธ์ (RRDS) จำเป็นต้องมีตัวเลือก NUMBERED สำหรับไฟล์ Linear (LDS) จำเป็นต้องมีตัวเลือก LINEAR ค่าเริ่มต้นของพารามิเตอร์นี้คือ INDEXED เราจะพูดคุยเพิ่มเติมเกี่ยวกับ KSDS, ESDS, RRDS และ LDS ในโมดูลที่กำลังจะมาถึง |
6 | RECSZ พารามิเตอร์ Record Size มีสองค่าคือ Average และ Maximum record size ค่าเฉลี่ยระบุความยาวเฉลี่ยของเร็กคอร์ดโลจิคัลในไฟล์และค่าสูงสุดหมายถึงความยาวของเร็กคอร์ด |
7 | FREESPACE Freespace ระบุเปอร์เซ็นต์ของพื้นที่ว่างที่จะสงวนไว้สำหรับช่วงควบคุม (CI) และพื้นที่ควบคุม (CA) ของส่วนประกอบข้อมูล ค่าเริ่มต้นของพารามิเตอร์นี้คือศูนย์เปอร์เซ็นต์ |
8 | CISZ CISZ เรียกว่าขนาดช่วงควบคุม ระบุขนาดของช่วงเวลาการควบคุม |
9 | KEYS พารามิเตอร์คีย์ถูกกำหนดในไฟล์ลำดับคีย์ (KSDS) เท่านั้น ระบุความยาวและออฟเซ็ตของคีย์หลักจากคอลัมน์แรก ช่วงของค่าของพารามิเตอร์นี้อยู่ระหว่าง 1 ถึง 255 ไบต์ |
10 | READPW ค่าในพารามิเตอร์ READPW ระบุรหัสผ่านของระดับการอ่าน |
11 | FOR/TO ค่าของพารามิเตอร์นี้ระบุระยะเวลาในรูปแบบของวันที่และวันสำหรับการเก็บรักษาไฟล์ ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือศูนย์วัน |
12 | UPDATEPW ค่าในพารามิเตอร์ UPDATEPW ระบุรหัสผ่านของระดับการอัพเดต |
13 | REUSE / NOREUSE พารามิเตอร์ REUSE อนุญาตให้กำหนดคลัสเตอร์ที่อาจถูกรีเซ็ตเป็นสถานะว่างโดยไม่ต้องลบและกำหนดใหม่ |
14 | DATA - NAME ส่วน DATA ของคลัสเตอร์มีชื่อชุดข้อมูลซึ่งมีข้อมูลจริงของไฟล์ |
15 | INDEX-NAME ส่วน INDEX ของคลัสเตอร์ประกอบด้วยคีย์หลักและตัวชี้หน่วยความจำสำหรับบันทึกที่เกี่ยวข้องในส่วนข้อมูล ถูกกำหนดเมื่อใช้คลัสเตอร์ลำดับคีย์ |
16 | CATALOG พารามิเตอร์แค็ตตาล็อกหมายถึงแค็ตตาล็อกที่ไฟล์จะถูกกำหนด เราจะพูดคุยเกี่ยวกับแคตตาล็อกแยกกันในโมดูลที่กำลังจะมาถึง |
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างพื้นฐานเพื่อแสดงวิธีกำหนดคลัสเตอร์ใน 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))
/*
หากคุณจะเรียกใช้ JCL ข้างต้นบนเซิร์ฟเวอร์ Mainframes ควรรันด้วย MAXCC = 0 และจะสร้างไฟล์ MY.VSAM.KSDSFILE VSAM
การลบคลัสเตอร์
ในการลบไฟล์ VSAM คลัสเตอร์ VSAM จะต้องถูกลบโดยใช้ยูทิลิตี้ IDCAMS คำสั่ง DELETE จะลบรายการของคลัสเตอร์ VSAM ออกจากแค็ตตาล็อกและเป็นทางเลือกที่จะลบไฟล์ซึ่งจะช่วยเพิ่มพื้นที่ว่างที่อ็อบเจ็กต์ครอบครอง หากชุดข้อมูล VSAM ยังไม่หมดอายุชุดข้อมูลนั้นจะไม่ถูกลบ หากต้องการลบชุดข้อมูลประเภทดังกล่าวให้ใช้ตัวเลือก PURGE
DELETE data-set-name CLUSTER
[ERASE / NOERASE]
[FORCE / NOFORCE]
[PURGE / NOPURGE]
[SCRATCH / NOSCRATCH]
ไวยากรณ์ด้านบนแสดงพารามิเตอร์ที่เราสามารถใช้กับคำสั่ง Delete เราจะพูดคุยกันโดยละเอียดในตารางต่อไปนี้ -
ซีเนียร์ No | พารามิเตอร์พร้อมคำอธิบาย |
---|---|
1 | ERASE / NOERASE ระบุอ็อพชัน ERASE เพื่อแทนที่แอ็ตทริบิวต์ ERASE ที่ระบุสำหรับอ็อบเจ็กต์ในแค็ตตาล็อก ตัวเลือก NOERASE ถูกใช้โดยค่าเริ่มต้น |
2 | FORCE / NOFORCE ตัวเลือก FORCE ถูกระบุเพื่อลบ SPACE และ USERCATALOG แม้ว่าจะไม่ว่างเปล่าก็ตาม ตัวเลือก NOFORCE ถูกใช้โดยค่าเริ่มต้น |
3 | PURGE / NOPURGE ตัวเลือก PURGE ใช้เพื่อลบชุดข้อมูล VSAM หากชุดข้อมูลยังไม่หมดอายุ ตัวเลือก NOPURGE ถูกใช้โดยค่าเริ่มต้น |
4 | SCRATCH / NOSCRATCH ระบุอ็อพชัน SCRATCH เพื่อลบรายการที่เกี่ยวข้องสำหรับอ็อบเจ็กต์ออกจาก Volume Table of Contents ส่วนใหญ่จะใช้สำหรับชุดข้อมูลที่ไม่ใช่ vsam เช่น GDG ตัวเลือก NOSCRATCH ถูกใช้โดยค่าเริ่มต้น |
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างพื้นฐานเพื่อแสดงวิธีการลบคลัสเตอร์ใน JCL -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DELETE MY.VSAM.KSDSFILE CLUSTER
PURGE
/*
หากคุณจะเรียกใช้ JCL ข้างต้นบนเซิร์ฟเวอร์ Mainframes ควรรันด้วย MAXCC = 0 และจะลบไฟล์ MY.VSAM.KSDSFILE VSAM