I presume that when you say:
> If i do onunload without split it´s ok
you mean the command starts without a nutty error but still fails when the output file reaches 2GB. Otherwise, why would you be posting.
What I see is that you are misunderstanding the pipe "|" usage in the shell. So let's clarify what's happening with your command:
> onunload -t archivo.out -b 32 -s 1000000 dbname | split -b 100k
This splits the STDOUT of the onunload process. There is no reason to believe it's going to split the file [that you specified with -t]. SO let's take that split out of the command line; onunload does not produce much stdout output unless it gets a gadzillion errors. (Actually, thouse would probably go to stderr so the split is utterly meaningless here.)
Now, let's address the reason you want to split: Repeating my guess from above, I'd say you are getting an error when the file reaches a certain size, like 2GB. Two possible causes; both may be true.
1. Your target file system has not been configured for "large files". As your Unix admin to fix this silliness.
2. You are using a version of IDS earlier than 9.4; none of the commands therein are "large file safe". You can't just quickly upgrade to >= 9.4, much as you should.
Either way, you must somehow split the "tape" file.
Quickest solution I know of:
1. Create a named pipe file (mkpipe or mkfifo, depending on your OS), say /tmp/yutz
2. Start a process reading from the pipe, like cat, piping its output to the split command so the command would be something like:
cat /tmp/yutz | split -b 1024m -a3 - onunload.dat
3. Now start the onunload process:
onunload -t /tmp/yutz -b 32 -s 2097120
With such a large "tape" size, it should not prompt for another tape volume unless your database is over 2TB. In the meantime, your SPLIT command is setting up files of size 1GB each, named onunload.dat.aaa, onunload.dat.aab, etc.
If your database
is over 2TB, you need some way to automate the handling of prompts and switching of output files; the split command would no longer be relevant there. That is beyond the scope of this lesson. :-)
Good luck!
-- Rasputin Paskudniak