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 และจะสร้างดัชนี