Hi Frank,

[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] wrote:
> 
> I want to make a full unload of a large database instance 
> "DEMO" (nearly 5GB) using the statement:
>      LOADERCLI -d DEMO -u dba,dba -b DBExtract.txt -E 20
> where DBExtract.txt has the folowing contents:
>      DBEXTRACT CATALOG OUTSTREAM 'catalog.out' DATA OUTSTREAM 
> 'data.out' 
> 
> The result is one file 'catalog.out' with the catalog 
> information and seven splitted files 'data.out0001' to 
> 'data.out0007' with the application data.
> 
Yep, that's alright. The loader sets a limit of 1 GB size for data
files. If the content of a table to extract would make the file 'overflow'
the loader closes this file and opens a new one.
Unfortunately there is an error when reading these multiple files (see below
for a workaround).

> Now i want to load this data into another database instance 
> "DEMO_2" using the corresponding DBLOAD-Command.
> But this command accepts only a single file as DATA INSTREAM.
> Also, sequential calls of DBLOAD with all the different 
> 'data.out*"-Files will result in a "Duplicate Table 
> Name"-Error due to the multiple catalog definitions.
> 
Well, as written there is a bug that prevents the Loader from reading
the multiple files. The workaround would be to extract the data again
with a slightly modified command.

To do this first delete all entries in system table TRANSFORMATIONMODEL.
This table is used by the Loader to process the commands. It logs there
tables to process and tables already processed. In the version you deploy
the Loader does not in any case delete all unnecessary entries after
successful command processing which may lead to double 
CREATE TABLE statements in catalog files when issuing subsequent CATALOGEXTRACT
commands.

Then run the following command
DBEXTRACT CATALOG OUTSTREAM 'catalog.out' DATA OUTSTREAM  PIPE 'data.out' 

Here it is extremely important to use the PIPE medium and to NOT create a pipe
on OS level beforehand.
The command will use an internal bug of the used file interface.
It (the interface) doesn't recognize a given pipe to open
as pipe (on Linux/Unix) as long as it is not created by operating system means.
But the Loader treats the medium as pipe and doesn't split it ;-) (if this sounds
weird - it is weird).
Thus the Loader will create only one simple file (if not limited by your OS parameters)
which can subsequently be loaded in the same manner (using the pipe medium without 
...).

Ok, if something stays unclear or doesn't work or another questions arise let us know.

Sorry for any inconvenience.

Regards,
 Steffen
-- 
Steffen Schildberg
SAP DB Team
SAP Labs Berlin

-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to