2014年12月18日 星期四

Oracle 11g使用exp匯出資料時,不會導出空表。

在轉資料的時候發生exp匯出資料時,不會導出空表。

使用exp/imp轉資料時,
從別的地方轉回來發現程式不能RUN,找了好久才知道原因。

Oracle 11g中,空的表格在exp指令中,為了節省空間並不會匯出表格。
為了解決這個問題,要將table的屬性改掉,才能順利匯出

從別的網站上找到的方法:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
以上的語句會匯出更改table屬性的語法,
執行那些語法就能夠順利將table匯出了!





另外,為了一勞永逸解決這些問題,記得更改系統參數。
alter system set deferred_segment_creation=false scope=both;

更改之後,新創立的table使用exp指令也可以輸出了。




參考網頁:
http://wanwentao.blog.51cto.com/2406488/545154
http://bloodsucker.pixnet.net/blog/post/40267539-oracle-11g-r2-%E9%82%A3-exp-imp-%E9%99%B7%E9%98%B1%E5%95%8F%E9%A1%8C