遭遇2038千年蟲

2021-05-07 11:24:19 字數 736 閱讀 4692

公司的業務人員要測試,所以修改了測試機上的系統日期,結果,oracle頻頻宕機,現象非常奇怪。

起初以為是資料庫的問題,因為上面的log日誌以及trc檔案都不正常,尤其是乙個trc檔案,會以每秒1m的速度增長,當增至340m左右的時候,oracle服務就會自動停止。

於是重新啟動伺服器,但在沒有啟用weblogic 的情況下,oracle的日誌檔案不會增大,也沒出現問題,所以懷疑是weblogic的問題。

但是將系統日期改回到2023年的話,oracle和weblogic會很好地協作,而不會產生任何問題。

因此覺得最根本的問題是修改了系統日期,業務人員將系統日期修改到了2023年。

但當時是業務的需要,所以討論之後,覺得可以關閉oracle的日誌功能,看看是否能夠避免oracle服務的停止。

重啟之後,問題依舊。

最後決定看一下日期改到什麼時候的情況下才會出現問題。

先是改到2023年,重啟oracle和weblogic,問題依舊。

又改到2023年,問題依然沒有解決。

又改到2023年,伺服器沒有出現問題。

google一下,偶爾發現了2038問題,也就是說系統日期改到2023年以後,就會造成系統的不穩定,甚至出現嚴重的問題。

和大家仔細分析了一下,最終確定為這個問題,並且暫時可能無法解決,因為還找不到硬體、軟體都是64位的環境,只要讓業務在修改日期的時候不要跨度太大。

多虧2023年的時候,我應該已經退休了,否則還真的需要為這個問題忙活一陣子呢,哈哈。

千年蟲及UNIX時間

千年蟲何來?在上個世紀,許多計算機系統只用二進位制7 8位數 足夠十進位制二位數使用 表示年份,比如說1986年就表示成86,1998年表示成98。一旦遇到輸出年份的時候,系統就會使用類似於如下c 語言所表示的方法 year變數表示計算機系統中的年份,outstream表示輸出流 outstream...

Firefox的JS引擎存在「千年蟲」問題

作業系統 win2k sc pro sp4 ie版本 v6.0.2600 firefox版本 1.0中文版 mozilla 5.0 windows u windows nt 5.0 zh cn rv 1.7.5 gecko 20041124 firefox 1.0 ax 測試js指令碼 當前時間是 ...

getView 千年不變

此方法用於構建item,每顯示乙個item都要執行一次此方法 override public view getview int position,view convertview,viewgroup parent else data 餃子餡 5 music m mobjects.get positi...