imp方式還原資料庫空間佔用特別大
今天在資料庫上透過imp的方式匯入一個資料庫dmp檔案,該檔案只有80M多點,心想這麼小的資料檔案應該不需要多大表空間,如是先建立了一個1024M的表空間,結果imp匯入發現空間不夠,如是再增加1G,再次匯入,再次報錯。。。增加了好幾次,最後乾脆一次增加4G,使整個表空間達到10G,終於正常匯入了,nnd。
檢視日誌,所有資料表基本沒什麼資料,怎麼會這麼佔空間了,如是檢視 dba_segments ,看看哪些物件最佔空間,發現佔空間的都是都是資料庫表,可檢視對應的匯入日誌,匯入的記錄條數卻為 0,奇怪,看看該表
select * from dba_tables where tablespace_name = 'ZZ_DB' and table_name='T_STDT';
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION DROPPED
ZZ T_STDT ZZ_DB VALID 10 1 255 671088640 1048576 1 2147483645 YES N 1471049 158694 0 0 0 368 0 0 1 1 N ENABLED 2000 2014/3/5 17:03:31 NO N N NO DEFAULT DISABLED YES NO DISABLED YES DISABLED DISABLED NO
發現統計資訊裡面,該表的資料記錄數為 100W多,難怪佔這麼大空間了,如是想到了給它 shrink 空間(這裡就不介紹shrink相關話題了)。
alter table zz.T_STDT enable row movement;
alter table zz.T_STDT shrink space cascade;
再次檢視該表的佔用空間,發現由原來的接近1G縮小到現在的0.3M了,再次查詢 dba_tables 該表的統計資訊,和前面一樣沒有變化,如是分析一下該表。
exec dbms_stats.gather_table_stats(ownname => 'ZZ',tabname => 'T_STDT',estimate_percent => 30,degree => 2,cascade => true,force => true);
分析完後,再次檢視dba_tables 該表的統計資訊
select * from dba_tables where tablespace_name = 'ZZ_DB' and table_name='T_STDT';
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION DROPPED
ZZ T_STDT ZZ_DB VALID 10 1 255 671088640 1048576 1 2147483645 YES N 0 0 0 0 0 0 0 0 1 1 N ENABLED 0 2014/3/5 17:16:57 NO N N NO DEFAULT ENABLED YES NO DISABLED YES DISABLED DISABLED NO
這次統計資訊已更新,記錄條數為0.
這樣看來,分析一下整個資料庫,這些表佔用的空間應該也能釋放了。
exec dbms_stats.gather_database_stats(estimate_percent => 30,degree => 4,cascade => true);
或者分析對應的schema
exec dbms_stats.gather_schema_stats(ownname => 'ZZ',estimate_percent => 30,degree => 4,cascade => true);
結果發現統計資訊是更新了,資料表所佔空間還是沒有被釋放。
檢視日誌,所有資料表基本沒什麼資料,怎麼會這麼佔空間了,如是檢視 dba_segments ,看看哪些物件最佔空間,發現佔空間的都是都是資料庫表,可檢視對應的匯入日誌,匯入的記錄條數卻為 0,奇怪,看看該表
select * from dba_tables where tablespace_name = 'ZZ_DB' and table_name='T_STDT';
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION DROPPED
ZZ T_STDT ZZ_DB VALID 10 1 255 671088640 1048576 1 2147483645 YES N 1471049 158694 0 0 0 368 0 0 1 1 N ENABLED 2000 2014/3/5 17:03:31 NO N N NO DEFAULT DISABLED YES NO DISABLED YES DISABLED DISABLED NO
發現統計資訊裡面,該表的資料記錄數為 100W多,難怪佔這麼大空間了,如是想到了給它 shrink 空間(這裡就不介紹shrink相關話題了)。
alter table zz.T_STDT enable row movement;
alter table zz.T_STDT shrink space cascade;
再次檢視該表的佔用空間,發現由原來的接近1G縮小到現在的0.3M了,再次查詢 dba_tables 該表的統計資訊,和前面一樣沒有變化,如是分析一下該表。
exec dbms_stats.gather_table_stats(ownname => 'ZZ',tabname => 'T_STDT',estimate_percent => 30,degree => 2,cascade => true,force => true);
分析完後,再次檢視dba_tables 該表的統計資訊
select * from dba_tables where tablespace_name = 'ZZ_DB' and table_name='T_STDT';
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION DROPPED
ZZ T_STDT ZZ_DB VALID 10 1 255 671088640 1048576 1 2147483645 YES N 0 0 0 0 0 0 0 0 1 1 N ENABLED 0 2014/3/5 17:16:57 NO N N NO DEFAULT ENABLED YES NO DISABLED YES DISABLED DISABLED NO
這次統計資訊已更新,記錄條數為0.
這樣看來,分析一下整個資料庫,這些表佔用的空間應該也能釋放了。
exec dbms_stats.gather_database_stats(estimate_percent => 30,degree => 4,cascade => true);
或者分析對應的schema
exec dbms_stats.gather_schema_stats(ownname => 'ZZ',estimate_percent => 30,degree => 4,cascade => true);
結果發現統計資訊是更新了,資料表所佔空間還是沒有被釋放。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-1101753/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- exp/imp備份與還原oracle資料庫Oracle資料庫
- 檢視資料庫佔用磁碟空間的方法資料庫
- HANA資料庫查詢大表佔用記憶體空間 for hana 2.0資料庫記憶體
- 資料夾不見了,但還佔據空間
- MYSQL造資料佔用臨時表空間MySql
- SQL SERVER 當前資料庫佔用Pool緩衝空間情況SQLServer資料庫
- 還原表空間過大的解決方案
- 【SQLServer】Tempdb空間異常增長,空間佔用非常大SQLServer
- 還原資料庫資料庫
- 資料庫還原資料庫
- ORA-01691 資料庫表空間佔滿資料庫
- 【原創】Oracle number date varchar2欄位型別佔用空間大小Oracle型別
- 微控制器中的資料型別佔用空間及取值範圍資料型別
- 使用IMP將資料匯入指定的表空間
- win7系統空間佔用大是怎麼回事?win7系統空間佔用大的清理步驟Win7
- 隨身碟資料看不見了,卻還佔用著記憶體空間如何處理記憶體
- 關於sqlserver2005 資料庫日誌佔用空間過大問題的處理思路SQLServer資料庫
- 檢視使用者的資料佔用的空間大小
- RAC環境中cdata資料夾佔用太多磁碟空間
- Oracle 11g用impdp還原資料庫Oracle資料庫
- 資料技術大融合,HSTAP資料庫有多少想象空間?資料庫
- 使用RMAN還原資料庫到某個時間點資料庫
- 利用Log還原資料庫到某一時間點資料庫
- 還原SQL Server資料庫SQLServer資料庫
- 資料庫空間重整方案資料庫
- oracle的空間資料庫:Oracle資料庫
- 清理oracle資料庫空間Oracle資料庫
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- 使用exp/imp來移動表空間到另一個資料庫中的例子資料庫
- centos Linux 統計某個資料夾佔用空間大小CentOSLinux
- Oracle審計--AUD$佔用空間較大處理方案Oracle
- linux查詢佔用空間較大的檔案Linux
- 通過資料庫檔案還原資料庫資料庫
- exp,imp 不同表空間大欄位處理方法
- undo表空間佔用磁碟空間滿案例處理
- 如何使Xcode佔用更少的空間 Xcode佔用空間太大解決方法XCode
- 還原表空間系列命令之一
- 還原表空間系列命令之二