Re: (Another) ontape to recover from a FIFO pipe
Posted in 2004
Jacob Salomon wrote:
> I wrote back to Andy:
>
>>My one big doubt is that the flat file is about 79GB in length and
>>we all know how Informix (especially my 7.23 clunker) handles files
>>longer than 2GB. Was your flat archive file similarly humongous?
>
>
> Well, Andy,
>
> it looks the doubts I had before were for naught. I didn't get
> anywhere that far in the restore directly from the file. I changed
> TAPEDEV to the target file (it was never compressed) and started
> the ontape:
>
> $ ontape -r>
> Please mount tape 1 on /inf_archive/archives/archive.L0 and press
> Return to continue ...
>
> The file is there, of course, so I simply press the Return key.
> Immediately, it comes back with:
>
> Physical restore failed - function open tape device
> /inf_archive/archives/archive.L0 failed code -1 errno 72
>
> What is error 72? finderr 72 says:
>
> -72 Not a stream device.
Don't believe what finderr says - look for 72 in
/usr/include/sys/errno.h and see what it says (probably file too big
or equivalent).
(On MacOS X, error 72 is EBADRPC - RPC struct is bad. That is not
your problem, but then it isn't your platform, either.)
The trouble is that the 7.23 code uses a version of stdio that can
only handle files up to 2 GB in size, so it fails to open any file
bigger than that.
> WHADAYAMEAN not a stream device?!! When I was teaching the class we
> always used flat file for the TAPEDEV and never encountered this
> error on the restore.
>
> Perhaps ontape opens the file and does a service call to obtain
> infor about the file and the length overflows..
It attempts to open the file, and the o/s refuses to allow it.
> I've seen Tim Brown's suggestion and I may eventually try this
> tack but I'm still trying to keep it simple
>
> Andy? Anyone else? I'm still taking suggestions..
--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/