1. 程式人生 > >Oracle導出導入指定表

Oracle導出導入指定表

pri 備份 tail () erro scrip 數據導出 key ret

從源數據庫導出:

exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)

導入到目標數據庫:

imp user2/pwd@server2 file=c:\temp\exp.dmp tables=(table1, table2)

Oracle就是有這個優點,能夠直接將遠程的數據導出到本地。或者將本地的數據文件導入到遠程數據庫。

而SQL SERVER的備份、還原文件,一定是放在遠程服務器本機的。

補充一下,假設有很多表。那麽以上語句可能會換行。但以上命令是在DOS命令窗體執行的,命令行方式,容不得換行。

那咋辦呢?我的笨辦法是將語句復制到WORD文檔,然後將回車換行符替換掉。替換的方法:在替換窗體。查找內容輸入 ^p(註意是小寫),替換內容為空,然後替換就可以。

=====================================

以 sysdba 身份執行。導出導入指定用戶所屬表:

exp [email protected] as sysdba’ file=c:\temp\exp.dmp table
s=(sde.ISLAND)

imp [email protected] ’ file=c:\temp\exp.dmp fromuser
=sde tables=(ISLAND)

=================================================
假設表空間的名字不一樣。會報 ORA-00959 錯誤,咋辦?

1、先從源數據庫。導出建表腳本(DDL)

2、在新庫新表空間裏執行這些DDL

3、imp,加上fromuser,touser,ignore=Y選項

imp [email protected] as sysdba‘ file=c:\temp\base.dmp fromuser=hydg touser=hpm tables=(org_user,SYS_ONLINE,sys_userRoles,Org_Role,Org_Group,sys_Event) ignore=Y

有關ORA-00959 錯誤的應對之道,參考文章:

高速解決IMP中的ORA-00959

Oracle導出導入指定表