各種失敗型別

與刃爭鋒發表於2013-12-26
語句失敗:執行語句的伺服器程式會檢測問題並回滾語句.

使用者程式失敗:PMON解決問題,如果異常的會話位於某事務中部,PMON會先回滾此事務並釋放該會話的所有鎖定,最後終止該服務程式並將PGA釋放回作業系統.

網路故障:偵聽一般不崩潰,但工作量有限.兩個以上的網路卡並在每個網路卡上建立多個偵聽.

使用者錯誤:儘量避免直接操作更改資料庫,用應用軟體最大化的避免使用者操作錯誤,比如典型的update不加where.
閃回也可以修正使用者錯誤.例如delete表
sql>delete from emp;--你可以不經意的刪除
commit;--提交前要三思
select count(*) from emp;--溜光,啥都沒了.

sql>insert into emp (select * from emp as of timestamp(sysdate - 5/1440));--恢復了,你挺美,下次還瞎刪……

sql>commit;

有人更猛,drop一個表後猥瑣的找你恢復
sql>drop table emp;
sql>select count(*) from emp;

趕緊恢復
sql>flashback table emp to before drop;
看著挺好的恢復,但要注意慎用!表的不完全恢復或閃回影響不大,如果不完全恢復或閃回資料庫,那就會丟失一大部分的事務.


介質失敗:磁碟總是會壞的,這不怪你,但需要你解決.raid技術最大化的避免磁碟類問題.
例項失敗:這個不太需要操心,SMON程式會自動進行例項恢復,只需要你正確的啟動資料庫startup即可.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25025926/viewspace-1064514/,如需轉載,請註明出處,否則將追究法律責任。

相關文章