ORA-00845: MEMORY_TARGET not supported on this system
阿新 • • 發佈:2017-08-14
數據 oerr 解決方法 5.0 use opened 一個 glob parameter
1. 問題描述
數據庫啟動報錯,如下提示
SQL> startup ORA-00845: MEMORY_TARGET not supported on this system
2. 問題分析
$ oerr ora 00845 00845, 00000, "MEMORY_TARGET not supported on this system" // *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux. // *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
在Oracle 11g裏,通過MEMORY_TARGET參數自動管理SGA和PGA。 但是在Oracle 11gR2 裏如果MEMORY_TARGET參數值設定的過大,可能就會出現這個錯誤。
3. 解決方法
增加/dev/shm, /dev/shm通常用做共享內存
/dev/shm是一個臨時文件系統(tmpfs) , 從/etc/fstab中mount支持標準的參數"size",可以用size來增加或者減少在/dev/shm上的tmpfs大小.如果沒有設置size,它的大小大於MEMORY_TARGET。
3.1 修改/dev/shm大小
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 30G 6.4G 22G 23% / tmpfs 32G 0 32G 0% /dev/shm /dev/sda1 477M 33M 419M 8% /boot /dev/mapper/vgoracle-lvoracle 1008G 348G 610G 37% /oracle
調整該大小,重新進行掛載
$ sudo umount /dev/shm
$ mount -t tmpfs shmfs -o size=50G /dev/shm
3.2 修改配置文件/etc/fstab開機自啟動
tmpfs /dev/shm tmpfs defaults,size=55G 0 0
3.3 再次啟動數據庫驗證
SQL> startup ORACLE instance started. Total System Global Area 5.0107E+10 bytes Fixed Size 2264856 bytes Variable Size 2.5636E+10 bytes Database Buffers 2.4428E+10 bytes Redo Buffers 41463808 bytes Database mounted. Database opened. SQL> show parameter memory; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 48000M memory_target big integer 48000M shared_memory_address integer 0
補充:重啟進行驗證
發現重啟之後/dev/shm的掛載大小又變成了物理內存的一半,查看配置文件,有默認掛載的配置,將其註釋,重新掛載,問題解決
# tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=55G 0 0
ORA-00845: MEMORY_TARGET not supported on this system