DBA 對OS的依賴、一丁點兒也不亞於DB、對於Oracle DBA、尤為突出
DB和OS的感情也與日俱增、耦合度高的讓人一度以為這兩要勞燕雙飛了
例如、Oracle裡面、
而且、故障診斷以及效能調優時、OS層的APP可能直接拖垮DB、比如:
好吧、我承認、扯這些無非就是想強調OS對DB、那剪不斷、理還亂的感情嘛、、
⑴ 慎用 mv
mv 、music video、2 種元素混搭、呵呵、I'm kidding、它的效用一如它的名字、有 2:
① 移動檔案
② 重新命名檔案
多功能(mv心理獨白:靠、我才2個功能、多乎哉?不多也!)、這是它的優點也是缺點
你想想啊、如果、我操作:# mv a.sql ./b、我的本意是想把a.sql移動到目前的目錄b下
但、次奧哦、傻b不給力、傻b不在目前的目錄、或者你把傻b給錯寫成傻x、這下完了、
移動操作就搖身一變成重新命名了、滿心期待的乾坤大挪移咋就搞成72變哩、、、
重新命名而已嘛、資料沒丟、不必大驚小怪的、嚇唬誰呢、可是、、可是、請君看如下情境:
偶的如意算盤是把a.sql b.sql c.sql 移動到目前的目錄abc下:
# find . -type f |awk '{print "mv " $1 " " "./abc"}'mv ./c.sql ./abcmv ./a.sql ./abcmv ./b.sql ./abc# find . -type f |awk '{print "mv " $1 " " "./abc"}' | sh# lsabc
天啊、555555、我的資料呢??怎麼就剩下一個abc呢??這不科學呀、哦、、我肯定得被燒魷魚了
經驗教訓:
mv 移動時、保險點、用絕對路徑、確保所在對象當前路徑有、並且不要寫錯了
⑵ 慎用 rm
Server上、發現空間不足、於是想刪除一些臨時日誌來騰點空間
以為自己已經在日誌目錄下了、也沒仔細看、就直接運行 rm
結果把系統中很多非常關鍵的指令碼都清掉了、驚出一身冷汗
本來就很忙、還花費了一下午的時間才把刪除的檔案重新恢複
經驗教訓:
1.備份,備份,還是備份;
2.慎用或者alias rm='rm -i'或者不用rm命令;
3.操作前,保持頭腦清醒,知道自己在幹什麼;
⑶ 中文顯示
這第三小點呀、其實蠻常見的、論壇上很多人提問、為啥我OEM開啟是亂碼、為神馬?神馬啊
趕腳中文無法顯示、常見原因如下:
① 中文字元庫沒裝 、yum install fonts-chinese
② 編碼問題、用doc2unix轉換一下、這一般發生在windows檔案直接拷貝在Linux下開啟
③ LC_ALL沒設為LC_ALL=zh_CN.GBK;export LC_ALL、這個會覆蓋LANG變數、而NLS_LANG是和資料庫相關的環境變數
⑷ 清理磁碟空間
有人問:啊、我expdp 到一半時怎麼就給掛住了?求大神解釋、賞分100、立馬結貼
如果我看到了、偶會拍案而起、走、看看磁碟空間去、
是的、應該這樣的、磁碟空間不足、常常導致APP掛起、然後故障就應時而起、大有蔚為大觀之象也
那咋辦哩?有興趣的朋友可參看偶之前的 2 篇文章:
GNU/Linux 下尋找佔用硬碟的大檔案點擊開啟連結
秒刪海量資料檔案的方法點擊開啟連結
⑸ chmod 777
人都是有惰性的、為圖方便、777幹上去、特別是初級DBA、完事了、拍拍屁股、K歌走起、
然、這和DB 授權操作 "grant dba to sb" 有啥區別呢?
SO、你不是完事了、你是攤上事了、攤上大事了
經驗教訓:
chmod g+w filename;
雖然麻煩點(PS:其實也不麻煩)、安全了好多、晚上睡覺都可以直接打呼嚕了
⑹ 轉義
抓急呀抓急、我們常常碰到某些檔案或者目錄、明明可見、卻不能編輯、就好像它在嘲諷你:
看不見我哈、你看不見我喲、你真看不見我哦。。。、我草、此時該是一肚子火
案例一:無法進入也無法刪除的釘子目錄細心的你、應該發現了、NA和NC之間少了個NB哇、這中間用空格隔開了[root@temp Desktop]# lsNA NC [root@temp Desktop]# cd NA NCbash: cd: NA: 沒有那個檔案或目錄[root@temp Desktop]# rm -rf NA NC[root@temp Desktop]# lsNA NC
這便是令人聞風傷蛋的轉義、有很多比如空格,換行啊,斷行符號等等符號
這個時候我們必須要考慮將這些操作寫進\和/之間,這樣才能讓Linux成為知書達理的賢內助
⑺ 最熟悉的陌生人
越令你熟悉的命令越危險
記住這句話、因為它是某位偉人說的、而這個偉人就是我 -_-!
舉個例子吧、比如:uname -a和 hostname
在Unix環境下、難免衝動了點、原本想uname -a、結果哩、敲成 hostname -a、我靠、完了、直接把主機名稱給改了
在Linux環境下、還好、-a 只是表示把主機別名給陳列出來而已、
這隻是個簡單的例子、我只想藉助這個例子強調、小心你熟悉的命令!!
⑻ 虛空間增長
有這樣一個情境:
你發現、磁碟空間滿了、但你卻無論如何也找不出大檔案?
導致你不知道到底是什麼原因空間暴滿,從而無從解決問題
這便是所謂的虛空間增長
舉例說明:某時候有個程式由於某種異常在持續不斷的往某檔案裡不停寫入
可是如果該檔案在被不斷寫進的過程被人不小心給刪除了
由於程式未退出,寫進動作還在進行中。。。。,這時空間就會不斷變大
但是我們卻找不到這個大檔案,原因很簡單,被刪除了當然找不到
除非找到這個進程並強制殺掉這個進程,虛增長的空間才會立即釋放,否則空間滿問題就無法解決
經驗教訓:
在刪除檔案的時候(尤其在生產環境操作中)、應該再多做一步:觀察進程的動作
如果查看到引用某檔案的進程還沒停止、就暫時不要考慮去刪除該檔案
不知不覺、夜闌珊、顧影自憐、有誰憐?淨自傷懷、不如睡去、未完待續
By David Lin
2013-06-23
Good Luck