ORA-00845: MEMORY_TARGET not supported on this system報錯解決
今天因爲導入oracle數據文件的時候尷尬了一回。
因爲環境是在虛擬機中,然後我啓動虛擬機的時候內存是3G,進入到系統中發現oracle的實例沒啓動
具體如下報錯信息
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
查找資料後發現問題如下,見metalinikID 460506.1
Oracle 11g數據庫修改pfile參數後啓動數據庫報錯ora-00845
在oracle 11g中新增的內存自動管理的參數MEMORY_TARGET,它能自動調整SGA和PGA,這個特性需要用到/dev/shm共享文件系統,而且要求/dev/shm必須大於MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就會報錯
解決方案
1.初始化參數MEMORY_TARGET或MEMORY_MAX_TARGET不能大於共享內存(/dev/shm),爲了解決這個問題,可以增大/dev/shm
如:
# mount -t tmpfs shmfs -o size=7g /dev/shm
2.爲了確保操作系統重啓之後能生效,需要修改/etc/fstab文件
shmfs /dev/shm tmpfs size=7g 0
3.如果/dev/shm沒有掛載也會報上面的錯,所認需要確保已經掛載
oracle@aaaprod-db ~]$ df -h
……
tmpfs 16G 8.9G 7.2G 56% /dev/shm
……
下面爲一次操作的記錄
[root@aaaprod-db ~]# mount -o remount,size=7G /dev/shm
[root@rhel6 mydbbackup]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Dec 20 08:29:51 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_rhel6-lv_root / ext4 defaults 1 1
UUID=f742f5bf-7787-4a46-bc06-d751caa48482 /boot ext4 defaults 1 2
/dev/mapper/vg_rhel6-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_rhel6-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
shmfs /dev/shm tmpfs defaults,size=7g 0 0
[root@rhel6 mydbbackup]# df -h | grep shmfs
shmfs 7.0G 941M 6.1G 14% /dev/shm
然後啓動數據庫:
SQL> startup
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2213776 bytes
Variable Size 1124075632 bytes
Database Buffers 469762048 bytes
Redo Buffers 7360512 bytes
Database mounted.
Database opened.
參考文章:http://www.linuxidc.com/Linux/2012-12/76976.htm