oracle+如何解決oracle 11g數據庫沒法導出空表的問題

問題簡述:Oracle 11G在用EXPORT導出時,空表不能導出,這是由於11G R2中有個新特性,當表無數據時,不分配segment,以節省空間sql

解決方案:數據庫

1.設置deferred_segment_creation 參數 io

該參數值默認是TRUE,當改成FALSE時,不管是空表仍是非空表,都分配segment。table

使用sys用戶登錄,運行以下SQL語句:select

alter system set deferred_segment_creation=false scope=both;sql語句

 

注意:該值設置後對之前導入的空表不產生做用,仍不能導出,只能對後面新增的表產生做用。因此建議在ORACLE安裝好,數據庫導入以前,即進行此設置。方法

 

 2. 如在數據庫導入後才發現此問題,可採用以下方法解決:數據

強行修改空表的segment值,而後導出:查詢

用須要導出的數據庫用戶登錄,運行如下sql語句查找空表, scope

select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created='NO';

把查詢結果導出,執行導出的語句,強行修改segment值,而後再導出便可導出空表。

相關文章
相關標籤/搜索