基於破平臺的文本編輯器,寫了個「;+」沒有出現編譯異常,代碼直接執行,致使「+」後面的「where」條件沒有用上~批量更新了合同表,很無奈,也很慶幸本身複查了一下發現了這個巨恐怖的事情,再一次刷新了我一個程序狗三觀!!!sql
第一件事就是關閉服務器,而後導出數據,備份,導入導出命令以下:數據庫
導出:EXP zzmes/zzmes@ORCL buffer=4096 owner=zzmes file=f:\zzmes20170114.dmp 用戶 密碼 要導出的數據庫鏈接 導入:IMP zzmes/zzmes@ORCL buffer=30720 fromuser=zzmes touser=zzmes file=F:\zzmes20170114.dmp 用戶 密碼 要導入到的數據庫 導出用戶 導出用戶 已導出的文件
而後在網上找到了以下命令恢復了數據,具體能夠參考下面博客:http://vvv-110.iteye.com/blog/2072702,可是必定要儘快去恢復,並且必定提早備份了再去,防止二次受傷,你懂的。。。。。。服務器
1、執行以下SQL將test_temp表中的數據恢復到 2014 05 28 11:00:00 session
注意,這裏必定要先刪除所有數據,不然可能會致使數據重複,我用的就是第一種,搞定~oracle
delete from test_tmp; insert into test_tmp select * from test_tmp as of timestamp to_timestamp('2014-05-28 11:00:00','yyyy-mm-dd hh24:mi:ss') commit;
2、以下:編輯器
select timestamp_to_scn(to_timestamp('2014-05-27 11:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
或select * from sys.smon_scn_time order by time_dp desc;
獲得結果 71547785
而後 insert into test_tmp select * from test_tmp AS OF SCN 71547785
3、以下:spa
select * from v$sqlarea ;SELECT * FROM v$session;SELECT * FROM v$session a,v$sqlarea b WHERE b.ADDRESS = a.PREV_SQL_ADDR;
經過這條語句找到的數據是有限的 由於有的用戶可能已經斷開和oracle的鏈接了
最近的心情很煩躁,這樣很差~煩心的事情愈來愈多,作本身不酷,作更好的本身才最酷~code