Problems upgrading from OpenEdge 10.0B to 10.2B

Tom2010

New Member
Hi,
I have been asked to get a database which was used with 10.0B to 10.2B. When I try to connect using Data Administration application I get a message stating that the db file needs truncating and that I should use the proutil tool to do this.

When I do: proutil [database] -C truncate bi (10.2B proutil tool)
I get the error that it needs the proutil tool from 10.1A.

OpenEdge Release 10.2B as of Mon Dec 14 17:02:01 EST 2009
This codebase cannot open a 32-bit DBKEY database if the BI file is not truncated. (13711)
Event Logger error: Could not find 'PROMSGS.DLL'. (5194)
Use the 10.1A proutil utility to truncate the BI file. (13727)


Is there any way to get a OpenEdge 10.2B server working with a 10.0B database file?
Thanks for your help,

Tom
 

RealHeavyDude

Well-Known Member
In between this two versions the 64Bit ROWIDs have been introduced. In order to convert the ROWIDs from 32 to 64Bit when accessing the database the first time with the new version ( OE10.2B ) the before image file must have been truncated in the old version ( OE10.0B ). AFAIK, there is no way around that.

HTH, RealHeavyDude.
 

Tom2010

New Member
In between this two versions the 64Bit ROWIDs have been introduced. In order to convert the ROWIDs from 32 to 64Bit when accessing the database the first time with the new version ( OE10.2B ) the before image file must have been truncated in the old version ( OE10.0B ). AFAIK, there is no way around that.

HTH, RealHeavyDude.

Ok, so in 10.0B the row ids were 32-bit and in 10.2B the row ids are 64-bit. Just to be clear, are you saying there is no way to open a 10.0B database in 10.2B?
 
Just trancate BI file with old version and start server with 10.2B. Db will be converted to 64 bit structure automaticly and can be accessed.
 

RealHeavyDude

Well-Known Member
Usually, when doing a minor Progress version upgrade you just needed to install the new version, start the database and off you go ...

That is not true when you upgrade from a version that had 32Bit ROWIDs to a version that has 64Bit ROWIDs. AFAIK, the reason for that is, that if there are transaction notes pending to rolled back or forward in the before image it can't be done by the new version since the address of the ROWIDs must change. You can access the database with the new version, but you need to truncate the before image in the old version in the first place.

HTH, RealHeavyDude.
 

TomBascom

Curmudgeon
When upgrading:

1) shutdown using old version
2) truncate bi file using old version
3) do whatever you do to get new version in PATH & set DLC properly
4) restart db with new version

There is no "trick" method that let's you open an untruncated db using the new version. If you have deleted the old version you will have to re-install it. Unless it happens to be one of those provided in $DLC/bin/*utils. (Actually running those binaries can be very frustrating - the environment isn't usually set properly and figuring it out is a major PITA.)
 

TomBascom

Curmudgeon
It is true that you do not always have to truncate the bi file when doing a minor upgrade. But it is required often enough that it is a good habit to get into.
 

Tom2010

New Member
It is true that you do not always have to truncate the bi file when doing a minor upgrade. But it is required often enough that it is a good habit to get into.

Thanks everyone, I have now managed to do it with your help and some support from progress. For the record this is how I did it.1) cd %DLC%\bin\101dbutils2) set DLC=\bin\101dbutils3) set PROMSGS=%DLC%\promsgs4) set PROCFG=%DLC%\progress.cfg5) set PROCONV=%DLC%\convmap.cp6) set PROSTARTUP=%DLC%\startup.pf7) set PATH=%DLC%:%PATH%8) cd 9) 101a_dbutil -C truncate bi10) 101a_dbutil probkup
 
Top