11g中有個新特性,當表無資料時,不分配segment,以節省空間
解決方法:
首先使用下面的sql語句查詢一下當前使用者下的所有空表
select table_name from user_tables where num_rows=0;
然後用一下sql語句執行查詢
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
假設我們這裡有空表table_1,table_2,table_3,則查詢結果如下:
alter table table_1 allocate extent;
alter table table_2 allocate extent;
alter table table_3 allocate extent;
最後我們把上面的sql語句分別執行就可以了。
然後再執行匯出
exp 使用者名稱/密碼@資料庫名 file=/home/oracle/exp.dmp
Oracle匯出空表資料庫
經常我們在匯出資料庫進行備份的時候,會發現有些空表沒有匯出,如何匯出包含空表的完整資料庫呢?那麼請按照下面的方法進行即可。1.使用plsql工具,連線oracle資料庫 2.開啟乙個sql視窗,用以下這句查詢空表並生成執行命令 1select alter table table name alloc...
oracle資料庫匯出空表問題
11g中有個新特性,當表無資料時,不分配segment,以節省空間 解決方法 1 insert一行,再rollback就產生segment了。該方法是在在空表中插入資料,再刪除,則產生segment。匯出時則可匯出空表。2 設定deferred segment creation 引數 該引數值預設是...
Oracle 資料庫匯出全庫(包含空表)
原因是oracle預設匯出時,不匯出空表 具體解決辦法 select alter table table name allocate extent from user tables where num rows 0用該語句查詢資料庫的空表,同時生產分配空間的語句,把匯出結果儲存到檔案中tsv格式的,...