Page Top

Oracle数据库使用expdp/impdp导出导入数据

背景:正式环境数据同步到测试环境,数据库名:MYDB,正式、用户:MYUSER(必须拥有SYS权限)。

1、正式环境备份数据库
(1)正式服务器上,cmd输入sqlplus,使用MYUSER账户登录
(2)创建一个自定义的目录,用于存放导出的数据

create directory DATA_OUT_FILE as 'E:\app\Administrator\admin\MYDB\my_dir\'; 

或者直接使用系统中已存在的目录,通过sql查询,获取DIRECTORY_NAME:

select * from dba_directories;

(3)创建expdp参数文件,另存为exp.par

# 目录名(DIRECTORY_NAME)
DIRECTORY=DATA_OUT_FILE
# 导出数据文件名(可自定义)
DUMPFILE=expdp_used_tables.dmp
# 生成的日志文件名(可自定义)
LOGFILE=expdp_used_tables.log
# 可以指定导出哪些表
TABLES=table1,table2
# TABLES和SCHEMAS参数只能选择其一,若使用SCHEMAS表示导出该用户下的所有对象
# SCHEMAS=MYUSER

(4)在cmd中执行以下语句,并等待数据导出完成

expdp MYUSER/password@MYDB PARFILE="E:\app\Administrator\admin\MYDB\my_dir\exp.par"

(5)拷贝expdp_used_tables.dmp到测试环境

2、测试环境导入数据
(1)测试服务器上,cmd输入sqlplus,使用MYUSER账户登录
(2)创建一个自定义的目录,用于存放expdp_used_tables.dmp

create directory DATA_OUT_FILE as 'E:\app\Administrator\admin\MYDB\my_dir\'; 

或者直接使用系统中已存在的目录,通过sql查询,获取DIRECTORY_NAME:

select * from dba_directories;

(3)创建expdp参数文件,另存为imp.par

DIRECTORY=DATA_OUT_FILE
DUMPFILE=expdp_used_tables.dmp
LOGFILE=expdp_used_tables.log
# 数据源用户与目标数据库用户的映射,必须
remap_schema=MYUSER:MYUSER
#导入时目标表存在时的操作
TABLE_EXISTS_ACTION=replace

TABLE_EXISTS_ACTION
1、skip:默认操作
2、replace:先drop表,然后创建表,最后插入数据
3、append:在原来数据的基础上增加数据
4、truncate:先truncate,然后再插入数据

(4)在cmd中执行以下语句,并等待数据导入完成

impdp MYUSER/password@MYDB PARFILE="C:\app\Administrator\admin\MYDB\my_dir\imp.par"
posted @   抹茶大虾球丶  阅读(662)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示