oracle新人提问,要修改表里的数据时,怎么备份表?万一出错,又怎么恢复备份?希望举例说明

oracle新人提问,要修改表里的数据时,怎么备份表?万一出错,又怎么恢复备份?希望举例说明... oracle新人提问,要修改表里的数据时,怎么备份表?万一出错,又怎么恢复备份?希望举例说明 展开
 我来答
李翀昊
推荐于2016-03-17 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:98.1万
展开全部

修改单个表时,一般不做数据库级别的备份,一般都是直接备份这张表,有如下两种方法:

  1. 表比较小时,一般是直接复制这张表,如:create table a_bak as select * from a;

  2. 表比较大的时候,可以使用expdp或者exp导出进行备份;

  3. 如果没有备份,又出问题时可以考虑使用闪回(闪回表或者是事务等),实在是没有办法时采用闪回数据库。

其实oracle恢复表,用常规的备份恢复(如RMAN)还是比较麻烦的,当然还有第三方备份恢复软件也可以使用。

最基本的是,对数据库进行操作时,要谨慎,不要执行不明白的操作,修改数据是可以使用savepoint来暂时对为提交的数据进行建立回滚点,好了就说这么多。

追问
一个朋友写的语句
select * into bak_a from a,这种可以么,如果可以定为第三种办法,你列举的方法1、2和这个3,在数据错误时怎么恢复备份的数据?
追答

select * into bak_a from a 和create table a_bak as select * from a这语句都是对表进行复制,可以。

  1. 第一种的话,你发现表中数据不对了你直接就可以用SQL语句将备份表的数据update到目标表,如果实在不行你可以直接利用备份表重建目标表(删了再重建,利用上面那语句),有需要的话要重建索引。

  2. 第二种的话,你可以直接利用impdp将数据导入到目标表(有可能要清空目标表)

  3. falshback 我就不想多讲了,一下讲不清

你自己去查资料吧,这个很简单,但是一下有讲不清楚。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。以上内容如果还觉得不够全面,也可以沟通下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式