Random thoughts from an unusual company

8.5.1 Upgrades iSeries and IND Pains

Gabriella Davis  27 May 2010 13:28:09
Just coming out of my self imposed blogging exile as I had 2 concurrent 8.5.1 upgrades on the go which both came to a head last weekend.  In both cases (one involving 10 servers, one 8) we deployed 8.5.1 FP2 IF1 and enabled DAOS.  One of the upgrades involved a lot of iSeries work and to my frustration the DAOS conversions on the mail files (many of which were 7 - 13GB) in size was taking far too long.   I had planned to have everything complete over the weekend as, although we avoided having any downtime thanks to clustering, I still wanted to mail files rebuilt and re-indexed before Monday.

My problem is fairly common - all mail files were in the MAIL directory which meant I could issue a single compact command "load compact mail -c -DAOS ON" that would traverse the directory alphabetically but that would be just one process and at the weekend I had plenty of resource to run multiple side by side compacts so long as each was processing a different group of files.  The obvious solution which I have done many times before is to create IND filles and pass those to the compact process.  An IND file is just a text file containing a list of databases to process by filename and you can pass that to the compact task like this

load compact mailfiles.ind -c -DAOS ON

The compact process will then step through each file listed in mailfiles.ind.  That allows me to copy and paste the list of files out of the mail directory into a spreadsheet, sort them alphabetically, then divide up groups of files into different IND files and upload those onto the server.  Then I can start one compact process for each IND file I have, running several concurrently.

So I merrily head off and copy up my IND files to the iSeries via Ops Manager.  One file works.  The rest - created the same way - process the first file in the list and then say "database not found" when getting to the 2nd file and stop the compact process.  Fairly obviously it's some character translation problem between Windows or the Mac and iSeries - a return character most likely.  But why did one file work?  I tried the following

FTP instead of Ops Manager copy
Copying the one that worked inside the iSeries and editing that
Copying the one that worked inside Ops Manager and editing that
Removing the db on the first line in the IND file (that allowed compact to process the new file line and fail on the 2nd again)
Saving as unicode on the Mac
Saving as ANSI in Windows
Saving as Unicode in Windows
Threatening it

Eventually I was left with 2 options - manually create a file inside the iSeries using EDTF or get it working.  My fix ?  I tried copying the files, not into Excel, but straight from Administrator into a text editor and manually editing and saving (not worrying about sorting alphabetically).  Then uploading to the iSeries (both Ops Manager and FTP worked).  I then tried the same thing but instead of pasting into a text editor i pasted into Numbers on the Mac and sorted / copied from there into a text editor and copied up - worked beautifully

Excel J'Accuse!!!!

So if you are working with IND files and getting the error which means it won't process anything beyond the first line - go back to basics and trying creating the file in the simplest program possible first.  Worked for me

Design Compression now on.  Staying away from Data Compression for the time being thanks.  Considering going LZ1 if my testing this week goes OK.
Comments

1Len Berg  27/05/2010 15:05:21  8.5.1 Upgrades iSeries and IND Pains

Did you try the convert -l task to create the list of mail files?

2Gabriella Davis  27/05/2010 15:14:27  8.5.1 Upgrades iSeries and IND Pains

It didn't suit what I needed because I wanted multiple files sorted alphabetically into separate IND files. Although I could have created it locally I would have been making copies of it and editing them on the iSeries to get what I wanted. My pain point was focussed on why one file worked and the others didn't because creating the filles in the Windows or Mac OS and uploading them is a much better way for me to go.

3Darren Duke  28/05/2010 06:40:32  8.5.1 Upgrades iSeries and IND Pains

Try FTPing the IND file to the AS400 in binary binary.....I know, won't work right? Wrong. Try it.

4Ingo Spichal  28/05/2010 08:32:07  8.5.1 Upgrades iSeries and IND Pains

When we need to create txt-Files for certain jobs on our i5, we use Notepad++ to convert the content of the file to EBCDIC. Then we copy the converted file via Ops Manager or via a network share to the i5. I never had a problem with this routine.

5Gabriella Davis  28/05/2010 10:35:52  8.5.1 Upgrades iSeries and IND Pains

@Darren.. yeah I tried that. Didn't work.

@Ingo.. thanks for the tip - i'll grab Notepad++ and give it a try