oracle 11g在用exp匯出時,空表不能匯出。
11g中有個新特徵,當表無近據時,不分配segment,以節省空間
處理方法:
1、insert一行,再rollback就發生segment了。
該方法是在在空表中插入資料,再刪除,則發生segment。匯出時則可匯出空表。
2、配置deferred_segment_creation 引數
如:1、alter system set deferred_segment_creation=false;
2、show parameter deferred_segment_creation;
該引數值默許是true,當改為false時,無論是空表仍舊非空表,都分配segment。
需留意的是:該值配置後對以前匯入的空表不發生作用,仍不能匯出,只好對後面新增的表發生作用。如需匯出之前的空表,只好用第一種方法
3、這種方法也是有點笨拙,但當前只想到這個方法
(1)找到有哪些空表 如:select table_name from user_tables where num_rows=0;
(2)在執行下面的sql,有多少張空表就執行多少次。如:alter table 表名 allocate extent;
oracle11gexp匯出空表
oracle 11g 預設對空表不分配segment,故使用exp匯出oracle11g資料庫時,空表不會匯出。預設情況下,deferred segment creation 引數為true,將引數 deferred segment creation 引數設定為false後,無論是空表還是非空表,都...
Oracle11gExp匯出空表方法
之前有需求要匯入匯出資料,每次發現執行exp匯出的表都不全,後來發現,原來在11g新特性中,對exp的匯出做了限制。oracle11g 在使用exp 匯出資料時會出現空表不能匯出的問題,這是因為 1 oracle11g 預設對空表不分配segment,故使用exp 匯出oracle11g 資料庫時,...
解決ORACLE11g匯出表不全問題及匯入匯出
一 因oracle11對未占有空間記憶體的表 即未用過的表 不進行匯出,所以在進行exp時只匯出的表會不全。檢查user tables表發現沒有匯出的表的segment created屬性是no 解決辦法 1 可通過下面語句生成sql執行 select alter table table name ...