VSAM - ดัชนีสำรอง
ดัชนีสำรองคือดัชนีเพิ่มเติมที่สร้างขึ้นสำหรับชุดข้อมูล KSDS / ESDS นอกเหนือจากดัชนีหลัก ดัชนีทางเลือกให้การเข้าถึงระเบียนโดยใช้มากกว่าหนึ่งคีย์ คีย์ของดัชนีทางเลือกอาจเป็นคีย์ที่ไม่ซ้ำกันซึ่งอาจมีรายการซ้ำกันได้
การสร้างดัชนีสำรอง
ขั้นตอนต่อไปนี้ใช้เพื่อสร้างดัชนีสำรอง -
- กำหนดดัชนีสำรอง
- กำหนดเส้นทาง
- ดัชนีอาคาร
กำหนดดัชนีสำรอง
ดัชนีสำรองถูกกำหนดโดยใช้ DEFINE AIX คำสั่ง
DEFINE AIX -
(NAME(alternate-index-name) -
RELATE(vsam-file-name) -
CISZ(number) -
FREESPACE(CI-Percentage,CA-Percentage) -
KEYS(length offset) -
NONUNIQUEKEY / UNIQUEKEY -
UPGRADE / NOUPGRADE -
RECORDSIZE(average maximum)) -
DATA -
(NAME(vsam-file-name.data)) -
INDEX -
(NAME(vsam-file-name.index))
ไวยากรณ์ด้านบนแสดงพารามิเตอร์ที่ใช้ในขณะกำหนดดัชนีสำรอง เราได้พูดถึงพารามิเตอร์บางตัวในกำหนดโมดูลคลัสเตอร์แล้วและพารามิเตอร์ใหม่บางตัวถูกใช้ในการกำหนดดัชนีสำรองซึ่งเราจะพูดถึงที่นี่ -
ซีเนียร์ No | พารามิเตอร์พร้อมคำอธิบาย |
---|---|
1 | DEFINE AIX กำหนดคำสั่ง AIX ใช้เพื่อกำหนดดัชนีสำรองและระบุแอ็ตทริบิวต์พารามิเตอร์สำหรับคอมโพเนนต์ |
2 | NAME NAME ระบุชื่อของดัชนีสำรอง |
3 | RELATE RELATE ระบุชื่อของคลัสเตอร์ VSAM ที่สร้างดัชนีทางเลือก |
4 | NONUNIQUEKEY / UNIQUEKEY UNIQUEKEY ระบุว่าดัชนีทางเลือกไม่ซ้ำกันและ NONUNIQUEKEY ระบุว่าอาจมีรายการที่ซ้ำกัน |
5 | UPGRADE / NOUPGRADE UPGRADE ระบุว่าควรแก้ไขดัชนีทางเลือกหากคลัสเตอร์ฐานถูกแก้ไขและ NOUPGRADE ระบุว่าควรปล่อยดัชนีสำรองไว้ตามลำพังหากคลัสเตอร์ฐานถูกแก้ไข |
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างพื้นฐานเพื่อแสดงวิธีการกำหนดดัชนีสำรองใน JCL -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DEFINE AIX (NAME(MY.VSAM.KSDSAIX) -
RELATE(MY.VSAM.KSDSFILE) -
CISZ(4096) -
FREESPACE(20,20) -
KEYS(20,7) -
NONUNIQUEKEY -
UPGRADE -
RECORDSIZE(80,80)) -
DATA(NAME(MY.VSAM.KSDSAIX.DATA)) -
INDEX(NAME(MY.VSAM.KSDSAIX.INDEX))
/*
หากคุณจะเรียกใช้ JCL ข้างต้นบนเซิร์ฟเวอร์ Mainframes ควรรันด้วย MAXCC = 0 และจะสร้าง MY.VSAM.KSDSAIX Alternate Index
กำหนดเส้นทาง
กำหนดเส้นทางใช้เพื่อเชื่อมโยงดัชนีทางเลือกกับคลัสเตอร์ฐาน ในขณะที่กำหนดเส้นทางเราระบุชื่อของเส้นทางและดัชนีทางเลือกที่เกี่ยวข้องกับเส้นทางนี้
DEFINE PATH -
NAME(alternate-index-path-name) -
PATHENTRY(alternate-index-name))
ไวยากรณ์ด้านบนมีสองพารามิเตอร์ NAME ใช้เพื่อระบุชื่อเส้นทางดัชนีสำรองและ PATHENTRY ใช้เพื่อระบุชื่อดัชนีสำรอง
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างพื้นฐานในการกำหนด Path ใน JCL -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DEFINE PATH -
NAME(MY.VSAM.KSDSAIX.PATH) -
PATHENTRY(MY.VSAM.KSDSAIX))
/*
หากคุณจะเรียกใช้ JCL ข้างต้นบนเซิร์ฟเวอร์ Mainframes ควรดำเนินการด้วย MAXCC = 0 และจะสร้างเส้นทางระหว่างดัชนีสำรองไปยังคลัสเตอร์ฐาน
ดัชนีอาคาร
คำสั่ง BLDINDEX ใช้เพื่อสร้างดัชนีทางเลือก BLDINDEX อ่านบันทึกทั้งหมดในชุดข้อมูลที่จัดทำดัชนี VSAM (หรือคลัสเตอร์ฐาน) และแยกข้อมูลที่จำเป็นในการสร้างดัชนีทางเลือก
BLDINDEX -
INDATASET(vsam-cluster-name) -
OUTDATASET(alternate-index-name))
ไวยากรณ์ด้านบนมีสองพารามิเตอร์ INDATASET ใช้เพื่อระบุ VSAM Cluster Name และ OUTDATASET ใช้เพื่อระบุ Alternate Index Name
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างพื้นฐานในการสร้างดัชนีใน JCL -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
BLDINDEX -
INDATASET(MY.VSAM.KSDSFILE) -
OUTDATASET(MY.VSAM.KSDSAIX))
/*
หากคุณจะเรียกใช้ JCL ข้างต้นบนเซิร์ฟเวอร์ Mainframes ควรดำเนินการกับ MAXCC = 0 และจะสร้างดัชนี