2009/2/28

用 javascript 來取代 marquee 《by 童顏未老人》

 最近網站上的部份功能被老板要求要改變了,他希望公司的訊息能跑馬登的方式來呈現,呵,這不太難:


 不過這會有一個問題,那就是在 "星期五,同劉真去跳舞" 和 下一次出現的 "星期一,幫林志玲穿新衣" 間會有一大塊的空白,會形成冷場,所以這不是我所要的。但是我在網路上找半天後發現,用現成的 marquee 來製作的話,好像就一定會有這一大塊的空白。恩,看來要用 javascript 了。


 先用 google 大神找一下,果然網路上有現成的,但是很多都是有點小問題,不是只能在 ie 跑,要不然在 firefox 下會毫無動靜,不過還是讓我找到一個最簡單又貼近我的需求的作品,雖然它有一個小問題,就是當滑鼠移入後不會讓跑馬燈停下來,不過這還好,修改一下就可以了 :


而結果也還算是如人意,若想要調整捲動速度時, 僅要去改一下 setInterval(NewsMarquee,100); 裏面的數字即可 !

2009/2/24

oracle 主機毀損歷險記《by 童顏未老人》

 昨天是我碰過最精采刺激的一天,咱公司的 Oracle DB Machine 竟然無預警的就掛點了。所有的公司運作當場停擺。雖然最後是有經無險的渡過,但是我相信這是冥冥中給我的提醒,要我對可能發生的問題及早準備。

 昨天下午 Oracle 一罷工之時,我二話不說立刻飛車衝到機房去。本來僅僅以為在 console 前去操作一下就可以救回來了,那知問題可真是大了。它在 filesystem check 時便過不了了,直接要我輸入 root 密碼切入到 Repair filesystem 的 mode 下去,因為看到他寫著 /dev/sda3 發生問題,所以我只好下 fsck /dev/sda3 那知它回吐給我 fsck.ext3 for device /dev/sda3 exited with signal 11 這樣的訊息。

 接著下 e2fsck /dev/sda3 ,回給我另一個錯誤訊息 : Segmentation fault。這時我已有點擔心了,我擔心會是 Hard disk 毀損,這最慘的情形。且當我硬要用 mount 測試一下時, 他回給我 wrong fs type, bad option ,bad superblock on /dev/sda3 ! 看到這裏,我心中其實有點明瞭了,硬體應該是掛了,只是不知是硬碟還是 其他周邊設備出問題。

 於是我先回到公司去把安裝光蝶帶到機房去,改用第一片胱碟開機,再去 fsck 一下,狀況依舊,不過他就會問我要不要去修復,我再狀況未明下不敢冒然回答要。但是我仔細看一下他 mount 在 /mnt/sysimage 下的原 filesystem ,檢查半天後,發現絕大多數的東西都還在,壞掉的 filesystem 是 /var 這重要的目錄,難怪 linux 會起不來。

 既然所有東西都還在,我臨時起了一個大膽的想法。我有另一台機器是之前學著安裝 oracle 所裝的,上面跑 另外的 ap,不過並不吃重。所以我想嘗試將原 oracle db 的所有檔案 copy 下來,在另一台機器上復原。反正若不成的話,大不了在回公司拿備份的資料來倒進去。

 不過擺在眼前第一個問題是,這台在 linux rescue 下的機器網路功能一直起不來,資料要傳過去是個大問題。所有的 datafile、control file 、redolog file‧‧‧等經過 tar -czvf 後也還有 1G 左右,嘿嘿,剛好我身邊的 usb 隨身碟還有 1.5G 的空間,於是用 fdisk -l 看一下隨身碟是在 /dev/sdd1 這怪設備路徑下。

 先mkdir /aaa 這臨時的目錄,然後 mount /dev/sdd1 /aaa ,再把所有壓起來的檔案通通 cp 到 /aaa 下去。不過這 1G 多的檔案足足 copy 了近四十分鐘,看來我要去買個好一點的 usb 隨身碟了。

 準備好以後,再到另一台機器上,同樣的把 隨身碟 mount 上去,在解壓縮後,再一一的去 chown oracle:oinstall *,然猴啟動 oracle , 哇,居然就成功了!真是太美妙了!

 不過我得在作好更多的萬全準備,不是美次都能如此的幸運的!