一、環境配置
1.執行環境:
exp/imp可以在客戶端執行也可以在服務器端執行,
在客戶端執行需要先安裝有oracle的客戶端,
如果是linux系統,就是以oracle用戶登錄,在控制台下執行。
建議在服務器端執行exp,備份速度快。
2.如果沒有配置oracle的exp/imp命令的環境變量,則進入到oracle的bin目錄:
# cd /opt/oracle_11/app/oracle/product/11.2.0/dbhome_1/bin
3.配置臨時環境變量:
# export ORACLE_HOME="/opt/oracle_11/app/oracle/product/11.2.0/dbhome_1"
# export ORACLE_SID=glassfish
4.切換到oracle用戶
# su oracle
二、exp/imp方式
1.導出全部表:
$ ./exp userid=demo/demo@glassfish file=./tb_test.dmp
2.導出部分表:
$ ./exp userid=demo/demo@glassfish file=./tb_test.dmp tables=tb_test,tb_user
3.導入全部表(導入之前需要刪除存在的表drop tables):
$ ./imp userid=demo/demo@glassfish file=./tb_test.dmp
4.導入部分表:
$ ./imp userid=demo/demo@glassfish file=./tb_test.dmp tables=tb_test,tb_user
三、expdp/impdp方式
1、首先建立目錄:
sql> create directory 目錄名稱 as '數據庫服務器上的一個目錄',如:
sql> create directory dmpdir as '/home/dmpdir';
將導入或導出的文件放在這個目錄下
2、導出及導入
以SID=glassfish,導出dmp的賬號為demo,導入dmp的賬號為demo為例。
若將數據從sfz中導出:
$ expdp demo/demo@glassfish directory=dmpdir dumpfile=tb_test.dmp
導入到test中:
$ impdp demo/demo@glassfish directory=dmpdir dumpfile=tb_test.dmp