發表文章

目前顯示的是 2月, 2012的文章

FreeBSD mail指令出現/tmp: write failed, filesystem is full錯誤

在我的一台FreeBSD主機出現如下情況: 當我下mail指令時, 出現如下錯誤訊息: /tmp: write failed, filesystem is full 在一個連線中, 下mail指令後, 開另一個連線, 一直用df指令觀看, 果然看到/tmp一直被吃掉! 本想用加大/tmp的方式(把/tmp ln到更大的分割區)來處理, 但想想現有/tmp已經有500MB了, 還要加多大? 所以覺得應該看看為什麼500MB還不夠mail指令用, 也不用想太多, 其實就是因為我用root帳號, 而預設所有系統訊息都會寄給root, 但我卻從不去清其郵件, 如下: # ls -l /var/mail total 3084208 -rw------- 1 clamav clamav 0 Jul 30 2009 clamav -rw------- 1 cyrus cyrus 0 Jul 30 2009 cyrus -rw------- 1 root wheel 3156647058 Feb 18 11:01 root -rw------- 1 spamd spamd 0 Jul 30 2009 spamd root的信件已經3GB大了, 當然mail程式在讀取的時候就需要超過500GB的空間, 自然會爆掉了。只要把/var/mail/root清掉就好了。 #rm /var/mail/root #touch /var/mail/root

如何為Linux上的Oracle 11g做異地備份

異地備份, 好像很高貴的樣子, 當911發生後, 很多廠商推異地備份方案, 都不便宜。我們自己弄了一個不太花錢的簡單版: 其實就只是把備份的檔案, 利用網路FTP到另一個地點, 只要事後可以由備份檔還原資料即可。 規劃要備份的檔案有三種: 1.archivelog, 2. full backup, 3. export dump files 前兩者合在一起, 可以做幾乎任一個時點的資料還原, dump檔則可以簡單的找出之前資料的樣子, 算是多一個保險, 多一個還原資料的方式。 這三種檔案各寫一個Script來備份: 1. Archivelog #!/bin/sh HOST='ftp-server' USER='user1' PASSWD='pass1' #D1=`date -d '1 day ago' "+%Y_%m_%d"` ftp -n -i $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD bin cd archivelog mkdir $1 cd $1 lcd /u03/app/oracle/FRA/PRINCO/archivelog/$1 mput * quit END_SCRIPT exit 0 2. Full Backup #!/bin/sh HOST='ftp-server' USER='user1' PASSWD='pass1' ftp -n -i $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD bin cd backupset lcd /u03/app/oracle/FRA/PRINCO/backupset/$1 mput *FULL*.bkp quit END_SCRIPT exit 0 3. Export dump files #!/bin/sh HOST='ftp-server' USER='user1' PASSWD='pass1'

ASP.NET AJAX Update Panel don't work

最近參與一個ASP.NET網站的程式撰寫, 寫了一個用Ajax Tool Kit做ModalPopup的頁面, 為了在其Panel中不產生full postback, 以免讓該ModalPopup出來的Panel跳掉, 所以使用UpdatePanel將button, gridview包起來。在自己的開發環境中, 都運作正常。Check in回server後, 同事整合code後, 測試時, 卻發現modal popup的panel都會跳掉, 看起來是update panel沒有正常運作。 仔細檢查, 確實在我的開發機器上是可以正常運作的。但在同事的機器上, update panel也真的運作不正常。 後來, 同事檢查我的機器上的Web.config檔, 發現他的Web.config多了一行: <xhtmlconformance mode="Legacy"/> 將此行移掉(remark掉)後, 程式運作就正常了。 我們猜想, 應該是因為我們的專案是由之前ASP.NET 1.1的一路升級來的。也許升級程式自動加了這一行以求相容性XD。但是開發機器是最近安裝, 全新的。