Oracle启动--ORA-00845: MEMORY_TARGET not supported on this system

虚拟机占内存多,其实也不是太多,主要是小黑大不如从前,其实不怪小黑,现在系统程序都太吃内存,其实... 现在  废话

 

虚拟机内存原来给开了1G内存,感觉主机卡,缩小到512。进虚拟机后启动oracle 报错 ORA-00845: MEMORY_TARGET not supported on this system。

一定是调小内存Oracle 生气才报错给我,追忆排查..

1. 先执行top,然后shift+m

 发现gnome-shell一直占的比较多,界面谢谢你,但你现在必须离去。

 在centos7下的命令如下: 

    systemctl set-default graphical.target 启动图形界面
    systemctl set-default multi-user.target 启动文本界面

2. free -m  发现剩下的内存还是太少

             total       used       free     shared    buffers     cached
Mem:           490        311        178          4          0        169
-/+ buffers/cache:        141        348
Swap:         2079          0       2079

3. 再压缩压缩 

    释放内存
    #sync  
    #echo 3 > /proc/sys/vm/drop_caches

            total       used       free     shared    buffers     cached
Mem:           490        177        312          4          0         45
-/+ buffers/cache:        131        358
Swap:         2079          0       2079

4. 差不多了,再去修改一下启动文件spfile的内存分配参数

   先执行:create pfile from spfile;

     File created.

 然后进入 cd $ORACLE_HOME/dbs       再 vim initFIRST.ora 修改参数 *.memory_target

 最小值可能是276m换算成bytes 289406976   即 *.memory_target=289406976

 然后转化回去 

      create spfile from pfile;

        File created.

5. 其实oracle启动需要的内存已经可以,但是依然启动不来,为什么呢?

 答案是:/dev/shm的值 < *.memory_target   现在*.memory_target已经很小了,那去更改/dev/shm的值吧

 改法:a)先查看   df - h  

[oracle@localhost ~]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   42G   27G   15G  65% /
devtmpfs                 237M     0  237M   0% /dev
tmpfs                    246M     0  246M   0% /dev/shm
tmpfs                    246M  4.7M  241M   2% /run
tmpfs                    246M     0  246M   0% /sys/fs/cgroup
/dev/mapper/centos-home   21G   98M   21G   1% /home
/dev/sda1                497M  118M  379M  24% /boot

           b)现在才246  要改大,改成2G吧。root用户 修改的文件 vim /etc/fstab  (没有的话增加下面一行)

tmpfs /dev/shm                 tmpfs   defaults,size=2G  0 0

   重启后每次都生效,如果只想本次有效mount -t tmpfs shmfs -o size=1G /dev/shm。重启后再看  

文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   42G   27G   15G   65% /
devtmpfs                 237M     0  237M    0% /dev
tmpfs                    2.0G     0  2.0G    0% /dev/shm
tmpfs                    246M  4.7M  241M    2% /run
tmpfs                    246M     0  246M    0% /sys/fs/cgroup
/dev/mapper/centos-home   21G   98M   21G    1% /home
/dev/sda1                497M  118M  379M   24% /boot
[root@localhost ~]# 

最终启动起来了,说实话,分512M给oracle 太欺负人了!!!!

 

如果你也因为内存原因启动不来了,那么请您优先从第5条做起!

 

posted @ 2016-11-16 13:48  braldey  阅读(362)  评论(0)    收藏  举报