匯出oracle的dmp檔案,再重新進行匯入時,會有很多警告
可能是沒有匯出空表,導致dmp檔案中缺失了一部分表結構,可能對已存在的表產生了影響
方法一在圖形工具中,如sqldeveloper,pl/sqldeveloper執行
在當前使用者下
1、select 'alter table '||table_name||' allocate extent;' from user_tables
2、將執行結果,複製出來,放入到sql指令碼中,全部執行
**見到的
select 'alter table '||table_name||' allocate extent;' from user_tableswhere num_rows=0
這個語句不太準確
需要了解user_tables中的num_rows屬性
方法二設定deferred_segment_creation 引數為false後,無論是空表還是非空表,都分配segment。
在sqlplus中,執行如下命令:
sql>alter system set deferred_segment_creation=false;
檢視:sql>show parameter deferred_segment_creation;
該值設定後只對後面新增的表產生作用,對之前建立的空表不起作用。
oracle 匯出空表
資料庫備份 空表不能匯出的問題處理 設定deferred segment creation 引數 設定deferred segment creation 引數為false來禁用 段推遲建立 也就是直接建立segment 無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 s...
Oracle空表無法匯出的解決方法
由於oracle 11g的新特性,表資料如果為空,則延遲分配表空間,所以匯出的資料不全 1 設定立刻分配表空間 設定後,後續新增的表即使沒有資料會自動建立表空間,不再延遲建立 alter system set deferred segment creation false 2 查詢當前使用者下的所有...
解決oracle11g 空表不能exp匯出的問題
在使用exp備份資料庫,然後使用imp匯入的時候出現了好多表或者檢視不存在的錯誤資訊。究其原因,是11g中增加了乙個新的特性 資料條數是0時不分配segment,所以就不能被匯出。解決思路 就是向空表中增加一行資料。但是如果有很多空表,一行一行的匯入就好出現問題。下面是終極解決方案 在命令列執行 s...