公元兩千年年序危機處理經驗談

洪鴻洲、許凱平

台灣大學計算機中心

hchong@ccms.ntu.edu.tw

1999.4.9

9999在「羅馬日誌」中為1999年的第99日,而在許多電腦程式中9999代表極大值,有特別意義,這會使得系統作特別的處理動作,使得系統發生異常現像。

1999.9.9

同上。許多電腦程式將日期代碼9999在「希臘日誌」中代表極大值,解讀為「取消」或「刪除」,進而殺掉重要的電腦檔案或記錄。

1999.12.31

跨越Y2K的前一天

2000.1.1

跨越Y2K後的第一天

2000.1.3

西元2000年的第一個營業日

2000.1.10

欄位第一次出現七位數的日期

2000.1.31

西元2000年的第一個月的最後一日

2000.2.29

測試閏年

2000.3.31

西元2000年第一季的最後一日

2000.10.10

欄位第一次出現八位數的日期

2000.12.31

西元2001年的最後一日

2001.1.1

西元2001年的第一天

2001.12.31

檢查365

圖二 Y2K千禧蟲可能出現的日期

  在圖一中,程式亦有可能由上面的某一個階層直接跳到其下的任一階層來讀取系統時間,例如OS可能不經由BIOS而直接跳到下兩層(即RTC)去讀取系統時間。因此會使得我們要解決這個問題變得很零亂。

  更不幸的是電腦產品日新月異,廠牌眾多,圖一中的每一階層有各式各樣的軟硬體產品,即使是同一家廠商的產品,又有型號、版本等之區分,每一種產品的Y2K解決方法不盡相同,有些電腦廠商對於較為老舊的軟硬體已不提供Y2K服務,因此想解決目前所有使用中的電腦的Y2K問題變得很困難。Y2K最難解決的部分可能是應用程式部分,因為應用程式如何處理時間,只有程式師知道,而有些程式師沒有寫程式說明文件的習慣而且離職多年,有些程式連原始檔都沒有,只有執行檔,因此要解決Y2K問題變得困難。又到目前為止銀行的資訊系統的程式是大部分使用COBOL程式語言,目前除了少數資管或商業類科系有教授外,大學的資訊科系大都不再教授COBOL程式語言,所以短期內也難找到適合的人來解決Y2K問題。

  雖然要解決目前所有使用中的電腦之Y2K問題是幾乎不可能的事。但個人認為Y2K問題只要我們有心去做,總是可以將損害降至最低。下面是一些Y2K原則性的處理方法:

一、評估問題的重要性及急迫性

  雖然有很多系統有Y2K問題,但事情總是有輕重緩急之分,就以本校為例,本校附設醫院裡的一些醫用電腦、醫療儀器、及緊急機電設備等是必須優先與予解決的。理由很簡單,生命是無價的。有許多系統雖然有Y2K問題,但問題的嚴重性很低,甚至可以不予處理(不予處理也是一種處理Y2K的方法),例如電腦只是用來作簡易的文書處理。當然我們只是提出原則性的建議,很多事情都有例外,各個單位宜按照本身的實際情形多加考量,作出對自己最有利的處置方式。

二、重新評估電腦作業或人工作業

  Y2K雖然是一個企業的資訊危機,但也是一個轉機。使用電腦的目的就是要節省費用並提高工作效率與生產力,如果使用電腦處理的費用比人工作業處理費用還高,則就要加以評估是否要解決電腦Y2K問題或是採用人工作業,當然做這項決策亦須將非經濟因素納入考量。

三、選定處理方法

  以台大計中為例,本中心的電話交換機被發現有Y2K的問題,但是解決Y2K問題的費用與購買新的電話機交換機差不多。所以我們還在評估經濟因素與非經濟因素,選擇一個對我們最有利的方式。

四、訂定改善時程

  作任何事情總是要訂定時程,Y2K的改善工作自然也不例外,有了時程以便敦促自己什麼時間完成什麼工作。

五、選定備援方案

  假如Y2K問題沒有辦法適時解決,則必須考慮備援方案,例如考慮採用人工作業或其它方案因應。

  談完了Y2K原則性的處理方法,讓我們再來談談Y2K較為具體的處理方法,圖三為筆者整理的簡易Y2K處理方法,圖四為一些有用Y2K網站以供各位參考:

Y2K問題點

硬體時鐘(RTC)

2000.exe

美國NSTL(National Software testing laboratories) 發表一公用軟體 YMARK2000 (2000.exe)供各界免費測試PCRTCBIOSY2K問題,有興趣者可從本校Y2K網站http://y2k.ntu.edu.tw下載該軟體。注意使用該軟體必須由MS-DOS開機。

基本輸入/輸出系統(BIOS)

 

2000.exe

同上

作業系統(OS)

看廠商對於該作業系統之測試報告或自行測試

本校「計算機及資訊網路中心」已收集許多著名的作業系統與著名的程式語言的測試報告。有興趣者,請洽23627734210洪鴻州技士。

程式語言函式庫( library)

看廠商對於該程式語言之測試報告或自行測試

同上

應用程式(Application)

Fdv2.exe (fd.exe)

或程式師自行測試。

美國NIST(National Institute of Standards and Technology) (NIST) 發表一公用軟體 FINDDATE (fdv2.exe)供各界免費測試Y2K問題,FINDDATE可以輔助程式師找出程式中與日期相關的變數,有興趣者可從本校Y2K網站http://y2k.ntu.edu.tw下載該軟體(fd.exe自解壓縮檔)

