Moving from Progress 6 to 10

SPYO_O

New Member
Hello,

My server is running Progress 6 over UNIX SCO, I need to move all data to a new database on Progress 10 running over windows 2003.

I am a rookie on progress, Can you help me with this please?
Regards
Pedro
 
I believe (and others can tell me otherwise) that the blocksize is the same (1024) ?

You really should have one of the db gurus help you with planning this, as there are a number of huge differences between v6 and oe10, as well as optimizations as to areas and extents layout that should be considered. There are some on these forums that are very capable in this area.

That being said, you will have to do a number of steps to do the conversion:

Reworked from kbase entry ID: P48258
Title: "How to convert a version 6.X database to version 8.X?"

1. Backup the database, and confirm the backup is valid.
2. Truncate the Bi file under the version 6.X installation of Progress.
3. Move the .db and the .bi to the new server
5. Run the "83conv68" conversion utility in $DLC\bin\83utils
Syntax: $DLC\bin\83conv68 dbname

That should get it to V8.3.

Then from kbase D: P67854
Title: "Bundled Version 8 and 9 dbutilities available in OpenEdge 10, OE10"

OpenEdge 10 (OE10) comes with 83dbutils and 91dbutils bundled into the release. These utilities are provided for the purpose of being able to perform administrative tasks against an version 8 or 9 database without having to have the original version 8 or version 9 release installed.

The utilities are located in:

$DLC/bin/83dbutils (Version 8 utilities)
$DLC/bin/91dbutils (Version 9 utilities)

A readme file exists in each one of these directories. The readme file provides detailed information regarding commands/utilities located in these directories.

Version 8 utilities in 83dbutils:

File Name Summary

83makemultiv Use to convert a single volume PROGRESS Version 8.3
Database to multi-volume structure.

Usage: 83makemultiv <dbname>

83truncatebi Use to truncate the BI file for a PROGRESS Version 8.3
single or multi-volume Database.

Usage: 83truncatebi <dbname>

83conv68 Use to convert a PROGRESS Version 6 database to
PROGRESS Version 8.3 format. If the PROGRESS Version
6 database has a single volume structure the
83makemultiv utility should be used to convert it
to a multi-volume structure prior to running the
PROGRESS Version 9 conv89 utility.

Usage: 83conv68 <dbname>

83conv78 Use to convert a PROGRESS Version 7 database to
PROGRESS Version 8.3 format. If the PROGRESS
Version 7 database has a single volume structure the
83makemultiv utility should be used to convert
it to a multi-volume structure prior to running the
PROGRESS Version 9 conv89 utility.

Usage: 83conv78 <dbname>

NOTE: If the database you have from version 6 or 7 was created on a DOS or Novell system it will be 512 byte blocksize and the only way to migrate would be to perform a dump and load. These tools can not migrate from a 512 byte blocksize database.
The message you will receive is:
SYSTEM ERROR: Invalid blocksize 512 in database <database name>. (4521)

Version 9 utilities in 91dbutils:

File Name Summary

91truncatebi Use to truncate the bi file for a PROGRESS Version 9.1
single or multi-volume Database.

Usage: 91truncatebi <dbname>

91conv89 Use to convert a PROGRESS Version 8 database to
PROGRESS Version 9.1 format.

Usage: 91conv89 <dbname>

To execute one of the commands above, either provide explicit path to the executable itself like $DLC/bin/91dbutils/91truncatebi or add the directory to your $PATH environment variable.

Then finally from ID: P50262
Title: "Is there a utility to convert a version 9 database to version 10 ?"





Goals:
Is there a utility to convert a version 9 database to version 10 ?
What is proutil conv910 ?
How to use conv910 ?
One of the ways to convert a V9 database to V10: conv910
How to migrate a database from Progress 9 to OpenEdge 10



Facts:
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems




Fixes:
Firstly, make a backup of your V9 database,
Syntax: probkup <db> <database backup file>

Secondly, truncate the database before image files,
Syntax: proutil <db> -C truncate bi -G 0

Then convert the database
Syntax: proutil db-name -C conv910

Upon successful completion of the conversion backup the database.

You now have a Progress 10.x database.
Further considerations include:

a) Planning Storage Areas, i.e., not to have all tables and indexes in the "Schema Area".
b) A "proutil <db> -C tabanalys" will tell you the average size of the records in each table, from which you can plan the optimal number of records per block for the tables in your database structure file (.st).

c) The areas are added to an existing database using "prostrct add <db> <db.st>", then tables and indexes can be moved to newly planned Storage Areas with "proutil db -C tablemove <table> <index>"

d) The proutil utility has an option "-C mvsch" which allows to the reducing of the schema area to a minimal size.
The above is extracted from the documentation - please refer to the documentation for further details.


Notes:
References to Written Documentation:

Progress Database Administration Guide and Reference The proutil db-name -C conv910 conversion process should only take minutes to complete.ID: P50262
Title: "Is there a utility to convert a version 9 database to version 10 ?"
Created: 10/27/2003 Last Modified: 08/14/2009 Status: Verified


