将Oracle中的数据更改后出错的解决方法

andylau小马哥

andylau小马哥

2016-02-19 16:45

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐将Oracle中的数据更改后出错的解决方法,赶紧看过来吧!

  今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了一身冷汗。不过转念一想,我们不是定期作了数据库备份的嘛,适当的恢复一下,应该不会出现太大的问题吧,因为我只是错误的使用了一个update语句。

  问题是这样的:

  我们给系统创建了两个用户:com和comtest。前者存放的是正式库数据,后者存放的测试库数据。它们都有一个taw_rm_user表,存放了使用该系统的用户基本信息,我就是把其中的password字段全部改成了123456。

  DMP备份文件是9月28号创建的,经过十一七天长假后到今天,已经有十几天了,我简单的查了一下日志,发现已经创建了几个新的用户,并且有些旧的用户的其他信息也已经更改了。直接把备份文件中的taw_rm_user表导入com用户下是肯定不行的。经过一段时间的冷静思考后,得到了一个解决方案。大致思路是:

  1. 将测试库的taw_rm_user表用CREATE TABLE AS语句导到一个临时的备份表中(测试库中的用户表也不能乱改);

  2. 再将taw_rm_user表删除;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  3. 然后将DMP备份文件的taw_rm_user表用IMP命令导入到comtest下;

  4. 再自己编写一个PL/SQL程序块,通过使用游标循环,将这个新导入的表中的password字段更新到com.taw_rm_user表的对应记录中。注意,这里只更新对应记录,对新加入的用户记录不作任何修改;

  5. 再将之前备份的taw_rm_user表恢复到comtest下即可。

  其中使用的两段关键语句如下:

  -- 备份测试库中的taw_rm_user表

create table comtest.taw_rm_user_bak
as
select * from comtest.taw_rm_user

  -- 恢复正式库中的taw_rm_user.password字段

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

declare
rec_comtest comtest.taw_rm_user%rowtype;
cursor cur_comtest is
select * from comtest.taw_rm_user;
begin
open cur_comtest;
loop
fetch cur_comtest into rec_comtest;
exit when cur_comtest%notfound;
update com.taw_rm_user
set com.taw_rm_user.password=rec_comtest.password
where com.taw_rm_user.user_id=rec_comtest.user_id;
end loop;
close cur_comtest;
commit;
end;

  这样就可以在不更改其他所有信息的情况下,将所有旧用户的密码恢复到从前。

展开更多 50%)
分享

猜你喜欢

将Oracle中的数据更改后出错的解决方法

编程语言 网络编程
将Oracle中的数据更改后出错的解决方法

Oracle数据库中的数据出错的解决办法

电脑网络
Oracle数据库中的数据出错的解决办法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

将Oracle的数据导入EXCEL中的方法

电脑网络
将Oracle的数据导入EXCEL中的方法

安装Oracle 9i加载数据库时出错的解决方法

编程语言 网络编程
安装Oracle 9i加载数据库时出错的解决方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

win7系统中excel导入外部数据出错的解决方法

电脑网络
win7系统中excel导入外部数据出错的解决方法

教你加内存条后系统时间出错的解决方法

电脑入门
教你加内存条后系统时间出错的解决方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

双机容错环境下Oracle数据库应用

双机容错环境下Oracle数据库应用

想哭又想笑的QQ分组设计_这美,不可能属于我 - QQ伤感分组

想哭又想笑的QQ分组设计_这美,不可能属于我 - QQ伤感分组
下拉加载更多内容 ↓