Oracle匯出匯入指定表
阿新 • • 發佈:2018-11-09
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
從源資料庫匯出:
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 ‘sys/[email protected] as sysdba’ file=c:\temp\exp.dmp table
s=(sde.ISLAND)
imp ‘sys/[email protected] ’ file=c:\temp\exp.dmp fromuser
=sde tables=(ISLAND)
=================================================
如果表空間的名字不一樣,會報 ORA-00959 錯誤,咋辦?
1、先從源資料庫,匯出建表指令碼(DDL)
2、在新庫新表空間裡執行這些DDL
3、imp,加上fromuser,touser,ignore=Y選項
imp 'sys/[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 錯誤的應對之道,參考文章: