Oracle 11G 用exp無法導出空表解決方法以及數據泵的使用

一、 insert一行,再rollback就產生segment了。

  該方法是在在空表中插入數據,再刪除,則產生segment。導出時則可導出空表。

二、 設置deferred_segment_creation 參數

該參數值默認是TRUE,當改爲FALSE時,無論是空表還是非空表,都分配segment。修改SQL語句:

alter system set deferred_segment_creation=false scope=both;

 

  需注意的是:該值設置後對以前導入的空表不產生作用,仍不能導出,只能對後面新增的表產生作用。如需導出之前的空表,只能用第一種方法。

三、 用以下這句查找空表

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

  把查詢結果導出,執行導出的語句,強行修改segment值,然後再導出即可導出空表,

注意:數據庫插入數據前,修改11g_R2參數可以導出空表

查找空表

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

 

四、 oracle10g以上版本的expdpimpdp工具,用此工具也可以導出空的表

 

oracle expdp/impdp 用法詳解

1) 創建邏輯目錄,該命令不會在操作系統創建真正的目錄,最好以system等管理員創建。

create directory db_bak as 'd:\test\dump';

 

2) 查看管理理員目錄(同時查看操作系統是否存在,因爲Oracle並不關心該目錄是否存在,如果不存在,則出錯)

select * from dba_directories;

 

3) 給system用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。

grant read,write on directory db_bak to system;

 

4) 導出數據

l 按用戶導

expdp system/manager@orcl schemas=system dumpfile=expdp.dmp DIRECTORY=db_bak

l 並行進程parallel

expdp system/manager@orcl directory=db_bak dumpfile=system3.dmp parallel=40 job_name=system3

l 按表名導

expdp system/manager@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=db_bak;

l 按查詢條件導

expdp system/manager@orcl directory=db_bak dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

l 按表空間導

expdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

l 導整個數據庫

expdp system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y

 

5) 五、還原數據

l 1)導到指定用戶下

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=system;

l 2)改變表的owner

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp TABLES=system.dept REMAP_SCHEMA=system:system;

l 3)導入表空間

impdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=example;

l 4)導入數據庫

impdb system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y;

l 5)追加數據

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章