`
zjx2388
  • 浏览: 1331126 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

关于SGA

阅读更多
SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

SGA几个很重要的特性:
1、SGA的构成——数据和控制信息,我们下面会详细介绍;
2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制);
3、一个SGA只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。

它主要包括:
1.数据库高速缓存(the database buffer cache),
2.重演日志缓存(the redo log buffer)
3.共享池(the shared pool)
4.数据字典缓存(the data dictionary cache)以及其它各方面的信息。

1.数据高速缓冲区(Data Buffer Cache)

在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:1) 脏的区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。
2) 自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。
3) 保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。

2.Redo Log Buffer Cache缓存对于数据块的所有修改。
主要用于恢复其中的每一项修改记录都被称为redo 条目。利用Redo条目的信息可以重做修改。

3. Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义。
它主要由两个内存结构构成:Library cache和Data dictionary cache
修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

Libray Cache缓存最近被执行的SQL和PL/SQL的相关信息。实现常用语句的共享,使用LRU算法进行管理,由以下两个结构构成:Shared SQL area、Shared PL/SQL area、Data Dictionary Cache、Data dictionary cache缓存最近被使用的数据库定义。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。

4.数据字典缓存(the data dictionary cache)
它包括的信息有:数据库文件,表,索引,列,用户,权限和其他数据对象,在解析间段,服务器进程查看数据字典来决定对象名称和有效的访问的信息,缓存数据字典信息来提高请求反应时间,大小是由共享池的大小来决定的。
分享到:
评论

相关推荐

    关于SGA设置的一点总结

    仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑 写这个也是因为近来这种重复性的问题发生的太多所导致的

    SGA包含的组件:共享池

    - **V$SGA**:提供关于SGA总览的信息,如各个组件的名称和当前值。 - **V$SGASTAT**:提供更详细的SGA统计信息,包括各个组件的具体使用情况。 - **V$SGAINFO**:在Oracle 10g及以后版本中,提供了更多关于SGA的动态...

    WINDOWS平台上扩展SGA

    在 Windows 操作系统上运行 Oracle 数据库时,可能会遇到关于 SGA(共享全局区)大小的限制问题。特别是在早期版本的 32 位 Windows 操作系统中,由于地址空间的限制,Oracle 数据库在 SGA 大小方面受到了一定的约束...

    SGA Internal

    通过在SQL*Plus中使用`ORADEBUG SETMYPID`和`ORADEBUG IPC`命令,可以获取关于SGA的详细信息,进一步分析和优化数据库性能。 总结来说,SGA内部涉及了多种内存管理机制和数据结构,理解这些概念对于优化Oracle...

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

    "Oracle SGA 参数调整导致数据库启动异常处理方法" 在 Oracle 数据库中,SGA(System Global Area)参数调整可能会导致数据库启动异常。这种情况下,需要了解 SGA 参数的调整方法和恢复数据库的方法。 一、SGA ...

    Oracle 9i 调整SGA性能

    本文将深入探讨Oracle 9i中的System Global Area(SGA)性能调整,帮助你理解如何通过优化SGA来提升数据库的整体性能。 SGA是Oracle数据库的核心组成部分,它是一个共享内存区域,用于存储数据库运行时的各种信息。...

    oracle sga设置

    ### Oracle SGA 设置详解 #### 一、Oracle SGA 概述 在Oracle数据库系统中,SGA(System Global Area)是所有用户进程共享的一块内存区域,它为Oracle实例提供了一个公共的数据和控制信息存储区。SGA的合理配置...

    Oracle SGA

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

    更改ORACLE SGA的详细步骤

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

    PGA,SGA与内存

    通过这些视图,可以获取到关于PGA和SGA的详细信息,如当前使用的大小、已分配的最大值、剩余可分配的内存等,从而帮助管理员更好地理解和优化数据库的内存使用。 总之,合理配置和监控PGA与SGA的大小对于保证Oracle...

    Oracle_SGA

    ### Oracle SGA (System Global Area) 组件与概述 #### SGA 概念与组成 在探讨Oracle数据库的系统全局区域(System Global Area, SGA)时,我们首先需要理解SGA的基本概念及其重要性。SGA是Oracle实例的一个重要组成...

    sga调整过大oracle无法启动解决方案

    "sga调整过大oracle无法启动解决方案" SGA(System Global Area)是 Oracle 数据库的一部分,它负责管理数据库的内存。然而,如果 SGA 设置太大,可能会导致数据库无法启动。本文档记录了 LINUX 环境下将 ORACLE 的...

    linuxVM平台扩展SGA

    ### Linux VM 平台扩展 SGA 的关键技术与实践 #### 执行概览 随着技术进步,特别是商品化服务器领域的快速发展及 Oracle 数据库架构的优化,原本价格高昂且维护成本较高的大型机不再独占鳌头。Intel 基础架构...

    Oracle042知识点(下)

    `获取关于SGA大小对物理读取的影响和建议。 8. `select pool,sum(bytes) from v$sgastat where pool='shared pool' group by pool;`汇总SGA中各个部件的大小。 六、了解PGA信息 1. `show parameter pga_aggregate_...

    原创文档详细说明ORACLE10G参数文件PFILE与SPFILE

    `v$sgainfo`提供了关于SGA各个部分的信息,包括名称、大小和预留资源等。 总结来说,Oracle 10G中的PFILE和SPFILE是数据库初始化参数的两种形式,各有优缺点。PFILE便于编辑和理解,而SPFILE提供了更多高级功能。...

    oracle-sga结构

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

    oracle Sga调优

    ### Oracle SGA调优知识点详解 #### 一、SGA简介 SGA(System Global Area)是Oracle数据库的一个重要组成部分,它是一个共享内存区域,由多个数据库进程共享,用于存储数据库信息并加速对这些信息的访问。SGA主要...

Global site tag (gtag.js) - Google Analytics