oracle 11g中有個新特性,當表無資料時,不分配segment,以節省空間。
alter
system
set deferred_segment_creation=false;
該引數值預設是true,當改為false時,無論是空表還是非空表,都分配segment。
需注意的是:該值設定後對以前匯入的空表不產生作用,仍不能匯出,只能對後面新增的表產生作用。
查詢之前已經建立的空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
把查詢結果匯出,執行匯出的語句
'alter table '||table_name||' allocate extent;'
如果表少,可以在空表執行插入一行再刪除,這樣資料庫表就會分配segment了。。。
Oracle11g使用exp匯出空表
1 oracle11g預設對空表不分配segment,故使用exp匯出oracle11g資料庫時,空表不會匯出。2 設定deferred segment creation 引數為false後,無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 sql alter syste...
Oracle11g使用exp匯出空表
1 oracle11g預設對空表不分配segment,故使用exp匯出oracle11g資料庫時,空表不會匯出。2 設定deferred segment creation 引數為false後,無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 sql alter syste...
Oracle11g使用exp匯出空表
1 oracle11g預設對空表不分配segment,故使用exp匯出oracle11g資料庫時,空表不會匯出。2 設定deferred segment creation 引數為false後,無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 sql alter syste...