This is a discussion on re: Informix to Oracle migration within the Informix forums, part of the Database Server Software category; --> <html> <head> <!-- Written by GoldMine : Version 6.50.31113 --> <title></title> </head> <BODY text="#000000" link="#0000FF"> <font size=2 style="font-family:'Tahoma';font-size:8pt;">With our ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| <html> <head> <!-- Written by GoldMine : Version 6.50.31113 --> <title></title> </head> <BODY text="#000000" link="#0000FF"> <font size=2 style="font-family:'Tahoma';font-size:8pt;">With our toolset (sorry okay so I'm blowing my own trumpet), the central issues tend to be:<p> 1/ The presence/absence of stored procedures, since any form of automated migration of these is quite tricky.<p> 2/ Volume of data, although this is typically a secondary consideration. The quantity of data simply indicates the amount of time it will take to load the data. You can typically convert the informix export files into files suitable for oracle's SQL loader to load. This can usually load data in an efficient form (off the top of my head you should be able to load a 10GB database in a few hours).<p> 3/ Use of various Informix specific constructs.<p> A/ The major construct which tends to cause issues is the "MATCHES" clause in WHERE conditions. This is because Oracle doesn't really have a direct equivlent, so if the authors have done some cool and hoopy stuff with it (for example SELECT * from tab1,tab2 where tab1.col matches tab2.col) you can wind up with quite a headache.<p> Typically all MATCHES statements have to be converted to LIKE statements.<p> B/ ISOLATION level and locking<p> Oracle has a fundamentally different locking model to Informix. Practically this means that statements like SET ISOLATION LEVEL are not required/not supported. Programs which behave critically on locking behaviour may also not work as expected.<p> C/ Other issues.<p> Most of what I have listed here are the issues you experience when porting with Querix's Hydra compiler. At can't comment on other porting schemes (such as those provided by 4js) other than to say that my undestanding is that there is considerably more work required. Hydra uses on the fly SQL translation to ensure that you don't have to rewrite all your dynamic SQL.<p> In particular if you were using another tool, you may need to worry about the behaviour of SERIAL columns, the use of ROWID within the program (which exists on oracle, but is a CHAR type) and the behaviour of temporary objects.<p> <p> Hope this helps anyway,<p> <p> </font><font style="font-family:'Arial';font-size:10pt;">----------------------- <b>Original Message</b> -----------------------<br> <br> </font><font size=2 style="font-family:'Tahoma';font-size:8pt;" color="#0000FF"> <p> >> A potential customer has asked me to provide an estimate of how long it<br> >> will<br> >> take to migrate their 4GL suite running on Informix "to Oracle".<br> <br> >> (I'm reminded here of Obnoxio's post of a while ago ridiculing another<br> >> rather vague question: "I have a piece of string in my pocket. How long<br> >> is<br> >> it? It's red by the way ..." <br> >> Seriously, though, what sort of things should we be asking beyond these?:<br> <br> >> 1. Complexity of schema (what sort of things, other than serial, are going<br> >> to be difficult to convert?)<br> >> 2. Number of lines of 4GL<br> >> 3. Number of stored procedures and triggers<br> >> 4. Total number of tables<br> >> 5 Volume of data<br> >> 6. Availability of original programmers/BAs<br> >> 7. Quality of documentation<br> <br> >> Assuming they don't want to re-write their app, they have to use a<br> >> third-party "universal" compiler like 4Js or Querix (or of course<br> >> Websphere<br> >> EGL, if they've the time to kill). Any other options?<br> <br> >> All (constructive) comments gratefully received.<br> <br> >> thank you.<br> >> Capt. P<br> <br> <br> <br> </font><font size=2 style="font-family:'Tahoma';font-size:8pt;"><br> <br> </font></body> </html> sending to informix-list |
| ||||
| Rod Chamberlin wrote: > > <html> > <head> > <!-- Written by GoldMine : Version 6.50.31113 --> > <title></title> > </head> > <BODY text="#000000" link="#0000FF"> > <font size=2 style="font-family:'Tahoma';font-size:8pt;">With our toolset > (sorry okay so I'm blowing my own trumpet), the central issues tend to > be:<p> 1/ The presence/absence of stored procedures, since any form of > automated migration of these is quite tricky.<p> > 2/ Volume of data, although this is typically a secondary consideration. > The quantity of data simply indicates the amount of time it will take to > load the > data. You can typically convert the informix export files into files > suitable > for oracle's SQL loader to load. This can usually load data in an > efficient form (off the top of my head you should be able to load a 10GB > database in a few hours).<p> > 3/ Use of various Informix specific constructs.<p> > A/ The major construct which tends to cause issues is the > "MATCHES" > clause in WHERE conditions. This is because Oracle doesn't really have a > direct equivlent, so if the authors have done some cool and hoopy stuff > with it (for example SELECT * from tab1,tab2 where tab1.col matches > tab2.col) you can wind up with quite a headache.<p> > Typically all MATCHES statements have to be converted to LIKE > statements.<p> B/ ISOLATION level and locking<p> > Oracle has a fundamentally different locking model to Informix. > Practically this means that statements like SET ISOLATION LEVEL are not > required/not > supported. Programs which behave critically on locking behaviour may also > not work as expected.<p> > C/ Other issues.<p> > Most of what I have listed here are the issues you experience when porting > with > Querix's Hydra compiler. At can't comment on other porting schemes (such > as those provided by 4js) other than to say that my undestanding is that > there is > considerably more work required. Hydra uses on the fly SQL translation to > ensure that you don't have to rewrite all your dynamic SQL.<p> > In particular if you were using another tool, you may need to worry about > the behaviour of SERIAL columns, the use of ROWID within the program > (which exists on oracle, but is a CHAR type) and the behaviour of > temporary objects.<p> <p> > Hope this helps anyway,<p> > <p> > </font><font > style="font-family:'Arial';font-size:10pt;">----------------------- > <b>Original Message</b> -----------------------<br> > <br> > </font><font size=2 style="font-family:'Tahoma';font-size:8pt;" > color="#0000FF"> <p> > >> A potential customer has asked me to provide an estimate of how > long it<br> > >> will<br> > >> take to migrate their 4GL suite running on Informix "to > Oracle".<br> > <br> > >> (I'm reminded here of Obnoxio's post of a while ago ridiculing > another<br> > >> rather vague question: "I have a piece of string in my > pocket. > How long<br> > >> is<br> > >> it? It's red by the way ..." > <br> > >> Seriously, though, what sort of things should we be asking > beyond > these?:<br> > <br> > >> 1. Complexity of schema (what sort of things, other than > serial, are > going<br> > >> to be difficult to convert?)<br> > >> 2. Number of lines of 4GL<br> > >> 3. Number of stored procedures and triggers<br> > >> 4. Total number of tables<br> > >> 5 Volume of data<br> > >> 6. Availability of original programmers/BAs<br> > >> 7. Quality of documentation<br> > <br> > >> Assuming they don't want to re-write their app, they have to > use > a<br> > >> third-party "universal" compiler like 4Js or Querix > (or of > course<br> > >> Websphere<br> > >> EGL, if they've the time to kill). Any other options?<br> > <br> > >> All (constructive) comments gratefully received.<br> > <br> > >> thank you.<br> > >> Capt. P<br> > <br> > <br> > <br> > </font><font size=2 style="font-family:'Tahoma';font-size:8pt;"><br> > <br> > </font></body> > </html> > sending to informix-list <grumble, grumble, grumble> fscking HTML posting crap <grumble, grumble, grumble) -- "C'est pas parce qu'on n'a rien à dire qu'il faut fermer sa gueule" - Coluche |