今天晚上新装一台Oracle 11g的数据库,打算将SGA设大一点,知道 11g 中有一个新特新 MEMORY_TARGET,于是尝一下鲜,谁知报了个 ORA-00845,报错比较容易迷惑人,不借助Google真得想半天:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
SQL> alter system set memory_max_target=3G scope=spfile ; System altered. SQL> alter system set memory_target=2G scope=spfile ; System altered. SQL> SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ; 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 的大小:
1
2
|
[oracle@FWDB FWDB]$ df -h | grep shm
tmpfs 2.0G 0 2.0G 0% /dev/shm
|
还真是撞到这个枪口上了:
马上把它加大:
1
2
|
[root@FWDB ~] # cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults,size=4G 0 0
|
现在可以通过重启使这个配置生效,也可以通过重新挂载来修改其大小:
1
2
3
|
[root@FWDB ~] # mount -o remount,size=4G /dev/shm
[root@FWDB ~] # df -h | grep shm
tmpfs 4.0G 0 4.0G 0% /dev/shm
|
再次启动数据库,没有报错了。
相关推荐
Oracle数据库在运行过程中,经常会遇到各种错误代码,错误代码ORA-00845是其中的一个,它是指“MEMORY_TARGET not supported on this system”。这个错误一般发生在尝试在不支持MEMORY_TARGET参数的系统上设置该参数...
在上述内容中,用户遇到了“ORA-00845: MEMORY_TARGET not supported on this system”的错误信息,这通常意味着Oracle实例所在的系统无法支持`MEMORY_TARGET`特性。根据用户的描述,这个问题发生在将Oracle 11g从...
ORA-00845 错误是指 Oracle 数据库中的一个错误代码,该错误通常表示“MEMORY_TARGET not supported on this system”,即系统不支持 MEMORY_TARGET 参数。这通常发生在尝试在不支持该特性的旧版本操作系统或某些...
#### ORA-00024: Mode Not Supported 尝试使用的模式不支持时触发。例如,尝试使用只读模式打开一个必须以读写模式打开的对象。 #### ORA-00025: Invalid Object Type 当尝试操作的对象类型无效时触发。这通常是...
#### ORA-00090: Debugging not started in this instance - **解释**: 在这个实例中未启动调试。 - **解决方案**: 在实例中启用调试。 #### ORA-00091: LARGE_POOL_SIZE not set - **解释**: LARGE_POOL_SIZE未...
在启动过程中遇到的问题,如`ORA-00845: MEMORY_TARGET not supported on this system`,通常是因为Linux系统中用于Oracle的共享内存大小不足。Oracle尝试使用的`MEMORY_TARGET`值大于系统的 `/dev/shm` 分区大小。...
### rhel6u2下安装oracle11g ... - 遇到ORA-00845错误(Oracle 11g R2 MEMORY_TARGET not supported on this system),可以参考这篇博客文章寻求解决方案:[http://blog.csdn.net/fffygapl/article/details/7399348]...
这一步是为了解决"MEMORY_TARGET not supported on this system"的错误。然后重启系统。 安装必要的软件环境。使用`yum`命令安装一系列依赖包,如binutils、gcc、glibc-devel、ksh等。为了满足Oracle的兼容性要求,...