Oracle之表中数据被删除了怎么办(前提条件在另一台数据库服务器上存在该数据)

1、情景介绍:两台测试数据库,由于开发可以登录测试环境,由于不小心删掉了其中一台数据库中某表的几十万条数据,想要快速将另一台数据库中该表数据导入到被删除数据的数据库当中。

2、步骤介绍:(1)expdp导出dmp文件

                     (2)将dmp包放到另一台数据库中的目录下

                     (3)impdp导入 dmp文件

3、详细步骤

参考:https://jingyan.baidu.com/article/ca00d56c222aaee99eebcfa9.html

略有不同的是加入了如何在本机对远程服务器上进行这些操作

方法/步骤

(1)首先打开windows系统下的cmd窗口,最好以管理员权限运行。

(2)假如我们是要从Oracle的实例orcl中导出几张表的dmp文件,那么我们在打开cmd窗口后,先设置环境变量将Oracle的实例切换到orcl(set ORACLE_SID=orcl),然后再登录上sqlplus

 

 

(3)登录上sqlplus后,可以使用sql语句:select * from dba_directories来查看当前实例下有哪些dmp的导出目录可以使用,我们在导出dmp文件时可以选择其中一个来使用。

 

(4)退出sqlplus,使用命令expdp来导出我们需要的数据库表dmp文件:expdp EVGIS/EVgis_123$@orcl tables=EV_VERSION,EV_VERSIONFILE directory=DATA_PUMP_DIR dumpfile=test.dmp logfile=test.log。其中的EVGIS/EVgis_123$@orcl分别表示用户名/密码@实例名。如果是远程服务器要写成如下格式:expdp EVGIS/EVgis_123$@IP地址:端口号/orcl tables=EV_VERSION,EV_VERSIONFILE directory=DATA_PUMP_DIR dumpfile=test.dmp logfile=test.log。

 

(5)导出dmp文件后我们就可以将该文件导入到实例orcl中另外一个用户中了。导入命令:impdp Student/Student directory=DATA_PUMP_DIR table_exists_action=replace dumpfile=test.dmp logfile=test.log remap_tablespace=GIS:Student remap_schema=EVGIS:Student。如果是在本机操作远程服务器参考上面第4步的操作

其中,remap_tablespace表示改变表所在的表空间,冒号前面的是原来的表空间名,冒号后面的是目标表空间名;remap_schema表示改变表的所属用户,冒号前面的是原来的用户名,冒号后面的是目标用户名。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值