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?
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
Related Q&A from Brian Peasland
Oracle expert Brian Peasland answers one reader's question about common pitfalls when connecting Oracle to outside programs. Continue Reading
One reader asks expert Brian Peasland a question about datafile sizes with the Oracle RMAN duplicate 10g command. Continue Reading
Managing parent table-child table relations in Oracle SQL environments is key to efficient programming. Continue Reading