Oracle with exports (or expdp) stores at the dmp file the table data. Indexes are just "Create index statements" which will be created after loading the table data. So the key factor of how big will be your dmp file, depends on how much table data you have.
The following query calculates how much table data each schema takes on your database
SELECT owner, ROUND(SUM(size_mb)) MBytes FROM
(
SELECT owner, segment_name, segment_type, partition_name,
ROUND(bytes/(1024*1024),2) SIZE_MB,
tablespace_name
FROM DBA_SEGMENTS
WHERE SEGMENT_TYPE IN ('TABLE', 'TABLE PARTITION',
'TABLE SUBPARTITION') --AND TABLESPACE_NAME LIKE 'COSTE%' --AND SEGMENT_NAME LIKE 'OE_ORDER_LINES_ALL%' --AND partition_name LIKE 'USAGE_FCT_NEW%' --AND OWNER = 'TARGET_DW' --AND ROUND(bytes/(1024*1024),2) > 1000) ) GROUP BY owner ORDER BY MBytes DESC; OWNER MBYTES ------------------------------ ---------- TARGET_DW 3774208 TARGET_POC 673192 STAGE_DW 469263 PRESTAGE_DW 389326 SHADOW_DW 257233 PRESENT_PERIF 148063 SNAP 141565 PKIOUSIS 117535 DM_SPSS 44760 MONITOR_DW 35336 CUSTOMER_VIEW 29807for example if you export the SHADOW_DW schema, it will create a dmp file approximately 257233MB->250GBytes.
Tip:
Bear in mind that the actual dump file will have smaller size than 250GB!!!, because in most cases the TABLE DATA are fragmented!. Export-Datapump, removes fragmentation!.
Indexes, packages, procedures, views, etc, are not taking too much space in the dmp file, are just DDL statements.
SELECT 'expdp SYSTEM/oracle DUMPFILE=' || owner || '_%U.dmp
DIRECTORY=exp_dir PARALLEL=10 LOGFILE='
|| owner ||'.log schemas= ' || owner SQL
FROM (
SELECT owner, ROUND(SUM(size_mb)) MBytes FROM
(
SELECT owner, segment_name, segment_type, partition_name,
ROUND(bytes/(1024*1024),2) SIZE_MB,
tablespace_name
FROM DBA_SEGMENTS
WHERE SEGMENT_TYPE IN ('TABLE', 'TABLE PARTITION',
'TABLE SUBPARTITION')
--AND TABLESPACE_NAME LIKE 'COSTE%'
--AND SEGMENT_NAME LIKE 'OE_ORDER_LINES_ALL%'
--AND partition_name LIKE 'USAGE_FCT_NEW%'
AND OWNER <> 'SYSTEM'
--AND ROUND(bytes/(1024*1024),2) > 1000)
)
GROUP BY owner
ORDER BY MBytes DESC);
No comments:
Post a Comment