免费看欧美黑人毛片-免费看毛片网站-免费看毛片的网站-免费看久久-中文字幕日韩欧美-中文字幕日韩精品一区

您現在的位置:首頁 > IT認證 > oracle認證 >

Oracle數據庫中的數據出錯的解決


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表刪除;

    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字段

    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;

    這樣就可以在不更改其他所有信息的情況下,將所有舊用戶的密碼恢復到從前。

相關文章

無相關信息
更新時間2022-03-13 11:11:03【至頂部↑】
聯系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網站糾錯二維碼手機版

客服電話:




主站蜘蛛池模板: 电影《年龄差》| 《金色花》阅读理解答案| 香谱72图解详细解释大全| 刘何娜| 老江湖| 百字明咒注音全文读诵| 刚满18岁| 任喜宝| 脚部反射区图解大全高清| dj舞曲超劲爆dj| 血型父母和孩子血型表| 好像也没那么热血沸腾电影免费观看 | 儿子结婚请帖邀请函电子版| 地板鞋编织方法的视频教程| 好戏一出| 肥皂泡节选阅读理解答案三年级| 《宝莲灯》| 大学生搜| 暗夜与黎明电视连续剧| 不得不爱吉他谱| 张天喜| 张静初的三级未删减版| 精灵变粤语| 我妻子的一切 电影| 九九九九九九伊人| 河北电视台| 青春残酷物语| 鹤壁旅游必去十大景点| 少女韩国| 国家宝藏之觐天宝匣| 颁奖典礼图片| 陈学冬颖儿主演电视剧《解密》| 尤克里里指弹谱| 滨美枝| 《美景之屋| 林黛玉进贾府人物形象分析| 杨子姗演过的电影电视剧| 未删减版电视剧在线观看| 成人的性行为免费| 冷血惊魂| 朱莉安妮av|