標籤:大於 解決辦法 調整 啟動 儲存 fst htm 初始化 shm
故障現象:用startup命令啟動資料庫時出現ora-00845錯誤提示:
SQL> startupORA-00845: MEMORY_TARGET not supported on this system
故障原因:在oracle database 11g中新增的記憶體自動管理的參數MEMORY_TARGET,它能自動調整SGA和PGA,這個特性需要用到/dev/shm共用檔案系統,而且要求/dev/shm必須大於MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就會報錯。 解決辦法:
- 修改初始化參數MEMORY_TARGET或MEMORY_MAX_TARGET,使其不能大於共用記憶體(/dev/shm);
- 修改/etc/fstab檔案;
補充知識,來自http://www.linuxidc.com/Linux/2014-05/101818.htm:
- /dev/shm/是linux下一個非常有用的目錄,該目錄不在硬碟上,而是在記憶體裡。
- 在linux下,使用df -h命令可以看到/dev/shm目錄的容量大小,預設值為記憶體大小的一半,但它並不會真正的佔用這塊記憶體,如果/dev/shm/下沒有任何檔案,它佔用的記憶體實際上就是0位元組;如果它最大為1G,裡頭放有 100M檔案,那剩餘的900M仍然可為其它應用程式所使用,但它所佔用的100M記憶體,是絕不會被系統回收重新劃分的。
- 預設情況下,系統啟動時就會載入/dev/shm ,它就是所謂的tmpfs。象虛擬磁碟一樣,tmpfs 可以使用RAM,也可以使用交換分區來儲存。而且傳統的虛擬磁碟是個塊裝置,並需要一個mkfs之類的命令才能真正地使用它,tmpfs 是一個檔案系統,而不是塊裝置;您只是安裝它,它就可以使用了。
tmpfs有以下優勢:
- 動態檔案系統的大小;
- tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 檔案系統會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的;
- tmpfs 資料在重新啟動之後不會保留,因為虛擬記憶體本質上就是易失的。所以有必要做一些指令碼做諸如載入,綁定的操作;
ORA-00845錯誤原因及解決辦法