Goals:
Is there a utility to convert a version 9 database to version 10 ?
What is proutil conv910 ?
How to use conv910 ?
One of the ways to convert a V9 database to V10: conv910
How to migrate a database from Progress 9 to OpenEdge 10



Facts:
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems




Fixes:
Firstly, make a backup of your V9 database,
Syntax: probkup <db> <database backup file>

Secondly, truncate the database before image files,
Syntax: proutil <db> -C truncate bi -G 0

Then convert the database
Syntax: proutil db-name -C conv910

Upon successful completion of the conversion backup the database.

You now have a Progress 10.x database.
Further considerations include:

a) Planning Storage Areas, i.e., not to have all tables and indexes in the "Schema Area".
b) A "proutil <db> -C tabanalys" will tell you the average size of the records in each table, from which you can plan the optimal number of records per block for the tables in your database structure file (.st).

c) The areas are added to an existing database using "prostrct add <db> <db.st>", then tables and indexes can be moved to newly planned Storage Areas with "proutil db -C tablemove <table> <index>"

d) The proutil utility has an option "-C mvsch" which allows to the reducing of the schema area to a minimal size.
The above is extracted from the documentation - please refer to the documentation for further details.


Notes:
References to Written Documentation:

Progress Database Administration Guide and Reference The proutil db-name -C conv910 conversion process should only take minutes to complete.
 
If I were doing this I would do it by way of a dump & load.

If the database is not too terribly large then an ordinary "data dictionary" dump would be feasible.

If there is a lot of data and you have a short window then you will need to get more creative.

So answer a couple of questions and maybe we can give some more specific advice:

1) How big is the v6 database?

2) How much time do you have to complete the conversion? (Do you have a window of a couple of hours or a couple of days?)

3) Getting off SCO is a good idea. But why go to W2K3? That's trading one obsolete OS for another...
 
Thank you for you replys

I've the next scenario:
the Unix Sco Server running progress 6 with only 300 MB of free space on disk, The Idea is to move ASAP the progress 6 to a Windows Box with a new version of Progress that support ODBC connections (8, 9 or 10 no problem).

The database size is about 1GB.

thank you
Pedro
 
0) Obtain and install Progress 10.2A for Windows on your new server. Transfer all of the code and so forth. Do whatever testing you need to do.

1) Go on a wasted space hunt and carve out some more free disk space. Or find a way to mount some additional disk (perhaps using SAMBA, NFS or a USB drive...)

2) It's only a 1GB database. You still haven't indicated how much time you have to make the conversion so I'll assume that nobody cares how long it takes.

3) So go into the data dictionary like so:

mpro dbname -p dict.p

3a) select Admin -> Dump Data and Definitions -> Data Definitions

Transfer the .df file and load it into an empty database on the windows box.

3b) select Table Contents and choose tables to dump.

As table dumps finish transfer the data and then delete the .d files. Hopefully none of them are larger than however much free space you manage to find.

After transferring the data load it into the windows database.

4) Recompile. Test. Go live.
 
Hello,
I've downloaded and installed Porgress 10 on my windows box.
Unfortunatly i'm not able to dump my DB from progress 6 because there aren't enough free space on the unix box and also I haven't skill on UNIX to recompile the kernel to add a USB drive.
So, I think that my only alternative is to connect via ODBC to extract all data of the Progress 6 and then I may quickly move to a new Database.

exists any via to connect to progress 6 via ODBC drive?

Regards
Pedro
 
Who sold you Progress 10?

I think you should ask them for help, your situation is too hard for solving by yourself.

Good luck.
 
As I said above... do it one table at a time. Presumably your database has multiple tables in it right? The total is just 1GB. So it isn't unreasonable to think that the biggest table is going to be less than 300MB.
 
Thank for you help,
one question more..
Do you know any other tools for Windows to establish a native connection to progress 6 database and export the data to a standard format ? (i.e. csv,xml, etc)

best regards
Pedro
 
It seem work!!
I've exported the .df and .d file of two tables and imported to Progress 10 folowing your instructions.

the only problem was when the import finish a error message appears on screen. Bellow the message error.

>> ERROR! -d <mdy> or -yy <n> settings of dump were -1990
** but current settings are dmy-1950. May cause load errors.


what about this error?

Thank you very much
Pedro
 
That is relevant to the assumed century when data is represented with 2 digit years. Version 6 is so old that it dumps data in ascii format with a 2 digit year.

As I recall the default -yy for v6 was 1900. Meaning that 2 digit years are assumed to be between 1900 and 1999.

The -d parameter specifies mdy, ymd etc field ordering.

If these parameters are not the same on both ends of a dump and load and if date data is involved it may be loaded incorrectly.
 
Hi Tom,

Now I'm thinking to move the Unix SCO server (S1) to other Unix SCO server (S2) with more space on disk available.

I've installed a new Unix SCO server and the command rcp (remote copy) work fine in both server.

Do you know the step that I should do to move the files of (S1) to (S2) including user,password,progress dtabase engine, progress confuration. etc??

thanks in advance
Best regards
Pedro
 
If you shutdown the database and then copy everything preserving file ownership and permissions then it should work.
 
Back
Top