前言
今天王子要分享的內容是關於Oracle的一個實戰內容,Oracle的資料泵。
網上有很多關於此的內容,但很多都是複製貼上別人的,導致很多小夥伴想要使用的時候不能直接上手,所以這篇文章一定能讓你更清晰的理解資料泵。
開始之前王子先介紹一下自己的環境,這裡使用的是比較常用的WIN10系統,Oracle資料庫也是安裝在本機上的,環境比較簡單。
資料泵的匯入
匯入的資料檔案可能是別人匯出給你的,也可能是你自己匯出的,王子這裡就是別人匯出的,檔名字是YD.DMP。
在進行操作之前,一定要問清楚表空間名字,如果表空間命名不統一,可能會導致匯入失敗的問題。
所以第一步就是建立表空間,語句如下:
create tablespace VIEWHIGH datafile 'D:/app/admin/oradata/orcl/VIEWHIGH' size 1M autoextend on next 50M maxsize unlimited;
這裡的datafile路徑一般選擇你本地oracle的資料檔案路徑。
之後,我們可以建立一個新的使用者來匯入資料用,這個使用者名稱也可以提前問好,最好使用者名稱一致,否則需要做一次使用者名稱的對映,這個我們下文再說。
建立使用者語句如下:
create user DRGS_INIT identified by "vhiadsh" default tablespace VIEWHIGH profile DEFAULT ACCOUNT UNLOCK;
建立使用者後需要給使用者授權,語句如下:
--給新建使用者授DBA許可權 grant dba to DRGS_INIT; grant unlimited tablespace to DRGS_INIT;
接下來我們需要在本地的磁碟中建立一個資料夾,作為資料泵資料夾來使用,同時把DMP檔案放入到此資料夾下。
之後使用如下語句建立資料泵:
create directory data_dir as '/usr/oracle' ;-- 注意:windows 路徑為反斜槓:c:\oracle
這裡的data_dir是我們自定義的名字,匯入的時候與它一致即可。
之後就是匯入操作了,注意,匯入的命令不屬於sql哦,開啟本地的CMD命令列,輸入如下語句即可:
impdp drgs_init/vhiadsh@192.168.1.188/orcl directory=data_dir dumpfile=YD.DMP REMAP_SCHEMA=viewhigh:drgs_init
EXCLUDE=USER logfile=expdp.log
接下來對這條語句做一下解釋。
前邊就是正常的使用者名稱/密碼和oracle資料庫地址,directory指定的就是我們自定義的data_dir,dumpfile就是DMP檔名,REMAP_SCHEMA=原使用者:現使用者,也就是我們前文說到的使用者對映,如果使用者名稱一致,則不需要對映,EXCLUDE=USER指的是排除掉使用者,因為我們已經自己建立好了使用者,所以就把使用者排除掉,logfile指定的是日誌檔名,執行語句後日志檔案會在我們的data_dir路徑下。
到這裡資料泵的匯入就結束了。
資料泵的匯出
相比於匯入,匯出的工作就很簡單了。
同匯入操作一樣,我們也需要建立一個目錄,並通過以下語句建立資料泵:
create directory dump_dir as 'e:\dump';
之後我們直接執行匯出命令就可以了,命令如下:
expdp cospace/123456@orclWG directory=dump_dir file=COSPACE.dmp schemas=cospace logfile=expdp.log
schemas指的是要匯出的使用者名稱,dumpfile指的是要匯出的DMP檔名,directory指定剛剛自定義的dump_dir,logfile指定日誌檔名,執行語句後會在dump_dir路徑下。
到這裡,資料泵的匯出也結束了。
總結
今天王子向大家分享了Oracle資料泵的匯入匯出的實戰過程,內容還是比較簡單的,相信小夥伴們可以很容易的上手實踐。
如果實踐中遇到什麼問題可以留言,與王子一起討論。
往期文章推薦: