ora-00845

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:727

今天晚上新装一台Oracle 11g的数据库,打算将SGA设大一点,知道 11g 中有一个新特新 MEMORY_TARGET,于是尝一下鲜,谁知报了个 ORA-00845,报错比较容易迷惑人,不借助Google真得想半天:[size=1em][table=98%,inherit]
[tr=inherit][align=right][backcolor=inherit]1
[align=right][backcolor=inherit]2
[align=right][backcolor=inherit]3
[align=right][backcolor=inherit]4
[align=right][backcolor=inherit]5
[align=right][backcolor=inherit]6
[align=right][backcolor=inherit]7
[align=right][backcolor=inherit]8
[align=right][backcolor=inherit]9
[align=right][backcolor=inherit]10
[align=right][backcolor=inherit]11
[align=right][backcolor=inherit]12
[align=right][backcolor=inherit]13
[align=right][backcolor=inherit]14
[align=right][backcolor=inherit]15
[backcolor=inherit][backcolor=inherit]SQL> alter system set memory_max_target=3G scope=spfile ;

[backcolor=inherit]System altered.

[backcolor=inherit]SQL> alter system set memory_target=2G scope=spfile ;

[backcolor=inherit]System altered.

[backcolor=inherit]SQL>
[backcolor=inherit]SQL> shutdown immediate
[backcolor=inherit]Database closed.
[backcolor=inherit]Database dismounted.
[backcolor=inherit]ORACLE instance shut down.
[backcolor=inherit]SQL> startup ;
[backcolor=inherit]ORA-00845: MEMORY_TARGET not supported on this system

来自Oracle的官方解析是:Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup. 简单来说就是 MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小:[size=1em][table=98%,inherit]
[tr=inherit][align=right][backcolor=inherit]1
[align=right][backcolor=inherit]2
[backcolor=inherit][backcolor=inherit][oracle@FWDB FWDB]$ df -h | grep shm
[backcolor=inherit]tmpfs 2.0G 0 2.0G 0% /dev/shm

还真是撞到这个枪口上了: 马上把它加大:[size=1em][table=98%,inherit]
[tr=inherit][align=right][backcolor=inherit]1
[align=right][backcolor=inherit]2
[backcolor=inherit][backcolor=inherit][root@FWDB ~]# cat /etc/fstab | grep tmpfs
[backcolor=inherit]tmpfs /dev/shm tmpfs defaults,size=4G 0 0

现在可以通过重启使这个配置生效,也可以通过重新挂载来修改其大小:[size=1em][table=98%,inherit]
[tr=inherit][align=right][backcolor=inherit]1
[align=right][backcolor=inherit]2
[align=right][backcolor=inherit]3
[backcolor=inherit][backcolor=inherit][root@FWDB ~]# mount -o remount,size=4G /dev/shm
[backcolor=inherit][root@FWDB ~]# df -h | grep shm
[backcolor=inherit]tmpfs 4.0G 0 4.0G 0% /dev/shm

再次启动数据库,没有报错了。

本文标签:
本文标题:ora-00845
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】