linux 下使用exp/imp 或者expdp/impdp导出导入oracle数据表数据

一、环境配置

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

posted @ 2018-01-26 16:57  mhx_pyw  阅读(7496)  评论(0编辑  收藏  举报