Oracle使用數據泵導入/導出數據(expdp/impdp)
-
A電腦上的操作(expdp數據導出)
- 運行cmd;
- 登錄數據庫,輸入命令:sqlplus
使用管理員角色登錄需要在用戶名后加“ as sysdba” 例如:sys as sysdba;
- 創建目錄路徑:輸入命令:create directory data_dir as 'E:\ora\data' ;
data_dir為路徑名稱,可自命名,E:\ora\data為數據庫導出文件存放路徑(路徑必須存在)
使用命令:select * from dba_directories可查詢用戶創建目錄 - 為oracle用戶授予訪問數據目錄的權限,輸入命令:Grant read,write on directory data_dir to dbuser;
dbuser為數據庫用戶名(與第5步中相同)
- 導入導出操作授權,輸入命令:grant exp_full_database,imp_full_database to dbuser;
- 退出,輸入命令:exit;;
- 數據導出,執行命令:expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log
expdp [為用戶名]/[密碼]@[服務名]
schemas=[為用戶名]
dumpfile=[導出數據庫文件(可自命名)]
directory=[目錄名]
logfile=[日志文件文件名(可自命名)]
注意:命令結束不需要加“;”
-
B電腦上的操作(impdp 數據導入)
- 運行cmd;
- 登錄數據庫,輸入命令:sqlplus
使用管理員角色登錄需要在用戶名后加“ as sysdba” 例如:sys as sysdba
- 創建目錄路徑:輸入命令:create directory data_dir as 'E:\ora\data' ;
data_dir為路徑名稱,可自命名,E:\ora\data為數據庫導出文件存放路徑(路徑必須存在)
使用命令:select * from dba_directories可查詢用戶創建目錄 - 為oracle用戶授予訪問數據目錄的權限,輸入命令:Grant read,write on directory data_dir to dbuser;
dbuser為數據庫用戶名(與第5步中相同)
- 導入導出操作授權,輸入命令:grant exp_full_database,imp_full_database to dbuser;
- 將從A電腦中E:\ora\data目錄下的.dmp數據泵導出文件拷貝至B電腦創建的目錄(E:\ora\data)中
- 退出,輸入命令:exit;
- 數據導入,執行命令:impdp user/123456@orcl REMAP_SCHEMA = dbuser:user table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log
impdp [用戶名]/[密碼]@[服務名]
REMAP_SCHEMA=[源用戶名1]:[目標用戶名2]
table_exists_action=replace /存在的表動作(覆蓋)/
directory=[目錄名]
dumpfile=[.dmp文件名]
logfile=[.log文件名]
