Problem solve Get help with specific problems with your technologies, process and projects.

Export dump with files larger than 2 GB

An Oracle user asks how to create an export dump with files larger than 2 GB.

I need to migrate my database from Oracle 8.0.6 to Oracle 10.2.0. This is a production database, so I need to be very, very careful with it. The size of this database is 100 GB.

I have written two scripts for migration, first: export only the definitions of database objects and second: export the rows. But I need to split the dump-file on size up to 2 GB, because Oracle doesn't understand dump-files more than 2 GB. But I don't know how to do this in Oracle 8.0.6. In Oracle 9i or 10g there are such parameters like FILESIZE. This parameter allows you to split a file on small size. And, how can I connect to a database like "internal," without inputting the password and username like "/as sysdba" in 9i or 10g?

Back when I used to work in Oracle 8.0, I used to implement a series of events to be able to create an export dump larger than 2GB in size. The steps are as follows on Unix command line:

mknod exp.pipe p
gzip < exp.pipe > exp.dmp.gz &
exp file=exp.pipe full=y ……

The trick above works because the exp utility writes to a pipe which is never more than a few bytes in size. The pipe just passes data to the gzip utility. To import, you can simply unzip the file and import with the 10.2 imp utility. Or, you can use the pipe as follows:

gunzip < exp.dmp.gz > exp.pipe &
imp file=exp.pipe full=y …

When done, you can remove the pipe like any other file. This works on Unix/Linux platforms. If using Windows, you can implement the same by implementing Cygwin.

In Oracle 9i+, there is no more INTERNAL user. But you can "connect / as sysdba" without a password in SQL*Plus. With the exp/imp utilities, you can specify 'username="/ as sysdba"'.

Dig Deeper on Oracle development languages

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.