`
beagoodboy
  • 浏览: 97026 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

使Oracle的SGA常驻物理内存

阅读更多
Oracle中的lock_sga和pre_page_sga这两个静态初始化文件参数是用来指示SGA如何使用操作系统内存的。在Linux上启动Oracle数据库的时候,如果设置了lock_sga=true,那么就有可能碰到如下的报错信息:
SQL> startup;
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory

这是因为Linux操作系统对应用程序使用内存有一些限制,在SHELL中使用ulimit命令可以查看到如下的信息:
[oracle@dev111 ~]$ ulimit -a | grep memory
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
virtual memory          (kbytes, -v) unlimited

可以看出,lock_sga跟max locked memory的限制是存在冲突,如果保持lock_sga=true参数设置的话,必须修改Linux的max locked memory限制。在/etc/security/limits.conf这个配置文件中添加如下的一行(oracle是启动数据库的操作系统账号),意思是oracle用户可以在物理内存中锁住任意大的空间:
oracle   -   memlock unlimited

之后使用oracle重新登录系统,数据库就可以正常启动了!而另一个初始化参数pre_page_sga设置为true的话,数据库启动的时候就会在内存中分配好整个SGA,这将使Oracle数据库的启动时间加长。
分享到:
评论

相关推荐

    oracle SGA PGA UGA 内存

    - 在调整SGA参数前,需要评估物理内存、操作系统需求、数据库存储方式(文件系统或裸设备)、并发连接数以及应用类型(OLTP或OLAP)。 - 文件系统可能导致操作系统级别的缓存,需要额外考虑这部分内存。 - 对于...

    Oracle SGA

    Oracle SGA(System Global Area)是Oracle数据库中至关重要的组件,它是一个共享内存区域,用于存储数据库运行时的各种数据结构和信息。Oracle SGA的优化和分配方式对于数据库性能有着直接的影响。在Oracle 9i及...

    oracle改sga导致数据库启动异常处理办法

    SGA 参数是 Oracle 数据库中最重要的参数之一,它控制着数据库的内存分配和性能。如果 SGA 参数设置不当,可能会导致数据库启动异常、性能下降或崩溃。 二、数据库启动异常的原因 当调整 SGA 参数后,数据库可能...

    oracle sga设置

    - **SGA_MAX_SIZE**:设定SGA的最大值,这个值不能超过操作系统可用的物理内存。 - **SGA_TARGET**:设定SGA的目标大小,当设置该参数时,Oracle将自动调整SGA的大小,以达到指定的目标值。 - **DB_CACHE_SIZE**:...

    ORACLE 内存调整(SGA和PGA)

    SGA+PGA最好不要超过总内存的70%,内存详细调整方案,供学习。

    更改ORACLE SGA的详细步骤

    Oracle 数据库的 System Global Area (SGA) 是一个共享内存区域,它包含了数据库运行所需的各种组件,例如数据缓冲区缓存、重做日志缓冲区、共享 SQL 区域等。当需要调整 SGA 大小以优化数据库性能时,需要遵循一定...

    oracle Sga调优

    SGA(System Global Area)是Oracle数据库的一个重要组成部分,它是一个共享内存区域,由多个数据库进程共享,用于存储数据库信息并加速对这些信息的访问。SGA主要包括以下几个部分: - **数据缓冲区**:用于缓存...

    Oracle_SGA

    SGA是Oracle实例的一个重要组成部分,它是一个位于内存中的共享数据结构集合,用于存储所有用户进程共享的信息。SGA的大小是动态可变的,可以根据不同的配置参数进行调整。了解SGA的各个组件以及它们如何协同工作...

    Oracle 9i 调整SGA性能

    SGA是Oracle数据库的核心组成部分,它是一个共享内存区域,用于存储数据库运行时的各种信息。主要包括以下几个关键组件: 1. 数据缓冲区缓存(Data Buffer Cache):这是存储表和索引块的地方,通过减少磁盘I/O来...

    Oracle数据库内存结构SGA的区域信息

    SGA(system global area)系统全局区跟一些必须的后台进程合进来称为实例(Instance).说它是全局区是包含了全局变量和数据结构,是系统区是包含了进入整个Oracle ...本文将为大家介绍Oracle数据库内存结构SGA的区域信息。

    OracleSGA和PGA管理.doc

    OracleSGA和PGA管理

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

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

    oracle sga

    数据库 oracle sga 内存结构 sga图

    oracle-sga结构

    Oracle SGA(System Global Area)是Oracle数据库管理系统中的核心组成部分,它是一个共享内存区域,用于存储数据库运行时所需的各种数据和信息。理解SGA的结构对于优化数据库性能和日常维护至关重要。 SGA主要包含...

    Oracle 10g的内存调整报告

    - **LOCK_SGA**:此参数用于控制SGA是否被锁定在物理内存中。当设置为TRUE时,SGA的所有页面都会被锁定,防止被操作系统置换到虚拟内存中,从而避免PageIn/Out的发生。 #### 使用ASMM自动调整SGA 为了更好地管理...

    减少Oracle内存占用

    本文将详细介绍如何通过合理设置SGA(共享全局区)来有效降低Oracle 10g在Windows XP系统中的内存占用,并确保日常学习与工作的正常进行。 #### 一、Oracle内存结构简介 Oracle数据库的内存结构主要由SGA和PGA两...

    Oracle启用大页内存.docx

    3. **Automatic Memory Management (AMM)**: 自动内存管理,Oracle 11g开始引入,管理SGA和PGA(Program Global Area)的内存分配,但启用大页内存时需停用AMM。 4. **memlock**: 这是Linux的一个资源限制,用于...

Global site tag (gtag.js) - Google Analytics