Forum OpenACS Q&A: Re: How to upgrade Oracle from 8.1.7.0 to 8.1.7.4 ?

Collapse
Posted by Guan Yang on
Bruno,

I used your Python script because the Perl one-liner printed a lot of error messages like this:

Malformed UTF-8 character (overflow at 0xca0c1314, byte 0x45, after start byte 0xff) in substitution (s///), <> chunk 1.

However, one thing occured to me. You're using 1 MB chunks. What if the string TABLESPACE <OLDNAME> lies exactly on a chunk boundary?

Guan

Collapse
Posted by Bruno Mattarollo on
Hello Guan,

I would say you are having a tough luck (sorry). You will get an error when trying the import and then you can try with a different chunksize. But that's a good question indeed ... :)

A modification to the script could be to look for a match at the end of a chunk for any match for any substring of "TABLESPACE " and if that happens, read the following chunk, check that at the beginning you can actually match the whole string you are looking for (concatenating both the previous chunk and this one) and do the replacement there ... :-?

Just my 2 cents,

/B