1. 程式人生 > >在linux環境上對oracle數據庫的數據泵導入導出操作

在linux環境上對oracle數據庫的數據泵導入導出操作

表結構 數據庫實例 oracle實例 ger 日誌 文件名 dir linu 兩種

需求:公司搭建的報表庫環境數據來自於生產環境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數據庫的數據泵導入導出操作