作業系統都是centos 原始伺服器名稱:A 目標伺服器名稱:B
在A伺服器操作
su - oracle
1、在Linux目錄建立目錄,用來儲存匯出的資料檔案
mkdir -p /home/oracle/expdp_dir //一台伺服器只要建立一次
sqlplus / as sysdba
2、建立邏輯目錄,該命令不會在作業系統建立真正的目錄
SQL> create directory expdp_dir as '/home/oracle/expdp_dir'; //一台伺服器只要建立一次
3、賦予匯出的使用者權限
SQL> grant read,write on directory expdp_dirto username;//實際情況可以根據使用者需要進行授權,有些使用者具有DBA許可權的就不需要了。
exit
4、匯出整個使用者資料庫
$ expdp username/userpassword@asid
DIRECTORY=expdp_dir DUMPFILE=fe.dmp //每次都要操作
在B伺服器中操作:
su - oracle
5、在Linux目錄建立目錄,用來儲存匯出的資料檔案
mkdir -p /home/oracle/impdp_dir //一台伺服器只要建立一次
在impdp_dir目錄下必須有讀寫權限
chmod 777 impdp_dir
6、檔案傳輸
可以通過SCP命令直接從A伺服器中用oracle使用者將資料庫檔案傳到B伺服器impdp_dir
或者是通過winscp,先將A伺服器上面的檔案傳到客戶電腦,然後在傳客戶電腦在開啟一個WINSCP會話有oracle登入,複製到impdp_dir目錄下面
sqlplus / as sysdba
建立邏輯目錄,該命令不會在作業系統建立真正的目錄
SQL> create directory impdp_dir as '/home/oracle/impdp_dir';//一台伺服器只要建立一次
SQL> grant read,write on directory impdp_dir to username;//實際情況可以根據使用者需要進行授權,有些使用者具有DBA許可權的就不需要了。
exit
8、匯入整個使用者資料庫
$ impdp username/password@bsid DIRECTORY=impdp_dir
DUMPFILE=fe.dmp