File list and descriptions: My first aplication was page67.c, helped with de Ing. Luis Haquin (really, I know the informix structure, they know C!) Togheter we make these first routine. Informix track the chunks status in the reserved pages 6 and 7, using alternatively one and other. If a hard drive fail (or by mistake a permision is changed), one or more chunks are marked DOWN. These utility must be used with the engine OFF-LINE, because the values of these page are in memory and update with these values when the engine shut down. The page67.c take two or four parameters page67 rootpath page_number [chunk_number 0|1 ] where rootpath is where to find the first chunk (like ROOTPATH in tbconfig) page_number MUST BE 6 or 7 With these two parameters, the utility show information stored in the indicated page, i.e informix> page67 /dev/RIFX1 6 Page numero: 6 chk offset size free dbs flags pathname 1 0 500000 3599 1 40 /dev/RIFX1 2 0 75000 295 1 40 /dev/RIFX2 3 80000 400000 355 1 40 /dev/RIFX3 4 0 500000 846 1 40 /dev/RIFX4 5 0 500000 891 1 40 /dev/RIFX5 6 0 1000000 5213 1 40 /dev/RIFX6 7 0 1000000 260648 1 40 /dev/RIFX7 If one chunk is down, the flag is 20, not 40. With four parameters, you can make one chunk down or up especifing the chunk number and the new status (0=down, 1=up) informix> page67 /dev/RIFXIG1 6 7 0 These command put de chunk 7 (/dev/RIFXIG7) down in the page 6, repeate the command for page 7 (page67 /dev/RIFXIG1 7 7 0) If you run again the page67 /dev/RIFX1 6, the flag for the chunk number 7 is 20. If you have some chunk down, you can put them UP using the utility with the last parameter set to 1. Sorry for my english, I hope the explanation be understandable. The other utility named rchunk.c take advantage of one definition of my instalations, all the instances takes a unique indentifier of four digits, then, the chunks are named using one rule like /dev/RIFXnnnna, /dev/RIFXnnnnb, /dev/RIFXnnnnc, etc. Sometimes, I need to have two copies of the same instance in the same machine, boths online, but the name of the chunks make this impossible. I develope a utility with change the four digits of the chunk number in the reserved pages of the roodbs. Example: I have one instance with the next chunks: /dev/RIFX0001a, /dev/RIFX0001b, /dev/RIFX0001c. To duplicate the instance, follow these steps a) make a archive b) make a copy of the tbconfig (tbconfig.copy) c) shut down the engine d) run the rchunk utility: rchunk /dev/RIFX0001a 0002 The name of the chunks in the reserved page is changed from /dev/RIFX0001a, /dev/RIFX0001b, /dev/RIFX0001c to /dev/RIFX0002a, /dev/RIFX0002b, /dev/RIFX0002c. e) change the value of ROOTPATH in the tbconfig.copy from /dev/RIFX0001a to /dev/RIFX0002a f) change the SERVERNUM in the tbconfig.new g) change the names of the devices in the Operation System h) set TBCONFIG=tbconfig.copy i) put the engine online (some messages appears in the log file showing the change of the ROOTPATH). j) create the devices /dev/RIFX0001a, /dev/RIFX0001b, /dev/RIFX0001c. k) set TBCONFIG=tbconfig l) restore de backup m) done! The tbconfig.copy points to the copy data, and tbconfig point to original data. These utilities are devolped under SCO Unix 5.0.4 (development option), and tested on online 5.10.uc1 with cooked file and raw devices compile instruction: cc -o page67 page67.c the rchunk.c use the definitions of informix.h and the library base.c (separated for common use) cc -o rchunk rchunk base For any comment or suggestion, please e-mail me at gtobares@redmegatone.com