• 【转】Oracle基础结构认知——oracle内存结构 礼记八目 2017-12-15 20:31:27


    oracle的数据库实例是一组后台进程和内存结构组成的,而内存结构由系统全局区(system global area)和程序全局区(program global area)组成。

    Oracle基础结构认知——oracle内存结构

    #修改SGA和PGA的配置文件,通常在/../oracle/admin/spfile/init.ora中的sgz_max_size=64M、sga_target=64M、pga_aggregate_target 参数,或在sqlplus里Alter system set sga_max_size=64M scope=spfile; 修改后重启数据库和服务生效。

    系统全局区(SGA):Oracle 系统用于存放系统信息的一块存储区域,用户进程和Oracle后台进程都可以使用SGA。

    SGA:database buffer cache(数据库高速缓存区),redolog buffer cache(重做日志高速缓存区),大的共享池(java pool,large pool),共享池(library cache[库缓存区],data dictionary cache[数据字典缓存区]),固定SGA(不可以设置修改,oracle之初自动创建的);

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

    在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。oracle每执行一个查询必须从磁盘调用数据DBSGA的存在,数据库用于调用的访问数据一般存在DBSGA。长期访问的代码表存在于保持缓存池长期存于内存并不释放,频繁访问的大表存在于再生缓存池。

    数据高速缓存区包括三个类型:

    (1).脏的区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。

    (2).自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块的存储信息写入该区。

    (3).保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用数据访问的区。

    2. 重做日志缓冲区(Rado Log Buffer)

    任何事务(Transaction)在记录到重做日志(恢复工作需要使用联机重做日志)之前都必须首先放到重做日志缓冲区(Redo Log Buffer)中,然后由日志写入进程(LGWR)定期将此缓冲区的内容写入重做日志文件(redolog file)中。

    3. 共享池(Shared Pool)

    共享池是SGA保留的区,用于存储如SQL、PL/SQL存储过程及包、数据字典、锁、字符集信息、安全属性等。共享池包含有:

    (1).库高速缓存(Library Cache):共享SQL区(保留SQL解释版本),PL/SQL区(保留PLSQL的函数和过程及包)

    (2).字典高速缓冲区(Dictionary Cache):数据字典,校验表名,列名,锁,字符集信息,安全属性等

    *****查看SGA*****

    通过sqlplus工具,键入:show parameter SGA 或 select * from v$SGA; 。SGA=fixed size+variable size+database buffers+redo buffers

    Oracle基础结构认知——oracle内存结构

    查看oracle的SGA

     

    4. 大的共享池:在SGA中大池是可选的缓冲区。它可以根据需要有管理权进行配置。它可以提供一个大的区以供对象数据库的备份与恢复等操作。

    程序全局区:(PGA)是Oracle使用的内存区域,该区同一时间只能被一个进程存放数据和控制,用于存放会话变量及内部数组等;在专用服务模式(dedicated server configuration)下,每个只处理一个用户进程的请求。在共享服务模式(shared server configuration)下,大量用户可以共享几个服务进程,通过减少服务进程数量达到有效利用系统资源的目的。

    例:用户访问进程与服务进程的会话。

    ****查看PGA****

    show parameter pga ;

    Oracle基础结构认知——oracle内存结构

    查看oracle的PGA

  • 相关阅读:
    移植BOA
    [转]Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
    服务器软件设计的算法和问题
    [solve]Bind: Address Already in Use
    Simple guide for Automake/Autoconf by Nick
    Ubuntu(Linux)中设置samba
    VMware不能上网,解决办法
    数组的顺序存储和实现
    根文件系统的构成
    Linux网络编程IP转换函数inet_addr和inet_ntoa
  • 原文地址:https://www.cnblogs.com/zhrngM/p/9492589.html
Copyright © 2020-2023  润新知