ORACLE数据泵导入导出数据
Oracle使用数据泵导入/导出数据(expdp/impdp)
使用数据泵导出导入oracle大数据量表或库效率很快。此类文章太多的坑,都不完整,要不执行过程中就 错也说不清楚,本人整理一步一步截图,100%成功。下面介绍如何数据泵导入导出oracle数据表。
expdp数据导出
1、远程登陆数据库所在的服务器(DBA权限用户)
远程登陆oracle服务器
2、sqlplus system
3、创建目录路径
data_dir为路径名称,可自命名。路径是导出的dmp文件存放的路径必须存在。windows需要给路径换一下。
查询用户创建目录
select * from dba_directories;
删除创建的目录(如果需要更换目录需要先删除在创建,不需要更换不用删除)
drop directory data_dir;
注意… 注意:上面命令只是指定了导出文件存放的路径,但是这个路径需要自己手动创建。手动创建导出指定的路径,修改这个路径隶属用户组,修改权限。
3、修改权限
为oracle用户授予访问数据目录的权限,dbuser为你想要导出的那个用户名,这个用户有权限向你创建的目录下读写。
grant read,write on directory data_dir_nei to sjzy_dev;
grant exp_full_database,imp_full_database to sjzy_dev;
退出输入exit;
4、导出dmp文件
expdp userid='sjzy_dev/sjzy_dev@192.168.50.2:1521/orcl' directory=data_dir dumpfile=0003.dmp logfile=0003.log tables=TEMP_AREA
导出的命令有很多限制,上面是导出整个库。
比如:按照条件导出指定的表,导出指定表的指定满足where条件的数据等等……
自行百度查一下
expdp [为用户名]/[密码]@[服务名]
schemas=[为用户名]
dumpfile=[导出数据库文件(可自命名)]
directory=[目录名]
logfile=[日志文件文件名(可自命名)]
注意:命令结束不需要加“;
5、dmp导入
impdp sjzy_dev/sjzy_dev@192.168.50.2:1521/orcl directory=data_dir
dumpfile=XXX.dmp remap_schema=h_dong:sjzy_dev
REMAP_TABLESPACE=h_dong:sjzy_dev logfile=20210918.log
将xxx,dmp文件拷贝到data_dir变量的目录下/home/oracle/back/data
h_dong为imp文件导出的用户
sjzy_dev为imp文件要导入数据库的用户
