We have an issue with our indexes in that they are reporting as being ok but they clearly aren't
We recently moved over to a mirrored Iseries which was mirrored using QuickEdd
When we started to run on the mirrored machine we noticed that some of the indexes didn't seem to work anymore
There seems to be no obvious error reported and when I use EDTRBAP I see nothing needing a rebuild
One such example is the index below
SQL Index create statement . . . . . . . . :
CREATE INDEX MYFILEL3 ON DATLIB.MYFILEPF ( RFBK ASC , RFSRC ASC , R
FSTMP ASC ) WHERE ( RFATHF = + 1 AND RFATHU <> ' ' ) OR RFATHF = + 0
RCDFMT MYFILE1
When a program CHAINS to this index the CHAIN fails, now it should work fine (trust me it should get a hit!)
I wrote another few programs to do some checks and played with a new index and this is what I found...
1. I wrote a CHAIN program just to reproduce the live issue - it did reproduce the chain got no hit
2. A Setll, Read loop will work fine - it will use the above index and find all 4 entries
3. A setll ReadE loop will not work fine if you use the full key but if you drop the final part of the key (which is a timestampe) it is fine
4. I crreated a new index identical to the other one called MYFILELA and created a duplicate of the program at point 1 this time using the new index - and the CHAIN worked fine
5. I dropped the original index and recreated it and everything worked fine
All of the above proves that the index simply isnt working for some reason ? but why!
BUT I have many indexes and I have no way of knowing which ones are corrupt ! hence I am seeking the help of the gurus to give me some pointers (many of which I will probably have tried already by the way, as I have been working on Iseries for a long time)
If I do a line by line comparison of the MYFILEL3 and MYFILELA indexes using DSPFD they appear identical !
Thanks
We recently moved over to a mirrored Iseries which was mirrored using QuickEdd
When we started to run on the mirrored machine we noticed that some of the indexes didn't seem to work anymore
There seems to be no obvious error reported and when I use EDTRBAP I see nothing needing a rebuild
One such example is the index below
SQL Index create statement . . . . . . . . :
CREATE INDEX MYFILEL3 ON DATLIB.MYFILEPF ( RFBK ASC , RFSRC ASC , R
FSTMP ASC ) WHERE ( RFATHF = + 1 AND RFATHU <> ' ' ) OR RFATHF = + 0
RCDFMT MYFILE1
When a program CHAINS to this index the CHAIN fails, now it should work fine (trust me it should get a hit!)
I wrote another few programs to do some checks and played with a new index and this is what I found...
1. I wrote a CHAIN program just to reproduce the live issue - it did reproduce the chain got no hit
2. A Setll, Read loop will work fine - it will use the above index and find all 4 entries
3. A setll ReadE loop will not work fine if you use the full key but if you drop the final part of the key (which is a timestampe) it is fine
4. I crreated a new index identical to the other one called MYFILELA and created a duplicate of the program at point 1 this time using the new index - and the CHAIN worked fine
5. I dropped the original index and recreated it and everything worked fine
All of the above proves that the index simply isnt working for some reason ? but why!
BUT I have many indexes and I have no way of knowing which ones are corrupt ! hence I am seeking the help of the gurus to give me some pointers (many of which I will probably have tried already by the way, as I have been working on Iseries for a long time)
If I do a line by line comparison of the MYFILEL3 and MYFILELA indexes using DSPFD they appear identical !
Thanks
Comment