zoukankan      html  css  js  c++  java
  • ORA-00845错误原因及解决办法

    故障现象:
    用startup命令启动数据库时出现ora-00845错误提示:
    SQL> startup
    ORA-00845: MEMORY_TARGET not supported on this system
     
    故障原因:
    在oracle database 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。
     
    解决办法
    • 修改初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET,使其不能大于共享内存(/dev/shm);
    • 修改/etc/fstab文件;

    补充知识,来自http://www.linuxidc.com/Linux/2014-05/101818.htm

    1. /dev/shm/是linux下一个非常有用的目录,该目录不在硬盘上,而是在内存里。
    2. 在linux下,使用df -h命令可以看到/dev/shm目录的容量大小,默认值为内存大小的一半,但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的。
    3. 默认情况下,系统启动时就会加载/dev/shm ,它就是所谓的tmpfs。象虚拟磁盘一样,tmpfs 可以使用RAM,也可以使用交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个mkfs之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。

    tmpfs有以下优势:

    1. 动态文件系统的大小;
    2. tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的;
    3. tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作;
  • 相关阅读:
    软考笔记(二)
    软件工程笔记
    安卓反编译
    [转] 扫描二维码自动区分下载Android或者iOS
    git使用技巧总结
    利用iTunes给MP3添加专辑插图
    Flex弹性盒子中`flex-grow`,`flex-shrink`,`flex-basis`的区别
    Android 中Activity和Fragment的启动顺序
    Java 类加载的过程
    Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法
  • 原文地址:https://www.cnblogs.com/sunmengbbm/p/6019912.html
Copyright © 2011-2022 走看看