oracle数据更改后的错误解决
在DMP备份文件的创建,一些新的用户创建了一段时间,和其他一些用户的其他信息已经改变,但老用户的密码需要恢复到过去,这肯定是不可能直接taw_rm_user表备份文件到COM用户直接。经过分析,得到了一个解决方案。总的想法是:
1。该试题库的taw_rm_user表由表的创建引导声明临时备份表(在测试库的用户表不可更改);
2。删除taw_rm_user桌子了;
三.然后对DMP备份文件的taw_rm_user表导入到专门的IMP命令。
4,写一个PL / SQL程序块的话,和更新密码领域新引进的表在com.taw_rm_user表对应的记录通过使用游标循环。(注意,只有相应的记录进行更新,不进行任何更改到新添加的用户记录);
5。然后恢复以前的备份taw_rm_user表赛事。
所使用的关键SQL语句如下所示:
在备份测试库的taw_rm_user表
创建表comtest.taw_rm_user_bak
作为
SELECT * FROM comtest.taw_rm_user
-恢复官方图书馆taw_rm_user.password场
声明
rec_comtest comtest. taw_rm_user %ROWTYPE;
cur_comtest是光标
SELECT * FROM comtest.taw_rm_user;
开始
打开cur_comtest;
环
取cur_comtest为rec_comtest;
退出时未cur_comtest %;
更新com.taw_rm_user
设置COM。taw_rm_user密码= rec_comtest.password。
在COM。taw_rm_user user_id = rec_comtest.user_id;
结束循环;
近cur_comtest;
承诺;
结束;
这样就可以在不改变所有其他信息的情况下将所有旧用户的密码还原到过去。