Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IMS Database Primer

1,860 views

Published on

Presentation by Gary Wicks at the IMS Regional User Group meeting in Markham, Ontario, on 09.19.2016

Published in: Technology
  • Login to see the comments

IMS Database Primer

  1. 1. IMS  Database  Primer Original  Material  Created  by: Dennis  Eichelberger IT  Specialist IMS  Support  – Washington  System  Center Modified  for  the  Canadian  Eastern  Region  IMS  User  Groups  by: Gary  Wicks,  IT  Specialist  -­ IMS  Lab  Services
  2. 2. Contents • Short  history  and  business  positioning  for  IMS • Architectural  structural  fundamentals • Value  descriptions  for  IMS • DB  hierarchical  structures • Defining  databases • Defining  programs • ODBM • SQL  access  and  the  Catalog • IMS  DB  education  available2
  3. 3. 3 Information  Management  System  (IMS) Originally  created  for  the  NASA  Apollo  Project to  put  a  man  on  the  moon  by  IBM  and  Client   corroborations Success!
  4. 4. 4 Where  the  World  Depends  on  IMS • Manufacturing – Aerospace,  equipment,  automobile,  … • Banking • Telecommunications • Bulk  Transportation:  Air  and  Rail • Travel:  Air,  Car  and  Rail • Health  Providers • Insurance • Finance/Credit  Card  Processing • Package  delivery • Government • Retail • …
  5. 5. IMS  Architecture  Fundamental  Concepts • Database  management  (IMS  DB  component) – Separated  from  application  programming • IMS  realized  that  moving  the  definition  of  the  data  out  of  the  program  would  have  substantial   benefits  when  many  programs  could  access  the  same  database • Transaction  management  (IMS  TM  component) – Separated  from  application  programming • The  sending  and  receiving  of  input  and  output  messages  was  removed  from  programs – Allows  the  same  program  to  access  the  message  regardless  of  what  type  of  device  was  used   to  send  in  the  message – IMS's  message  queues  were  critical  to  its  initial  design • Multiple  region  online  system – Applications  run  in  their  own  regions • Also  called  partitions,  address  spaces,  … 5
  6. 6. Possible  Xmemory  access  from  and  between  IMS  address  spaces DB2 APPC IRLM Others DL/I SAS CTRL ... DRA CCTL MPP BMP IFP Multiple  application  threads   per  address  space  for  each   CCTL  and  ODBA  region Your    application  programs  run  in  the  green   address  spaces  in  this  bottom  row JMP JBP MQSeries RRS Appl   Region ODBA WLM SPOC           TCPIP VTAM Console WEBSPHERE IXGLOGR IMS  Connect (BPE) ... Tools   ... DBRC CQS (BPE) OM CSL (BPE) RM CSL (BPE) SCI CSL (BPE) ODBM CSL (BPE) IMS  Address  Space  Structures 6
  7. 7. Compatibility:  The  Foundation  of  IMS  Success • Application  compatibility – Programs  written  in  1969  still  work – IMS  does  not  require  recompiles  of  applications  for  new  IMS  releases • Database  compatibility – Databases  do  not  require  upgrades  for  new  IMS  releases • Application  programs  are    independent  of  target  database  type  and   access  method  utilized • IMS  has  allowed  users  to  grow  their  applications  in  lieu  of  forcing  major   conversions 7
  8. 8. Adaptability   • And  yet  IMS  also  keeps  up  with  technological  trends – IMS  provides  a  TCP/IP  socket  server  – IMS  Connect • For  access  to  IMS  transactions  and  databases   – Allows  IMS  applications  to  be  either  clients  or  servers   – Delivers  adapters  that  run  in  JEE,  SOAP,  etc.  environments • Pluggable  components  that  provide  easy  interfaces  to  IMS  resources   – Supports  type-­2  and  type-­4  universal  drivers  for  access  to  IMS  DB • IMS  provides  application  programming  interfaces – Unique  to  IMS   • DL/I  calls  to  access  IMS  resources:  message  queues  and  data • IMS  applications  can  be  written  in:  COBOL,  PL/I,  Assembler,  C/C++,  Pascal,  ADA,   REXX,  Java   – Portable  – Java  classes  and  JDBC   8
  9. 9. Programming  Interface • Database  definitions  reside  as  IMS  meta  data  outside  of  programs – DBDs     • Defines  the  database  structure – PSBs • Views  of  application  sensitivity  to  segments  within  databases • Contain  access  definitions  (get,  insert,  delete,  replace) • Programs – DL/I  calls  used  for  database  access • Program  not  aware  of  data  sets  and  physical  characteristics  of   data • DL/I  calls  used  for  input/output  messages – Program  independent  of  communication  protocols – IMS  applications  get  messages  from  a  queue,  process  them,  and   insert  them  back  to  the  queue 9
  10. 10. What  New  Users  of  IMS  Need  to  Understand • IMS  Databases  (this  is  todays  introduction) • IMS  Online  Systems  and  Transaction  Management • IMS  Connect • Application  Programming  Interfaces  to  IMS • IMS  in  a  Parallel  Sysplex® 10
  11. 11. JJ II H  2 GGF E DDDCC IMS  Database  Structure • IMS  databases  are  hierarchical A B G C F I E J H  1D Root  segment – Segments  have  parents  and  children • Segments  are  accessed  through  their   parents • Parents  and  Children  are  related D  is  accessed  through  A  and  B – Segments  have  twins • Multiple  B  segments  under  one  A  segment • Twins  are  related     • H2  is  accessed  via  H1 -­ Segment  pointers  are  updated  by  IMS  at  the   same  time  the  segment  is  updated A  segment  type  (e.g.  A,  B,  or  C)  is  similar  to  a  relational  table. A  segment  occurrence,  one  of  the  segments,  is  similar  to  a  row  in  a  relational  table. An  IMS  database  is  similar  to  several  tables  which  are  joined.   Tree  structure 11
  12. 12. IMS  Database  Structure  … • Full  Function  database  types – Hierarchical  indexed  direct  (HIDAM) – Partitioned  HIDAM  (PHIDAM) – Generalized  Sequential  (GSAM) – Hierarchical  indexed  sequential  (HISAM)* – Hierarchical  Sequential  (HSAM)  * – Hierarchical  direct  (HDAM) – Partitioned  HDAM  (PHDAM) *  Simple  version  available • Fast  Path  database  types – Data  Entry  Database  (DEDB) – Main  Storage  Database  (MSDB) • MSDBs  are  root-­only  and  stored  &   accessed  only  in  memory § Indexed  databases – HIDAM,  PHIDAM,  HISAM – Roots  are  ordered  in  key  sequence § Non-­indexed  databases – HDAM,  PHDAM,  DEDB – Randomization  routines  are  used  to   order  roots   Structure  is  chosen  based  on  what  makes  most  sense for  access  patterns,  e.g.,  sequential  versus  random 12
  13. 13. Value  and  use  of  Hierarchical  Structures • GSAM Usage  Characteristics Insert  sequentially  – time  order Delete  unavailable Used  for  IMS  BMP  and  Batch  jobs  requiring  restartability 13
  14. 14. Value  and  use  of  Hierarchical  Structures • HSAM Usage  Characteristics Not  available Insert  in  key  sequence Secondary  Indexing Logical  relationships Variable  length  segments Update  not  available DLET  or  REPL  call Used  for  low  volume  processing  e.g.  data  archival 14
  15. 15. Value  and  use  of  Hierarchical  Structures • HISAM Usage  Characteristics Same  size  records Complete  record  fits  into  logical   defined  record Few Deletes  or  Inserts Delete  /  Insert  Available Root  Delete Space is  reclaimed  in  primary  area,   not  reclaimed  in  overflow Dependent  Segment Marked  deleted,  Space  not  available Database  reorganization  required  to  reclaim  physical  space 15
  16. 16. Value  and  use  of  Hierarchical  Structures • HDAM Usage  Characteristics Segments  are  unordered Position  based  on  key  randomization Segment  relationships via  pointers Dependents  may  be  in  separate blocks Delete  removes  segment Space  is  reclaimed   High  activity   Speedy  segment  retrieval  and  update 16
  17. 17. HDAM  Database  Randomization 17 RAP1 RAP2 RAP3 SEG12 SEG36 SEG82 SEG04 SEG01 SEG95 Block  3 RAP1 RAP2 RAP3 SEG15 SEG06 SEG58 SEG65 SEG47 SEG13 Block  2 RAP1 RAP2 RAP3 SEG02 SEG68 SEG77 SEG47 SEG02 SEG81 Block  1 RAP1 RAP2 RAP3 SEG01 SEG14 SEG55 SEG01 SEG01 SEG73 Block  4 RAP1 RAP2 RAP3 SEG71 SEG53 SEG01 SEG85 SEG84 SEG29 Block  6RAP1 RAP2 RAP3 SEG05 SEG04 SEG90 SEG48 SEG19 SEG76 Block  5 DATABAS1 Randomizer DFSHDC40 RMNAME=(DFSHDC40,3,3,25)
  18. 18. Value  and  use  of  Hierarchical  Structures • HIDAM Usage  Characteristics Two  DBDs required 1 =  Index    2  =  Data  area Root  Segments  are  sequentially  ordered Index  may  be  processed  separately Segment  relationships via  pointers Dependents  may  be  in  separate blocks Delete  removes  segment Space  is  reclaimed   High  activity   Speedy  segment  retrieval  and  update 18
  19. 19. Large  DB  Size  Support  Through  HALDB  and  Fast   Path  DEDBs • HALDB  (PHDAM  and  PHIDAM)  and  DEDB  databases – Database  is  composed  of  multiple  database  data  sets • HALDB  (High  Availability  Large  Database)  calls  these  datasets  partitions • DEDB  calls  these  datasets  areas – HALDB  may  have  up  to  1001  partitions • Each  partition  may  have  up  to  10  4GB  data  sets – Over  40  terabytes! • In  IMS  14  the  OSAM  data  sets  may  be  up  to  8GB – Over  80  terabytes – DEDBs  may  have  up  to  2048  areas • Each  area  has  one  data  set  up  to  4GB – Over  8  terabytes Application  programs   are  unaware  of  the   partitions  or  areas The  end  user   accesses  their  data   regardless  of  position   or  residence 19
  20. 20. Data  Base  Secondary  Index  use • IMS  databases  may  also  have   Secondary  indexes – Indexes  are  based  on  different   fields  in  any  segment – Example: • Secondary  index  into  course   database  based  on  student  ID – One  could  find  all  the   classes  in  which  a  student   is  enrolled Course Instructor Class Student Sec.  Index Student  ID   ID 20
  21. 21. Data  Base  Logical  Relationships • Full  Function  database  may  have  logical  relationships – Logical  databases  are  formed  from  multiple  physical  DBs – Example:   • Logical  relationship  between  employee  and  department  DBs • Examples  of  logical  databases Employee Depart.  No.Salary  History Department Member Employee Depart.  No.  |  Depart.Salary  History Member   Member  |  Employee Depart.  No.Salary  History Department 21
  22. 22. Defining  Databases • Database  Definition  -­ DBD – Database  definition  is  used  to  define: • Database  type   • Dataset  type  (primary  /  overflow) • Number  of  Segments • Hierarchical  relationship  of  the  segments • Fields  within  a  Segment • Key  fields • Data  types  of  the  fields • Logical  relationships  within  or  outside  of  the  database • Indexing 22
  23. 23. Defining  Databases DBD NAME=DI21PART, X ACCESS=(HISAM,VSAM), X PASSWD=NO, X DATXEXIT=NO, X DATASET DD1=DI21PART, X DEVICE=3380, X OVFLW=DI21PARO, X BLOCK=(100,10), X SIZE=(4096), X RECORD=(678) SEGM NAME=PARTROOT, X EXTERNALNAME=PARTROOT, X PARENT=0, X BYTES=50, X RULES=(LLL,LAST), X FIELD NAME=(PARTKEY,SEQ,U), X EXTERNALNAME=PARTKEY, X BYTES=17, X START=1, X TYPE=C, X DATATYPE=CHAR SEGM NAME=STANINFO, X EXTERNALNAME=STANINFO, X PARENT=PARTROOT, X BYTES=85, X RULES=(LLL,LAST), … X 23
  24. 24. Defining  Programs Program  Specification  Block  -­ PSB – Program  Specification  is  used  to  define  Program  Control  Blocks  -­ PCB: – Program  Control  Blocks  define • Database(s)  to  be  accessed • Processing  options  to  access  it  with   – Get,  Insert,  Delete,  … • Segments  the  program  is  aware  of • Fields  within  the  segment  the  program  is  aware  of • In  general,  the  program  view  of  the  accessed  database(s) 24
  25. 25. Defining  Databases DBD NAME=DI21PART, X ACCESS=(HISAM,VSAM), X PASSWD=NO, X DATXEXIT=NO, DATASET DD1=DI21PART, X DEVICE=3380, X OVFLW=DI21PARO, X BLOCK=(100,10), X SIZE=(4096), X RECORD=(678) SEGM NAME=PARTROOT, X EXTERNALNAME=PARTROOT, X PARENT=0, X BYTES=50, X RULES=(LLL,LAST), FIELD NAME=(PARTKEY,SEQ,U), X EXTERNALNAME=PARTKEY, X BYTES=17, X START=1, X TYPE=C, X DATATYPE=CHAR SEGM NAME=STANINFO, X EXTERNALNAME=STANINFO, X PARENT=PARTROOT, X BYTES=85, X RULES=(LLL,LAST), … DBPCB00 PCB TYPE=DB,DBDNAME=DI21PART,PROCOPT=A,KEYLEN=44 SENSEG NAME=PARTROOT,PARENT=0 SENSEG NAME=STANINFO,PARENT=PARTROOT SENSEG NAME=STOKSTAT,PARENT=PARTROOT SENSEG NAME=CYCCOUNT,PARENT=STOKSTAT SENSEG NAME=BACKORDR,PARENT=STOKSTAT PSBGEN LANG=ASSEM,PSBNAME=DFHSAM04,MAXQ=1 END DBPCB01 PCB TYPE=DB,DBDNAME=DI21PART,PROCOPT=G,KEYLEN=43 SENSEG NAME=PARTROOT,PARENT=0 SENSEG NAME=STANINFO,PARENT=PARTROOT SENSEG NAME=STOKSTAT,PARENT=PARTROOT PSBGEN LANG=COBOL,PSBNAME=DFSSAM01,MAXQ=1 END 25
  26. 26. Identifying  Databases  to  Program  Relationships • DataBase  generation    -­ DBD • Program  Specification  Block  generation  -­ PSB • Application  Control  Block  -­ ACB – Connects  DBDs  and  PSBs – A  PSB  may  access  multiple  databases – Multiple  PSBS  may  access  the  same  database – Application  changes  or  additions  may  be  implemented  without  an  IMS  restart. • Affected  resources  may  need  to  be  quiesced  for  control  block  updates • The  Online  Change  process  is  normally  utilized  for  this Program  1  DBD Program  1  PSB Program  2  ACB Program  1  ACB 26
  27. 27. Database  Access • All  IMS  Database  access  is  though  a  standard  programming   – DL/1  using  DLI • Data  Language  1  through  the  Data  Language  Interface   – AIBTDLI Application  Interface  – REXX,  Java  using  PCB  labels – ASMTDLI Assembler  programs – CTDLI C  programs – CEETDLI C  programs  using  PCB  labels – CBLTDLI COBOL  programs – PASTDLI Pascal  programs – PLITDLI PL/1  programs 27
  28. 28. Database  Access • DL/1  call – CALL  CBLTDLI  USING  GU  dbpcb  i/oarea  argument – Translates  to: • LLZZtrancode  ‘search  argument’ landing  on  the  Message  Queue. • IMS  sees  ‘trancode’  and  finds  the  (Scheduler  Message  Block)  SMB  related  to  that   transaction   • Loads  the  program  to  start  in  a  dependent  region • Passes  the  input  message  to  the  program   28
  29. 29. Open  Database  Manager  Access  -­ ODBM   • Implemented  with  Common  Service  Layer • Allows  database  access  outside  of  dependent  region • Some  components  are:   – IMS  Universal  Database  resource  adapter  (DRDA) – IMS  Universal  JDBC  driver – IMS  Universal  DL/I  driver – Open  Database  Access  interface   (ODBA) – ODBM  CSL  interface • Security  &  Access  through IMS  Connect Client Application z/OS IMS CONNECT Exit IMS Database manager SCI Operations Manager IMS CONNECT Extensions ODBM  DLI Universal  DLI WebSphere Application Server  WAS CSLDMI JDBC  Driver ODBM Database     Database     RECON Database     29
  30. 30. IMS  Catalog • Database  Considerations – Traditional  database  definitions  can  ‘miss’  the  entirety  of  the  data   • Define  a  segments  total  length – Also  can  define  a  Key  /  Sequence  field • The  remainder  is  defined  as  ‘space’ • Relies  on  the  application  program  to  map  the  ‘space’  using  copy  books – Relational  views  of  traditional  IMS  databases  using  SQL  or  JDBC • Require  search  fields  to  be  defined  in  the  meta  data – IMS  meta  data  is  stored  in  the  IMS  Catalog 30
  31. 31. IMS  Catalog • IMS  Version  12  added  an  IMS  Catalog – IMS  meta  data   • Single  source  of  trusted  repository  of  meta  data • Loaded  and  updated  from  IMS  ACBLIB • Use  IMS  14  with  the  IMS  Explorer  for  Development  to  create  DDL   – Send  DDL  directly  to  the  IMS  Catalog – IMPORT  DEFN  SOURCE(CATALOG)  to  activate  (TYPE  2  Command) – Uses  HALDB  for  its  layout   • Registered  to  DBRC • Uses  four  dataset  groups   • Database  maintenance  procedures  apply – Image  Copy – Reorganization – Recovery   – Loaded  and  updated  from  IMS  ACBLIB 31
  32. 32. Defining  Databases  for  Eventual  Use  in  the  Catalog DBD NAME=DI21PART, X ACCESS=(HISAM,VSAM), X PASSWD=NO, X DATXEXIT=NO, DATASET DD1=DI21PART, X DEVICE=3380, X OVFLW=DI21PARO, X BLOCK=(100,10), X SIZE=(4096), X RECORD=(678) SEGM NAME=PARTROOT, X EXTERNALNAME=PARTROOT, X PARENT=0, X BYTES=50, X RULES=(LLL,LAST), FIELD NAME=(PARTKEY,SEQ,U), X EXTERNALNAME=PARTKEY, X BYTES=17, X START=1, X TYPE=C, X DATATYPE=CHAR FIELD NAME=PARTNAME, X EXTERNALNAME=PARTNAME, X BYTES=24, X START=18, X TYPE=C, X DATATYPE=CHAR SEGM NAME=STANINFO, X Meta  data  update 1. Add  fields  needed   to  the  DBD  source   to  regen 2. FTP  Source  to  DBD 3. Generate  the  DBD 4. Generate  the  ACB 5. Perform  an  Online   Change 32
  33. 33. Expansion  into  SQL  access • Understanding  that  the  world  has  moved  towards  the  relational  view  of   databases  and  SQL  to  access  them – IMS  also  provides  the  ability  to  view  the  hierarchical  database  structure  in  a   relational  way • The  IMS  Enterprise  Suite  Explorer – Creates  an  SQL  View  of  the  Hierarchical  database » Metadata  mapping  from  the  IMS  Catalog • And  a  set  of  java  universal  drivers  that  interpret  the  calls  made  by  java   programs – Local  to  z/OS – From  remote  environments     33
  34. 34. SQL  calls  to  IMS  databases • IMS  Version  13  added  direct  SQL  access  using  COBOL  Version  5.1 – Builds  upon  the  catalog  trusted  meta  data – Allows  a  COBOL  application  program  to  make  SQL  calls  to  access  IMS   hierarchical  databases • Most  SQL  calls  are  supported • IMS  14  adds  more  SQL  support Partition A Partition B Partition C Partition A Partition B Catalog   Database Catalog   Secondary   Index Catalog IMS IMS  Explorer For  Development ACBs 34
  35. 35. IMS  Data  Base  Courses  Available In  order  to  begin  to  master  IMS  DB  concepts  definitions  and  operational   control  and  recovery,  the  following  courses  are  available:   • CM220  IMS  Physical  Organization  of  Databases.    4  Day  Lecture  /  Lab • CM301  IMS  DB  Performance  and  Tuning.  5  Day  Lecture  /  Lab • CM20  DBRC.  5  Day  Lecture  /  Lab • CM46  HALDB.  1  Day  Lecture   • CM50  IMS  Data  Sharing.  3  Day  Lecture  /  Lab – We  will  now  introduce  each  course  and  give  a  sample  of  information   contained  within Contact  your  IBM  representative  to  learn  more 35
  36. 36. IMS  Physical  Organization  Course  Objectives • Code  the  Database  Directories  (DBD)  and  Program   Specification  Blocks  (PSB)  for  physical  databases • Code  the  DBDs  and  PSBs  to  implement  secondary  indexing • Use  the  appropriate  IMS  utilities  to  reorganize  and  recover   physical  databases,  including  those  with  secondary  indexes • Use  the  DL/I  test  program • Prepare  a  job  stream  to  load  a  database  using  any  of  the  IMS   access  methods 36
  37. 37. Start  with  the  Most  Desirable  Block  (MDB):  CI/BLOCK  requiring  least  amount  of  I/O  to   perform  pointer  maintenance  during  insert  activity 1. Check  MDB  for  free  space 2. Check  2nd  MDB  for  free  space 3. Block  in  buffer  pool  from  same  track 4. Block  in  buffer  pool  from  same  cylinder 5. Block  on  same  track  (bit  map) 6. Block  on  same  cylinder  (bit  map) 7. Block  in  buffer  pool  within  +/-­ scan  cylinder 8. Block  within  +/-­ scan  cylinder  (bit  map) 9. Block  in  buffer  pool  at  end  of  data  set 10. Block  at  end  of  data  set  (bit  map)  – then  new  dataset  extent 11. Any  block  in  data  set  (bit  map) E S D S / O S A M BIT MAP MDB DATABASE DATA SET BIT MAP MDB BUFFER POOL HDAM HIDAM Sample  from  DB  Physical  Organization  Course HD  Space Search   Algorithm 37
  38. 38. IMS  DB  Performance  and  Tuning  Course  Objectives • Analyze  performance  data  about  the  IMS  database  environment • Choose  IMS  access  methods  and  options  that  provide  the  best   database  performance • Improve  performance  by  selecting  database  buffer  pools  and  buffer   pool  options  and  with  appropriate  data  set  access  method  and   storage  attributes • Implement  the  optimum  performance  options  for  VSAM  data  sets   at  define  and  execution  time • Evaluate  the  need  for  secondary  indexes  and  select  options  to   improve  their  performance 38
  39. 39. PROGRAM ELAPSED TIME - Operating System (MVS-z/OS) PAGING delays - Operating System (MVS-z/OS) DISPATCHING delay IWAIT TIME DATABASE I/O SYNC PT PROC LOCKING ACTIVITY WITHIN PROGRAM ISOLATION OR IRLM NOT-IWAIT TIME DLI CALL PROC DATABASE OPEN LOGGING I/O LWA WAIT: LOG BUFFERS LATCH REQUESTS BUFFER MGMT USER EXITS OTHER ... DLI ELAPSED TIME NOT-DLI TIME APPL PGM PROC DB2 CALLS Sample  from  DB  Performance  and  Tuning  Course 39
  40. 40. DBRC  Course  Objectives • Install,  implement,  and  manage  the  DBRC  (Database  Recovery  Control)   component  of  IMS  (Information  Management  System) • Identify  and  list  the  basic  elements  of  DBRC   • Describe  the  processing  of  DBRC  records   • Describe  the  data  sharing  environment • Describe  the  subsystem  interaction  and  database  authorization  process   • Register  full-­function,  fast  path,  HALDB,  non-­recoverable  databases,  and   their  data  sets   • Define  and  register  database  data  set  groups,  data  groups,  and  recovery   groups   • Define  and  register  change  accumulation  groups   • Describe  installation  tasks  for  DBRC  and  RECON  data  sets   40
  41. 41. CHAN 2 BCS VOL456 P.RECON2 CACHE CU2 CHAN 3 BCS VOL789 P.RECON3 CACHE CU3 BCS VOL123 P.RECON1 CACHE CU1 CHAN 1 Specify  DASD  fast  write  (DFW)  for  the  RECON  data  sets RECON   Placement Sample  from  DBRC  Course   41
  42. 42. HALDB  Course  Objectives • Define  HALDB  databases  and  their  partitions • Understand  database  administrator  responsibilities  in   managing  HALDB • Develop  procedures  for  the  support  and  recovery  of  HALDB • Migrate  databases  to  the  use  of  HALDB • Understand  application  design  issues  for  HALDB   42
  43. 43. • If  partition  PB  with  high  key  4000000  needs  to  be  split: – Unload  partition  PB • HD  Unload  or  HP Unload – Define  new  partition  PE   • Sets  PINIT  flag  for PB  and  PE – Initialize  partitions  PB  and  PE – Reload  partitions  PE  and  PB • HD  Reload  or  HP  Load – Partitions  PA,  PC,  and  PD are  not  affected PA 2000000 PB 4000000 PC 6000000 PD 8000000 PA 2000000 PE 3000000 PC 6000000 PD 8000000 PB 4000000 HD  Unload HD  Reload Define  new  partition Splitting  a  HALDB  Partition Sample  from  HALDB  Course 43
  44. 44. Data  Sharing  Course  Objectives • Define  IMS  subsystems,  IRLMs,  and  Coupling  Facilities  to   use  block  level  data  sharing • Design  recovery  procedures  for  failures  in  the  block  level  data   sharing  environment • Monitor  the  performance  of  a  block  level  data  sharing   environment • Explain  IRLM  and  Coupling  Facility  roles  in  supporting  block   level  data  sharing 44
  45. 45. 1Subsystem  A:  GHU  ACME (Holds  DB  record  lock  on  100  (RBA  of  Root  or  RAP) 2Subsystem  A:  REPL  ACME (Holds  block  lock  on  Block2) 3Subsystem  B:  GU  ZENITH (Holds  DB  record  lock  on  121) 4  Subsystem  B:  REPL  ZENITH  (Must  wait  till  block  lock  on  Block2  is  released) Database  Records Database  on  DASD 100 ACME NAIL 121 ZENITH SCREW Block1 Block2 Block3 100 121 ACME ZENITH NAIL SCREW Sample  from  Data  Sharing  Course • Full  Function  Locking  Example 45
  46. 46. Summary • IMS  is  a  database  manager – Supports  hierarchical  databases – Manages  highly  available  and  large  database – May  be  accessed  from  IMS  TM,  CICS,  WAS,  DB2,  distributed,  any  platform • IMS  is  a  transaction  manager – Multi-­address  space  architecture – Processes  messages – Schedules  and  manages  programs – May  be  accessed  via  VTAM,  TCP/IP,  MQ,  … – May  be  accessed  from  any  platform – Accesses  IMS  and  DB2  databases – This  is  another  ‘world’  to  learn  about 46
  47. 47. Reference  Information • More  information – IMS  home  page • www.ibm.com/ims – IMS  Primer SG24-­5352 • Available  at  www.ibm.com/redbooks – An  Introduction  to  IMS • Available  on  Amazon.com,  textbookx.com,  ibmpressbooks.com,  etc. 47

×