Attempting Dump and Load on Windows Platform

kjohnsoncda

New Member
I'm progress stupid.

This is progress workgroup, 9.1d sp9 Windows Server 2003 R2
4 gig of ram
Lots of drive space on a test server for learning how to dump and load this db.

We have a 5 gig progress db with a scatter factor showing 5.4 via tabanalys.

I am trying to dump and load the db.

I found the following script at the progress site and can't figure out how to execute this script (4GL?) from a cmd line.

DEFINE VARIABLE dir-name AS CHARACTER NO-UNDO FORMAT "X(25)".
DEFINE VARIABLE db-name AS CHARACTER NO-UNDO.
DEFINE VARIABLE front-end AS CHARACTER NO-UNDO.
DEFINE VARIABLE outstring AS CHARACTER NO-UNDO FORMAT "X(100)".
DEFINE VARIABLE delim AS CHARACTER NO-UNDO FORMAT "X(1)".
DEFINE STREAM dumpcmds.
DEFINE STREAM loadcmds.
SET dir-name.
IF OPSYS = "WIN32" THEN
DO:
ASSIGN delim = "~\".
OUTPUT STREAM dumpcmds TO dump.bat.
OUTPUT STREAM loadcmds TO load.bat.
ASSIGN front-end = "call proutil " + DBNAME.
END.
ELSE
DO:
ASSIGN delim = "/".
OUTPUT STREAM dumpcmds TO dump.sh.
OUTPUT STREAM loadcmds TO load.sh.
ASSIGN front-end = "proutil " + DBNAME.
END.
FOR EACH _file WHERE _file-num > 0 AND _file-num < 32768:
ASSIGN outstring = front-end + " -C dump " + _file-name + " " + dir-name.
PUT STREAM dumpcmds outstring SKIP.
ASSIGN outstring = front-end + " -C load " + dir-name + delim + _file-name + ".bd".
PUT STREAM loadcmds outstring SKIP.
END.
OUTPUT STREAM dumpcmds CLOSE.
OUTPUT STREAM loadcmds CLOSE.

How do I execute this script, or how can I get all the tablenames from this DB? Once I get all the table names, I could run
proutil dbname -C dump blah blah.
 
Alright, I can get the tablenames, and can dump them via the ProUtil.
proutil dbname -C dump Tablename pathtodbfile (Although I can't get hidden tables to dump?)

After dumping all of them, I am trying to load to another db slot....

I build the new empty db:
prostrct create dbname dbname.st -blocksize 4096
$ procopy %DLC%\empty4 dbname
Load the Data Definition file.
via: prowin32 ssi -p _admin.p -1 -rx

Then commence loading:
After loading for a while:
proutil dbname -C load C:\temp\TableName.bd

The log file gets to 2 GB and the whole process starts erroring out.

Am I supposed to have the db started in Multiuser mode while the load is happening?

Am I supposed to stop the load and truncate the log file and then resume loading?

help....
 
Hidden tables are the system tables which give you information on that particular database. If you create a new one, new system tables are used. (The tables who reside in emptyn.db).
So you don't want them to be dumped.

How big is this particular table? If I'm correct there is one transaction per load.
You can start the database in multiuser mode with -i. The -i parameter causes the bi file to grow less. If an error occurs the resulting database is unrecoverably damaged so you have to start over again. (Which you always should do if a load fails..)

If the problem still persists you could use multiple bi files to overcome the 2GB problem.

Casper
 
Back
Top