`
songsong737
  • 浏览: 12304 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

ORA-00845 1

 
阅读更多
mysql oracle 关于
oracle 11g ORA-00845 处理方法一则
[oracle@db11g ~]$ sqlplus “/as sysdba”

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 11 12:52:21 2011

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

查看alert文件的提示:
Starting ORACLE instance (normal)
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 2046820352 bytes.

/dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current

available is 1989042176 and used is 0 bytes. Ensure that the mount point is /dev/shm for this directory.
memory_target needs larger /dev/shm
Mon Jul 11 12:52:22 2011

根据oracle参考手册上对ora-00845的解释:

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.

初步判断是memory_target的值大于了/dev/shm的值:

[oracle@db11g ~]$ df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.9G 0 1.9G 0% /dev/shm

[oracle@db11g /]$ cat $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

db11g.__java_pool_size=16777216
db11g.__large_pool_size=16777216
db11g.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
db11g.__pga_aggregate_target=872415232
db11g.__sga_target=1275068416
db11g.__shared_io_pool_size=0
db11g.__shared_pool_size=369098752
db11g.__streams_pool_size=0
*.audit_file_dest=’/u01/app/oracle/admin/db11g/adump’
*.audit_trail=’db’
*.compatible=’11.2.0′
*.control_files=’/dev/raw/raw5′,’/dev/raw/raw6′,’/dev/raw/raw7′CC”Z
*.db_block_size=8192
*.db_domain=”
*.db_name=’db11g’
*.db_recovery_file_dest=’/u01/app/oracle/flash_recovery_area’
*.db_recovery_file_dest_size=2G
*.diagnostic_dest=’/u01/app/oracle’
*.dispatchers=’(PROTOCOL=TCP) (SERVICE=ORCLXDB)’
*.instance_name=’db11g’
*.memory_target=2G
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′

通过比对发现:memory_target为2g,而/dev/shm总大小为1.9g,原因找到了,为什么会出现这种情况呢?

结合这两天对操作系统的修改,为了解决 Memory for crash kernel (0×0 to 0×0) notwithin permissible range,而启用了Kdump,修改了启动参数,增加了crashkernel=128M@16M,由于物理内存总大小为4g,内核划走了128m的内存,总可用物理内存就没有4g了,而/dev/shm的默认大小为物理内存的一半。因此要修改参数配置文

件/etc/fstab,将/dev/shm设为固定2g即可,然后重新挂载,启动数据库。操作如下:

[root@db11g ~]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
/dev/sdb1               /u01                    ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda5         swap                    swap    defaults        0 0
LABEL=SWAP-sda6         swap                    swap    defaults        0 0
[root@db11g ~]# vi /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1
/dev/sdb1               /u01                    ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults,size=2g        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda5         swap                    swap    defaults        0 0
LABEL=SWAP-sda6         swap                    swap    defaults        0 0

[root@db11g ~]# mount -o remount /dev/shm
[root@db11g ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              57G  3.1G   51G   6% /
/dev/sdb1             9.4G  5.9G  3.2G  66% /u01
tmpfs                 2.0G     0  2.0G   0% /dev/shm
[root@db11g ~]# su - oracle
[oracle@db11g ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 11 13:04:49 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 2042241024 bytes
Fixed Size                  1337548 bytes
Variable Size            1174406964 bytes
Database Buffers          855638016 bytes
Redo Buffers               10858496 bytes
Database mounted.
Database opened.
SQL>
通过固定/dev/shm大小,解决了ORACLE 11G ORA-00845: MEMORY_TARGET not supported on this system错误。
分享到:
评论

相关推荐

    ora-00845 ora-00845

    ### ORA-00845 错误详解与解决方案 #### 错误代码与含义 ORA-00845 错误是指 Oracle 数据库中的一个错误代码,该错误通常表示“MEMORY_TARGET not supported on this system”,即系统不支持 MEMORY_TARGET 参数。...

    Oracle 报错ORA-00845 MEMORY_TARGET not supported on this system

    Oracle数据库在运行过程中,经常会遇到各种错误代码,错误代码ORA-00845是其中的一个,它是指“MEMORY_TARGET not supported on this system”。这个错误一般发生在尝试在不支持MEMORY_TARGET参数的系统上设置该参数...

    oracle11G调整物理内存提示ORA-00845 MEMORY_TARGET

    "Oracle 11g调整物理内存提示ORA-00845 MEMORY_TARGET" Oracle 11g 中的内存自动管理机制 ===================================== Oracle 11g 中引入了一个新的内存自动管理机制,即 MEMORY_TARGET 参数,这个...

    Oracle11g 自动维护任务配置与调优

    根据提供的文件信息,本文将详细解析Oracle 11g中的自动维护任务配置与调优方法,特别是关于...此外,通过解决特定的错误代码,如ORA-28002和ORA-00845,进一步展示了如何利用Oracle的强大功能来优化数据库管理流程。

    memory_target 解决方案

    在上述内容中,用户遇到了“ORA-00845: MEMORY_TARGET not supported on this system”的错误信息,这通常意味着Oracle实例所在的系统无法支持`MEMORY_TARGET`特性。根据用户的描述,这个问题发生在将Oracle 11g从...

    Linux下Oracle11g安装手册指导.docx

    2. **共享内存配置**:如果`/dev/shm`分区大小小于1GB而`memory_target`设置为2GB时,可能会导致数据库启动失败,出现ORA-00845及ORA-01078错误。解决方法是确保有足够的共享内存。可以调整`/dev/shm`的大小,并将其...

    oracle11gR2安装

    若共享内存不足,数据库启动时可能会遇到ORA-00845错误。可以使用`df -h /dev/shm`命令检查共享内存的大小。 其次,需要确认系统的处理器架构与Oracle安装包兼容,使用`uname -m`命令查看处理器类型。例如,如果...

    rhel6u2下 安装 oracle11g R2

    ### rhel6u2下安装oracle11g ... - 遇到ORA-00845错误(Oracle 11g R2 MEMORY_TARGET not supported on this system),可以参考这篇博客文章寻求解决方案:[http://blog.csdn.net/fffygapl/article/details/7399348]...

    11g在linux下的安装

    如果不足,会导致ORA-00845错误。可以通过`df -h /dev/shm`检查,并通过`mount`命令调整。 2. **磁盘空间**: - `/tmp`目录至少需要1GB空间,使用`df -h /tmp`检查。若不足,可删除无用文件、指定新的临时目录或...

    Oracle12C调优

    ORA-00845 MEMORY_TARGET 或 MEMORY_MAX_TARGET 设置不当 **原因**:初始化参数 MEMORY_TARGET 或 MEMORY_MAX_TARGET 的值不能超过共享内存的限制。 **解决办法**: - **临时解决方案**:作为临时解决方案,可以...

    详解Linux系统中Oracle数据库程序的启动和关闭方式

    在启动过程中遇到的问题,如`ORA-00845: MEMORY_TARGET not supported on this system`,通常是因为Linux系统中用于Oracle的共享内存大小不足。Oracle尝试使用的`MEMORY_TARGET`值大于系统的 `/dev/shm` 分区大小。...

Global site tag (gtag.js) - Google Analytics