標籤:匯入 inux 匯出資料 back sid gpo 定時 資料庫連接 smo
需求:公司搭建的報表庫環境資料來自於生產環境oracle資料,因此需要使用kettle將oracle資料每天定時匯入到報表資料庫中(本文不討論如何用kettle導資料,不贅述),若要導資料我們需要一套完善的生產oracle資料庫的表結構。同時環境搭建以及oracle資料庫都在linux環境下部署,因此,需要在linux環境下使用資料泵技術將資料完成匯入匯出
以上為需求概述
具體實現(即:操作步驟):
su - root --切換root使用者(由於不知道oracle使用者的密碼使用root來登入oracle使用者)
su - oracle --在root使用者下切換oracle資料庫
ps -ef|grep smon ---查看資料庫執行個體
export ORACLE_SID=執行個體名 ----oracle執行個體
sqlplus sys/manager as sysdba; ----登入資料庫使用者資料庫串連
select * from dba_directories -----查看資料庫虛擬目錄(匯出資料存放的位置)
Grant read,write on directory 虛擬目錄名 to 資料庫使用者名稱;------為使用者賦予讀寫的許可權
Grant imp_full_database,exp_full_database to 資料庫使用者名稱;-----為使用者賦予匯入匯出的許可權
-----------從使用者匯出的兩種形式
expdp 使用者名稱/資料庫名 schemas=使用者名稱 dumpfile=dmp檔案名稱.dmp directory=虛擬目錄名 logfile=日誌名.log
expdp 資料庫名 directory=虛擬目錄名 dumpfile=dmp檔案名稱.dmp logfile=日誌.log schemas=使用者名稱
----------從使用者匯入的兩種形式
impdp 使用者名稱/密碼 directory=虛擬目錄名 dumpfile=dmp檔案名稱.dmp logfile=日誌名.log schemas=使用者名稱
impdp 資料庫名 directory=虛擬路徑名 dumpfile=匯入檔案名稱.dmp logfile=日誌名.log remap_schema=匯出來源資料庫使用者名稱:匯入來源資料庫使用者名稱;
以上為資料泵匯入匯出資料的大概步驟,可能步驟太過粗糙,以後再做完善吧,也希望大家可以提出好的改進建議,共同學習
在linux環境上對oracle資料庫的資料泵匯入匯出操作