用冷備的方式轉移一套DB后,由於硬件參數的改變和os安裝的設置不同,導致DB開啟報錯:
ORA-00845: MEMORY_TARGET not supported on this system
該報錯意思是: MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小:
memory_max_target 大小:
SQL> show parameter memory_max_target memory_max_target big integer 51584M SQL> show parameter memory_target memory_target big integer 51584M
而 /dev/shm 大小(為了舉例,設為40G):
[root@phacwdb1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_phacwdb1-LogVol0 63G 378M 59G 1% / tmpfs 40G 23M 40G 1% /dev/shm /dev/sdq1 190M 25M 155M 14% /boot
解決辦法,改變/dev/shm的size:
[root@phacwdb1 ~]# vim /etc/fstab
修改/etc/fstab的这行:
默認值:
tmpfs /dev/shm tmpfs defaults 0 0
修改後:
tmpfs /dev/shm tmpfs defaults,size=103G 0 0
-----黑體字的size,需大於或等於DB的MEMORY_TARGET(物理內存的40%,如128G物理內存即設定51.2G以上),如搭建的是RHCS架構,應該乘以2,以供兩套DB使用,即此時應該設置103G以上;
最後,重新mount /dev/shm使之生效:
[root@phacwdb1 ~]# mount -o remount /dev/shm
[root@phacwdb1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_phacwdb1-LogVol06 63G 378M 59G 1% /
tmpfs 103G 23M 103G 1% /dev/shm
/dev/sdq1 190M 25M 155M 14% /boot
然後db可以正常