本来我的数据库是没有配置AMM的,memory_target,memory_max_target的值都为0,为了开启AMM功能,就随便设置memory_target,memory_max_target为250M,结果悲剧了。
1,
如上图,我的memory_target,memory_max_target都是0
2,
3,重启数据库后,报错
4,那就重新修改memory_target,memory_max_target的值呗。spfile肯定不行了,就改pifle,但我的pfile是很早以前的了,如何得到当前的pfile是关键了。刚开始以为create pfile from spfile 这个命令至少要在数据库nomount状态下才能执行,现在想想我是错了。在用有权限的用户连入数据库,即使数据库没有启动依然可以执行这条命令。得到pfile后,使用vi把memory_target,memory_max_target改为350M,再执行create spfile from pfile;
5,启动数据库。本以为没错了,但报错依旧。它不支持memory_target。
文档中的解释是:
ORA-00845: MEMORY_TARGET not supported on this system
Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
6,由上述的说明知道,应该是我的/dev/shm的容量小于memory_target所致。这样就有两种方法来解决这个问题。一调整memory_target的大小,二调整/dev/shm的大小。
我的/dev/shm的大小是:
这个大小显然不能满足memory_target至少304M的要求
下面是调整/dev/shm大小的方法。 谢谢 http://yangtingkun.itpub.net/post/468/408235
虽然我的具体情况和他的不一致,但方法都是一样的.1,调整/dev/shm的大小;2,卸载/dev/shm;3,挂载/dev/shm(以上操作由root用户完成);4 启动数据库
7,修改/dev/shm的大小可以通过修改/etc/fstab来实现。
修改为:
8,卸载、挂载/dev/shm
9,启动数据库,搞定。
- 大小: 13.6 KB
- 大小: 31 KB
- 大小: 14.2 KB
- 大小: 7.2 KB
- 大小: 2.8 KB
- 大小: 12.3 KB
- 大小: 8.4 KB
- 大小: 4.7 KB
- 大小: 11.9 KB
分享到:
相关推荐
如果是在使用spfile(服务器参数文件)的情况下出现的问题,你可以尝试使用pfile(文本参数文件)来启动数据库实例,然后手动编辑参数文件,移除或调整MEMORY_TARGET参数。 7. 查阅官方文档和社区。如果问题仍未解决...
"Oracle 11g调整物理内存提示ORA-00845 MEMORY_TARGET" Oracle 11g 中的内存自动管理机制 ===================================== Oracle 11g 中引入了一个新的内存自动管理机制,即 MEMORY_TARGET 参数,这个...
通过上述步骤,用户成功解决了“ORA-00845: MEMORY_TARGET not supported on this system”的问题。这表明在Oracle实例中正确配置`MEMORY_TARGET`参数对于实现高效的内存管理和提升数据库性能至关重要。同时,需要...
解决 ORA-00845 错误通常涉及两个主要步骤:确认系统是否支持 MEMORY_TARGET 参数以及调整内存分配策略。 1. **确认系统支持情况**: - 检查当前操作系统版本是否支持 MEMORY_TARGET 参数。通常较新版本的操作系统...
在实际应用过程中可能会遇到一些问题,例如内存不足导致的启动失败,可以通过调整`memory_target`参数解决。 1. **内存不足**: 如果`memory_target`太小,启动时会提示错误,如ORA-00838。此时需要增加`memory_...
Go-ora 什么是新的: 版本2.15 支持更多字符集(0x33D,0x33E,0x33F,0x340、0x352、0x353、0x354) 版本2.0-beta 将客户端版本更新为317 将ttc版本更新为:9 使用4个字节的数据包长度而不是2个字节 使用高级...
ORA-00845 MEMORY_TARGET 或 MEMORY_MAX_TARGET 设置不当 **原因**:初始化参数 MEMORY_TARGET 或 MEMORY_MAX_TARGET 的值不能超过共享内存的限制。 **解决办法**: - **临时解决方案**:作为临时解决方案,可以...
4. **使用动态调整**:启用`MEMORY_TARGET`和`MEMORY_MAX_TARGET`,让Oracle自动调整SGA和PGA的大小,以适应当前负载。 5. **定期审查**:随着业务的发展,数据库需求可能会变化,应定期审查并更新初始化参数设置。 ...
* Large pool:用于在shared server模式下作为session memory,在并行执行情况下作为消息缓冲,在RMAN中作为disk I/O buffer,该部分在10g和9iR2中可以动态调整large_pool_size。 * Shared pool:存储共享cursors、...
ORA-00845错误通常发生在尝试设置`memory_max_target`或`memory_target`参数时。这两个参数控制了Oracle实例的最大内存使用量。若出现ORA-00845错误,则表示无法设置这些参数,因为它们不是默认启用的。 - **解决...
说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。 值范围: 根据操作系统而定。 默认值 : 1 circuits: 说明 : 指定可用于入站和出站网络会话的虚拟电路总数。 该参数是构成某个例程的总 SGA ...
- `MEMORY_TARGET`: 自动调整SGA和PGA的总目标大小。 8. **归档模式与备份参数** - `LOG_ARCHIVE_START`: 控制是否启用归档日志模式。 - `BACKUP_OPTIMIZATION_ENABLED`: 是否开启自动备份优化。 9. **并行执行...
#### ORA-00021: Unable to Lock Memory in Shared Pool 当Oracle试图锁定共享池中的内存但失败时触发。这可能是因为操作系统的限制或配置问题。 #### ORA-00022: Error Getting Lock ID 获取锁ID时出错,通常是...
下面将详细介绍如何更改 Oracle SGA 的大小,以及在出现问题时如何恢复到初始设置。 1. **查询 SGA 参数**: 在命令行中,使用 `sqlplus` 登录到数据库,以 `sysdba` 角色连接: ``` sqlplus /nolog Conn / as ...
若共享内存不足,数据库启动时可能会遇到ORA-00845错误。可以使用`df -h /dev/shm`命令检查共享内存的大小。 其次,需要确认系统的处理器架构与Oracle安装包兼容,使用`uname -m`命令查看处理器类型。例如,如果...
错误ora_00844和ora_00851通常是因为memory_target参数设置不当,使得内存分配小于sga_max_size。 **2. 参数文件管理** Oracle有两种参数文件:pfile(文本参数文件)和spfile(二进制参数文件)。spfile是Oracle ...