- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-06-2002 10:26 PM
12-06-2002 10:26 PM
Re: file too large
hi michelle,
Maybe you are facing the 2 gig limit on the OS!
I did something a years ago with my Oracle 7 Database exports. Maybe you can find some hints from this.
============================================================The 2 gig limit will apply IF you let export write directly to the file. I use
export to a PIPE and have compress and split read the pipe. The result is a
couple of 500meg compressed files that consistute the export. At 500meg, any
utility can deal with this files and I can move them around easier.
Here is the CSH script I use to show you how it is done. It does a full export
and then tests the integrity of the export by doing a full import show = y.
that gives me a file with all of my source code and ddl to boot.
#!/bin/csh -vx
setenv UID /
setenv FN exp.`date +%j_%Y`.dmp
setenv PIPE /tmp/exp_tmp_ora8i.dmp
setenv MAXSIZE 500m
setenv EXPORT_WHAT "full=y COMPRESS=n"
echo $FN
cd /nfs/atc-netapp1/expbkup_ora8i
ls -l
rm expbkup.log export.test exp.*.dmp* $PIPE
mknod $PIPE p
date > expbkup.log
( gzip < $PIPE ) | split -b $MAXSIZE - $FN. &
#split -b $MAXSIZE $PIPE $FN. &
exp userid=$UID buffer=20000000 file=$PIPE $EXPORT_WHAT >>& expbkup.log
date >> expbkup.log
date > export.test
cat `echo $FN.* | sort` | gunzip > $PIPE &
#cat `echo $FN.* | sort` > $PIPE &
imp userid=sys/o8isgr8 file=$PIPE show=y full=y >>& export.test
date >> export.test
tail expbkup.log
tail export.test
ls -l
rm -f $PIPE
------------ eof -------------------------
============================================================
Otherwise, if you are running an Oracle 8i database, there is already a solution! try:
============================================================
#!/bin/sh
LOG_PATH=/BACKUP/export/logfiles
ORACLE_HOME=/d01/app/oracle/product/8.1.7
DMP_PATH1=/backup1/export
#DMP_PATH2=/backup2/export
ACC_PASS=system/manager
export dt=`date +%Y-%m%d`
$ORACLE_HOME/bin/exp $ACC_PASS filesize=1024M file=\($DMP_PATH1/cmtdbexp"$dt"FULLa.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLb.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLc.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLd.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLe.dmp\) buffer=409600 log=$LOG_PATH/cmtdbexp"$dt"FULL.log full=Y grants=Y rows=Y compress=N direct=n
#YD-12/01/1999
============================================================
Hope this helps
Best Regards
Yogeeraj
Maybe you are facing the 2 gig limit on the OS!
I did something a years ago with my Oracle 7 Database exports. Maybe you can find some hints from this.
============================================================The 2 gig limit will apply IF you let export write directly to the file. I use
export to a PIPE and have compress and split read the pipe. The result is a
couple of 500meg compressed files that consistute the export. At 500meg, any
utility can deal with this files and I can move them around easier.
Here is the CSH script I use to show you how it is done. It does a full export
and then tests the integrity of the export by doing a full import show = y.
that gives me a file with all of my source code and ddl to boot.
#!/bin/csh -vx
setenv UID /
setenv FN exp.`date +%j_%Y`.dmp
setenv PIPE /tmp/exp_tmp_ora8i.dmp
setenv MAXSIZE 500m
setenv EXPORT_WHAT "full=y COMPRESS=n"
echo $FN
cd /nfs/atc-netapp1/expbkup_ora8i
ls -l
rm expbkup.log export.test exp.*.dmp* $PIPE
mknod $PIPE p
date > expbkup.log
( gzip < $PIPE ) | split -b $MAXSIZE - $FN. &
#split -b $MAXSIZE $PIPE $FN. &
exp userid=$UID buffer=20000000 file=$PIPE $EXPORT_WHAT >>& expbkup.log
date >> expbkup.log
date > export.test
cat `echo $FN.* | sort` | gunzip > $PIPE &
#cat `echo $FN.* | sort` > $PIPE &
imp userid=sys/o8isgr8 file=$PIPE show=y full=y >>& export.test
date >> export.test
tail expbkup.log
tail export.test
ls -l
rm -f $PIPE
------------ eof -------------------------
============================================================
Otherwise, if you are running an Oracle 8i database, there is already a solution! try:
============================================================
#!/bin/sh
LOG_PATH=/BACKUP/export/logfiles
ORACLE_HOME=/d01/app/oracle/product/8.1.7
DMP_PATH1=/backup1/export
#DMP_PATH2=/backup2/export
ACC_PASS=system/manager
export dt=`date +%Y-%m%d`
$ORACLE_HOME/bin/exp $ACC_PASS filesize=1024M file=\($DMP_PATH1/cmtdbexp"$dt"FULLa.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLb.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLc.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLd.dmp, $DMP_PATH1/cmtdbexp"$dt"FULLe.dmp\) buffer=409600 log=$LOG_PATH/cmtdbexp"$dt"FULL.log full=Y grants=Y rows=Y compress=N direct=n
#YD-12/01/1999
============================================================
Hope this helps
Best Regards
Yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)