在客戶現場,我遇到過兩個關於作業系統空間使用100%的case:乙個是/oracle安裝軟體目錄空間使用100%,乙個是/根目錄空間使用100%。
第乙個case:/oracle安裝軟體目錄空間使用100%
軟體空間使用了100%,由於資料庫的dump放在此目錄,因此資料庫無法再寫trace,當sqlplus登入了資料庫就會報錯,客戶要求我們盡快解決此問題。如果大家遇到這個怎麼怎麼來快速定位。有很多人說用find 檢視單個檔案占用超過1m的,也有很多人說刪除trace檔案等等。當做完這些事發現空間還是沒有釋放。其實這些都不能解決問題,都是猜測,但是我們要使用根本方法解決此問題,那就引入了兩個命令df和du。
df是檢視所有掛接在作業系統的檔案系統空間使用情況,du是檢視單個檔案系統下的子系統空間占用情況。那讓我們來定位此問題。
1.首先我們用df,檢視發現/oracle 使用空間為100%
2.cd到/oracle 然後使用du -ks,那麼可以看到在/oracle下哪些目錄占用空間大
3.我們繼續cd到更深一層目錄,就這樣,最後定為到是哪個目錄下占用了大量的空間,然後去看看這個目錄下的檔案是什麼。
我們遇到的情況有很多,我遇到的是有的開發商把資料檔案建立到了本地檔案系統,沒有放到儲存上,那麼就需要dba來把檔案移到儲存上;還有就是控制檔案自動備份預設到$oracle_home/dbs下,由於從來沒有刪除,因此,把/oracle空間用滿;還有就是由於資料庫出現效能問題,在bdump下面差生了大量的trace檔案等等。
主要是已經知道了占用空間的東東,那麼就可以根據情況來解決了,主要是發現問題。
上邊的案例其實就是告訴大家df和du怎麼結合使用。
另外乙個case:/根目錄空間使用100%
這種情況分三種:一種是確實/根目錄空間使用滿了,由於我們存放任何檔案都不會放到/根目錄,因此,一種是由於我們從其他機器上傳檔案的時候,把檔案沒有放到正確位置,直接放到/根目錄了,那麼這個直接把檔案刪除了,另外一種是我們使用lv裸裝置建立的資料庫,但是後來維護人員沒有建立lv,然後增加資料檔案,那麼就會在/dev下產生乙個檔案,而不是字元裝置,這種情況需要我們先建立乙個lv,把資料遷移到lv上,然後把這個檔案刪除。
最後還有一種情況:使用df和du來判斷,但是最後發現使用的空間根本沒有達到/目錄的空間,一部分空間無緣無故的消失了,其實這種情況是會有的,因此,就檢視不是作業系統安裝的時候建立的檔案系統,一般安裝軟體目錄/oracle不會出現,那麼就是另外乙個情況/arch歸檔目錄,由於啟用歸檔,本來/arch是掛接到儲存的乙個檔案系統,但是由於當時系統人員沒有自動給掛接,因此重啟主機後資料庫起來產生了歸檔,那麼就放到了/arch這個目錄,而不是掛接到儲存的檔案系統。當資料庫起來後,管理員才發現/arch沒有掛接檔案系統,那麼立刻又手動掛接了這個檔案系統,並且更改了屬性,以後變成了自動掛接。這時候,原來在/arch這個目錄的檔案就被隱含了,即使重新啟動作業系統也無法發現。因此/根目錄下就無緣無故的有一部分空間找不到了,這個我們在居然之家,水務局等等都遇到過。當出現這種情況,我們先臨時把歸檔放到其他檔案系統,然後把/arch這個檔案系統umount,然後cd /arch把裡邊的檔案刪除掉或是移到其它地方,然後再把/arch mount,這樣就解決了此問題。
上邊我給大家分享了一下作業系統檔案系統空間使用100%的幾種情況,希望對大家有用。
關於兩個棧的共享空間問題理解。
為什麼要共享空間?誰用誰的多好呀!但是呢,我們都知道使用過程中我們給每個棧分配足夠的空間是不太現實的,使用棧的時候,我們也不能保證棧有足夠的空間,另外,棧是乙個動態的儲存結構,各個棧的實際大小在使用的過程中都會發生變化的,有時候其中乙個已經上溢了,而另外乙個還沒用怎麼使用。這樣必定會造成空間的利用率...
在乙個硬碟上安裝兩個Linux作業系統方法
乙個硬碟已安裝fedora 8 linux系統,並安裝grub引導管理程式,現要在這個硬碟的 空閒分割槽中安裝fedora 9,操作如下 1.將fedora 9 i386 iso檔案放到乙個windows fat32分割槽 hd0,4 的根目錄,將這個iso檔案中的isolinux目錄解壓到更目錄 ...
使用兩個棧模擬佇列的操作
棧a與棧b模擬佇列q,a為插入棧,b為彈出棧,即a提供入佇列功能,b提供出佇列功能。實現的方法有獲得佇列元素大小,判空,獲得隊頭元素 入佇列 入棧a 出佇列 棧b不為空,直接彈出棧b資料 棧b為空,則彈出棧a的資料,studylinklist.h放入棧b中,再彈出棧b的資料 include incl...