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

ORA-00845

 
阅读更多
今天新装一个oracle,拷贝了另外台电脑上的参数文件,参数文件内容如下:

orcl.__db_cache_size=10066329*.control_files='/u02/oradata/orcl/control01.ctl','/u02/oradata/orcl/control02.ctl'
orcl.__db_cache_size=100663296
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=134217728
orcl.__sga_target=239075328
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=121634816
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_dest_1='location=/u02/archlog'
*.memory_target=372244480
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=170
*.standby_archive_dest='/u02/archlog'
*.undo_tablespace='UNDOTBS1'

想测试下数据库的参数是否正确,启动到nomount状态,结果报错:

[oracle@node2 admin]$ sqlplus  drb/drbmc@rzorcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 14 13:45:43 2011

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

Connected to an idle instance.

SQL> startup nomount
ORA-00845: MEMORY_TARGET not supported on this system
粗略估计是内存的原因,google的结果基本一致, MEMORY_MAX_TARGET 的参数过大, /dev/shm 显示的虚拟内存不足。

[root@node2 u02]#  df -h | grep shm
tmpfs                 445M  232M  213M  53% /dev/shm

因为虚拟机,所以把内存从900加到了1200,重新启动后打开oracle正常。

[root@node2 ~]# df -h | grep shm
tmpfs                 593M  134M  459M  23% /dev/shm
[oracle@node2 ~]$ sqlplus  drb/drbmc@rzorcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 14 14:07:19 2011

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

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  372449280 bytes
Fixed Size                  1336624 bytes
Variable Size             264243920 bytes
Database Buffers          100663296 bytes
Redo Buffers                6205440 bytes

打开数据库后的内存检测:

[root@node2 ~]# df -h | grep shm
tmpfs                 593M  223M  371M  38% /dev/shm

01 SQL> alter system set memory_max_target=3G scope=spfile ; 

02   

03 System altered.

04   

05 SQL> alter system set memory_target=2G scope=spfile ;      

06   

07 System altered.

08   

09 SQL> 

10 SQL> shutdown immediate 

11 Database closed.

12 Database dismounted.

13 ORACLE instance shut down.

14 SQL> startup ; 

15 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 [oracle@FWDB FWDB]$ df -h | grep shm

2 tmpfs                 2.0G     0  2.0G   0% /dev/shm

      还真是撞到这个枪口上了:

      马上把它加大:


1 [root@FWDB ~]# cat /etc/fstab | grep tmpfs

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

      现在可以通过重启使这个配置生效,也可以通过重新挂载来修改其大小:


1 [root@FWDB ~]# mount -o remount,size=4G /dev/shm

2 [root@FWDB ~]# df -h | grep shm

3 tmpfs                 4.0G     0  4.0G   0% /dev/shm

      再次启动数据库,没有报错了。
分享到:
评论

相关推荐

    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