資料庫匯出空表的方法

2021-09-26 15:17:43 字數 541 閱讀 9234

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格式的,...