怎樣恢復數據庫數據 如何把dmp文件導入數據庫中?
如何把dmp文件導入數據庫中?假設你的數據庫是tg(這個庫最好不要是生產庫),上面有個用戶a有imp的權限,你的dmp文件是d.dmp,為減少版本不一致的麻煩,建議最好在tg服務器上倒入,倒入要在操作
如何把dmp文件導入數據庫中?
假設你的數據庫是tg(這個庫最好不要是生產庫),上面有個用戶a有imp的權限,你的dmp文件是d.dmp,為減少版本不一致的麻煩,建議最好在tg服務器上倒入,倒入要在操作系統(tǒng)提示符下操作(要注意可執(zhí)行文件的搜索路徑),用下面命令可以先生成一個日志文件imp.log,看一下dmp文件的字符集、有哪些表空間、數據文件的位置
impa/a用戶的登錄口令file=d.dmpshow=yfull=ylog=imp.log
1.日志文件里會有dmp數據的字符集,如果與你現有數據庫字符集不同,最好分析一下,建議不要倒入了,重新建個庫,字符集與dmp的相同
2.如果這個dmp是用full=y生成的,日志文件里會有表空間數據文件的路徑,從它你大概可以猜到他是windows還是unix,如果與tg服務器操作系統(tǒng)不一樣,因為路徑問題,必需先建好表空間;如果操作系統(tǒng)一樣,那你必需在相應的盤符(win)下,建好相應的路徑,到時候會自動建立好表空間
3.如果這個dmp是用owner參數生成的,日志文件會告訴你他的owner是什么,那你必需先建好這些用戶,并賦予一定的權限
4.前面工作做完后就可以用下面命令倒入
impa/a用戶的登錄口令file=d.dmpfull=ylog=imp_1.logresumable=yresumable_timeout=86400
因為你不知道這個dmp倒入后會使用多少表空間,因此加了個resumable=y參數,這個參數表示當你倒入時,如果表空間不足以放下dmp中的數據,他會等待你86400秒去解決空間問題,如果在這個時間內解決了空間問題,倒入繼續(xù),如果沒解決,則報錯
如何將dmp數據庫文件導入到sqlserver中?
這個不行吧。
oracle的備份文件是二進制,必須解析它才能做呢,這個如何解析dmp文件只有oracle公司的人知道。因此dmp文件是不能導入到sql server里。建議把oracle里每個表導出文本文件,然后在sql server里用bcp in導入吧