Oracle空表開關

2021-10-18 19:44:10 字數 553 閱讀 8257

設定deferred_segment_creation引數(以下語句可以在cmd裡登入資料庫後執行):

檢視引數:show parameter deferred_segment_creation ;

設定引數:alter system set deferred_segment_creation=false;

需注意的是:該值設定後對以前匯入的空表不產生作用,仍不能匯出,只能對後面新增的表產生作用。

2、匯出以前匯入的空表

a,分析使用者下的所有表:將該sql語句查詢出的結果都執行一遍(目的為了查詢空表)

select 『analyze table 『||table_name||』 compute statistics;』 from user_tables;

b,查詢該使用者下所有的空表:將第二條sql語句的執行結果都執行一遍

select 『alter table 『||table_name||』 allocate extent;』 from user_tables where num_rows=0;

c,執行之後就可以匯出空表了

expdp

oracle 匯出空表

資料庫備份 空表不能匯出的問題處理 設定deferred segment creation 引數 設定deferred segment creation 引數為false來禁用 段推遲建立 也就是直接建立segment 無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 s...

oracle表空單清理

1.查詢表空間使用情況 sqlplus system manager topprod sql q tbsfree 2.查詢temp使用方法 sqlplus system manager topprod sql select d.tablespace name tablespace name d.st...

Oracle刪除非空表空間

先前建了乙個表空間 tablespace 有大約300個表,後來因為出了一些問題,想刪除重建。如果所有資料表都乙個乙個的刪除肯定特別麻煩,但是想把整個表空間都刪除,資料庫報了乙個ora 01549的錯誤 ora 01549 tablespace not empty,use including con...