To estimate a full Oracle export space requirements, you can use DataPump.
The below command estimates for a full export of the database.
It makes use of the ESTIMATE_ONLY option on the expdp command line.
First you need to create your directory in the database:
> sqlplus / as sysdba
SQL> create directory dp_dump as '/your_path';
> expdp "/ as sysdba" full=y directory=DP_EXPORT logfile=full_exp_estimate.log estimate_only=yes
Total estimation using BLOCKS method: 2.418 GB
Job "SYS"."SYS_EXPORT_FULL_01" successfully completed at 18:50:48
The method above runs through each object to be exported and calculates the number of blocks relevant to the block size of each object, that will be required on disk.
If you have a large database and your statistics are up-to-date, then you could use the additional “ESTIMATE=STATISTICS” option, which uses the data gathered from the Oracle statistics collections to estimate the space required. This is a lot quicker but needs accurate stats.
The example above took 1 min.
With the “ESTIMATE=STATISTICS” option, it took 46 seconds, but estimated only 991.3 MB would be required (half as much as the BLOCKS method). There’s obviously some missing stats on objects in my DB.