圖三 簡易Y2K問題處理

 

主計處電算中心Y2K網站

http://www.dgbasey.gov.tw/eyimc/eyimc-7.htm

教育部Y2K網站

http://www.edu.tw/2000/2000.html

經濟部Y2K網站

http://www.year2000.gov.tw

台大計中Y2K網站

http://y2k.ntu.edu.tw

國內外Y2K相關網站

http://www.edu.tw/2000/hp.html

Microsoft Y2K網站(中文)

http://www.Microsoft.com/taiwan/year2000/

Inprise(Borland) Y2K網站

http://www.inprise.com/devsupport/y2000/

IBM Y2K網站

http://www.ibm.com/IBM/year2000/

Sun Y2K網站

http://www.sun.com/y2000/

HP Y2K網站

http://www.hp.com/year2000/

DEC Y2K網站

http://ww1.digital.com/year2000/

Oracle Y2K網站

http://www.oracle.com/year2000/2000/2000.htm

CDC Y2K網站

http://www.cdc.com/y2000/index.html

Lotus Y2K網站

http://www.lotus.com/home.nsf/welcome/y2k/

Symantec Y2K網站

http://www.symantec.com/region/tw/corporate/year2k.html

Cray Y2K網站

http://www.cray.com/products/software/year2000/

圖四 Y2K相關網站

 

  以國內而言,台灣大學在許多方面都可以說是國內最大的大學。相對於台大人員及單位之多,如果要以計中有限的人力處理所有校內Y2K相關事務,幾乎可以說是不可能的任務。因此,我們只能將人力放在跟全校有關的校務系統,對於各單位則提供有限的諮詢及教育訓練,並將各系所及各單位的問題彙整,共謀解決之道。並將計中蒐集到的相關資料放在台大Y2K網站(Y2K.ntu.edu.tw)上,以供各單位參考。 

  台大計中目前系統Y2K概況如下:

 

系統名稱

檢查方式

結果

處置方式

計中電梯

向廠商求證

(永大電機)

Y2K的問題

索取保證函

計中交換機

向廠商求證

(歐科電訊)

多項重要功能會受影響

升級或新購

計中傳真機

自行測試

無法設定日期為2000/2/29,但會自動由2000/2/28跳至2000/2/29

可繼續使用

計中門禁系統

向廠商求證,測試

刷卡機無Y2K問題,但連線電腦有

換新連線電腦

台大校總區薪資系統

向廠商求證

(HP)

不保證沒有Y2K問題

由計中程式師開發新系統

台大校總區動產管理系統

向廠商求證

(HP)

不保證沒有Y2K問題

由計中程式師開發新系統

計中Sun 工作站

Sun的相容設備清單

Solaris 2.6 前的會有Y2K問題

升級至2.6或安裝patch

Cray

向廠商求證

(克雷電腦)

Y2K問題

 

PC硬體

測試軟體NSTL YMARK2000

及軟硬體廠商之相容清單

部分PC會有問題

硬體:依系統狀況換新或更換組件。

 

委外開發之系統

向工程師或開發該軟體之公司求證

   

作業系統及套裝軟體

軟體公司查證,如微軟的相容清單及寶蘭的相容狀況表

WIN98 WIN95 WinNT

Novel 3.12MS Office IE3.x等都有些小問題

軟體:升級或安裝新版。

其他自行開發的校務行政系統

由計中程式師自行認證

部分的程式與外部交換資料時是以兩位數記載民國年。

程式修改或重新開發

 

  雖然Y2K的影響層面相當廣泛,我們除了照一般的Y2K處理方式去做外,仍需回到原點,亦即使用者的使用行為,才能將這個問題妥善解決。例如買一台宣稱通過Y2K測試的電腦,是不是就沒有問題?或是一台無法通過Y2K的舊電腦就註定要淘汰?這些都必須從使用者開始做各個層面的考量。如果一台僅僅是做文書處理或是當作終端機的電腦,有沒有通過Y2K可能就沒有什麼重要。但若是作為財務處理或門禁管制的電腦,就不但要要求電腦本身通過Y2K測試,更要要求應用程式及與其連接的系統也應沒有問題,才能解決整個問題。

  雖然我們建議以軟硬體廠商的相容清單確認自己的軟硬體。但令人困擾的是,許多軟硬體的狀況都會變化,例如Win98在發行時宣稱沒有Y2K的問題,後來仍然不得不出修補程式。因此,我們建議您仍需隨時注意最新的資訊。並且無論您的檢查多麼仔細,最後仍然要有災後復原的準備。

  另外要強調的一點是,距離公元兩千年只剩不到三百天的日子了,寶貴的時間一定要花費在將最重要的幾個系統上。還有系統的備份也是相當的重要。不但在測試前一定要備份,平日也要有備份的習慣,才能真正地有備無患。

【書報雜誌資料】

[1] 自由時報。

[2] 中國時報。

[3] Jim Seymour/風玉 譯,微電腦傳真雜誌 (PC Magazine) 中文版,

  "你要如何面對千禧年",民國882月,頁154

[4] 洪鴻洲,台大校訊,"Y2K 簡介",民國883月。

【網站資料】

[5] 經濟部Y2K網站,http://www.year2000.gov.tw

[6] 教育部Y2K網站,http://www.edu.tw/2000/2000.html

[7] 台大計中Y2K網站,http://y2k.ntu.edu.tw