Oracle 11g資料庫相關操作

暖楓無敵發表於2014-01-23

1、Oracle11g預設對空表不分配segment,故使用exp匯出Oracle11g資料庫時,空表不會匯出,怎麼解決?

辦法一:

  設定deferred_segment_creation 引數為FALSE後,無論是空表還是非空表,都分配segment。

   在sqlplus中,執行如下命令:

   SQL>alter system set deferred_segment_creation=false;

   檢視:
   SQL>show parameter deferred_segment_creation;


    請注意:該值設定後只對後面新增的表產生作用,對之前建立的空表不起作用。


辦法二:

    使用如下SQL語句,將所有的空表查詢出來,然後為其手動分配segment,

    select 'alter table '||table_name||' allocate extent;' from user_tables where decode(NUM_ROWS,null,0,NUM_ROWS)=0 ;

    對執行產生的SQL語句結果,再次執行一下即可。



相關文章