經常我們在匯出資料庫進行備份的時候,會發現有些空表沒有匯出,如何匯出包含空表的完整資料庫呢?那麼請按照下面的方法進行即可。
1.使用plsql工具,連線oracle資料庫
2.開啟乙個sql視窗,用以下這句查詢空表並生成執行命令
1select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
得到類似下方的語句:
alter table sys_privilege allocate extent;
alter table sys_relevance_resource allocate extent;
alter table sys_relevance_target allocate extent;
alter table sys_resource_type allocate extent;
alter table task_feedback allocate extent;
alter table task_mytasktype allocate extent;
…3.將查詢結果的內容匯出或者拷貝,使用sql視窗進行執行。
4.執行完成後,即可用exp的命令或者指令碼進行匯出,得到完整的資料庫,包含空表。
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格式的,...
oracle資料庫匯出表
1 exp username password rows n indexes n compress n buffer 65536 feedback 100000 owner username file d username date dmp 2 exp username password rows ...