大家在工作中,應該很多接觸各種各樣的數據庫,筆者在此記錄一下,我的一次導出數據經歷。
工作環境是oracle+Linux(紅帽系統,類似centos)
1.進入linux系統(這里不在贅余)
2.運行sqlplus,建議創建oracle用戶 管理數據庫,直接輸入sqlplus 可能不行,需要修改系統的環境變量,我這里是用的
. /home/oracle/.bash_profile
臨時改變系統環境變量
3.在進入sqlplus 中,創建目錄路徑:輸入命令:
create directory my_url as '/u01/Backup/oracledata'
;(注:這里my_url和路徑可以修改為自己的)
查看路徑是否創建成功;
select * from dba_directories
4.授權 用戶
Grant read,write on directory my_url to myusers;
(myusers為數據庫用戶,沒有可創建)
5.數據導出,執行命令:
expdp 用戶名/密碼
expdp myusers/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=my_url logfile=expdp.log
directory=dmpfile --導出的邏輯目錄,務必要在oracle中創建完成的,並且給對應用戶授權讀寫權限
dumpfile=xx.dmp --導出的數據文件的名稱,如果想在指定的位置的話可以寫成dumpfile=/home/oracle/userxx.dmp
logfile=xx.log --日志文件,如果不寫這個參數的話默認名稱就是export.log,可以在本地的文件夾中找到
schemas=userxx --使用dblink導出的用戶不是本地的用戶,需要加上schema來確定導出的用戶,類似於exp中的owner,但還有一定的區別
EXCLUDE=TABLE:"IN('T1','T2','T3')" --exclude 可以指定不導出的東西,table,index等,后面加上不想導出的表名
network_link=db_local --這個參數是使用的dblink來遠程導出,需要指定dblink的名稱
舉例 :
expdp lims_data/********************* directory=lims_url dumpfile=data200302.dmp schemas=lims_data logfile=data200302.log