• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle数据更改后出错的解决方法

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle大数据解决方案,oracle导入dmp数据,oracle数据迁移,oracle 数据恢复,oracle数据泵导入导出等相关知识,希望本文的分享对您有所帮助

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

DMP备份文件创建后,经过一段时间创建了几个新的用户,并且有些旧的用户的其他信息也已经更改了。但是需要把旧用户的密码恢复到从前,直接把备份文件中的taw_rm_user表导入com用户下是肯定不行的。经过分析后,得到了一个解决方案。大致思路是:

1. 将测试库的taw_rm_user表用CREATE TABLE AS语句导到一个临时的备份表中(测试库中的用户表也不能乱改);
2. 再将taw_rm_user表删除;
3. 然后将DMP备份文件的taw_rm_user表用IMP命令导入到comtest下;
4. 再自己编写一个PL/SQL程序块,通过使用游标循环,将这个新导入的表中的password字段更新到com.taw_rm_user表的对应记录中。(注意,这里只更新对应记录,对新加入的用户记录不作任何修改);
5. 再将之前备份的taw_rm_user表恢复到comtest下即可。

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

-- 备份测试库中的taw_rm_user表
create table comtest.taw_rm_user_bak
as
select * from comtest.taw_rm_user
-- 恢复正式库中的taw_rm_user.password字段
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;

</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • oracle密码过期的彻底解决方案
  • Oracle安装遇到INS-30131错误的解决方法
  • Oracle数据更改后出错的解决方法
  • oracle查询锁表与解锁情况提供解决方案
  • oracle ORA-01114、ORA-27067错误解决方法
  • Oracle数据仓库的分层管理器解决方案开发者网络Oracle

相关文章

  • 2017-05-11Oracle SqlPlus设置Login.sql的技巧
  • 2017-05-11ORACLE的五种表的优缺点概述
  • 2017-05-11Oracle 中生成流水号的方法
  • 2017-05-11Oracle10g通过DBLink访问MySQL示例
  • 2017-05-11Oracle连接远程数据库的四种方法
  • 2017-05-11Oracle 日期的一些简单使用
  • 2017-05-11[Oracle] 常用工具集之SQL*Loader的用法
  • 2017-05-11在window操作系统上安装Oracle10g图文教程
  • 2017-05-11Oracle数据库处理多媒体信息
  • 2017-05-11Oracle中查看表空间使用率的SQL脚本分享

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oracle 在一个存储过程中调用另一个返回游标的存储过程
    • oracle区管理和段空间管理详细介绍
    • oracle 日期函数集合(集中版本)第1/2页
    • oracle更新xml节点问题的一些细节
    • oracle修改SGA后无法启动问题分析及解决方法
    • 教你如何静默安装ORACLE
    • 给Oracle添加split和splitstr函数的方法
    • ORACLE 回收站当前状态查询整理
    • Oracle 11g安装错误提示未找到wfmlrsvcapp.ear的解决方法
    • oracle中动态SQL使用详细介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有