• 2、Oracle内存结构


    • 系统全局区(SGA),也叫共享全局区。

    1、数据缓冲区(Data Buffer Cache):

    用于存储从磁盘数据文件中读取的数据,供所有用户共享。用户修改数据后,修改后的数据先保存在数据库缓冲区中,最后由DBWn进程写入磁盘数据文件。

     

    2、日志缓冲区(Redo Log Buffer Cache):

    用于存储数据库的修改操作信息。当日志缓冲区中的日志数据达到一定限度时,由日志写入进程LGWR写入磁盘日志文件。

    3、共享池(Shared Pool):

    用于保存最近执行的SQL语句、PLSQL程序的数据字典信息,它是对SQL语句和PLSQL程序进行语法分析、编译和执行的内存区域。

    (1).库缓冲区(library cache):SQL语句的分析码和执行计划;

    (2).数据字典缓冲区(data dictionary cache):数据字典中得到的表、列定义和权限;

    (3).用户全局区(user globalarea):保存用户的会话信息。

    • 程序全局区(PGA)

    是包含单个用户(或服务器)数据控制信息内存区域。PGA不是共享区,只有服务器本身才能访问自己的PGA,它主要用来保存用户在编程时使用的变量数组等。

    • 排序区(Sort Area)

    Oracle系统为排序操作所产生的临时数据,提供的内存空间。在Oracle中,存放用户排序操作所产生的临时数据的区域有两个,内存排序区和临时表空间,优先使用内存排序区进行排序操作,如果内存空间不够,再使用磁盘临时段。

    性能调优知识点:

    Oracle尽量使用内存排序。

    select name,value from v$sysstat where name like '%sort%'; 

    sorts(memory)表示内存排序量, sorts(disk)表示磁盘序量。

    失败率 = sort(disks)/sorts(memory)  ×100%  排序区的失败率不得小于5%,否则必须增加排序sort_area_size的大小,使得Oracle尽量使用内存排序。磁盘IO的调整就是把数据文件放在多个不同的磁盘上。

    • 大池(Large Pool)

    用于提供一个大的缓冲区供数据库的备份与恢复操作。

    • Java池(Java Pool)

    用于在数据库中支持java的运行。

    生命不息,折腾不止;不计后果,不问前程!
  • 相关阅读:
    主线程——main线程
    进程和线程概念及原理
    抓取网贷之家的数据爬虫
    感知哈希算法的java实现
    最短路径—Dijkstra算法和Floyd算法
    关于图像特征提取
    hive学习之WordCount单词统计
    pig、hive以及hbase的作用
    zookeeper入门知识
    hadoop文件系统浅析
  • 原文地址:https://www.cnblogs.com/jionjionyou/p/5495324.html
Copyright © 2020-2023  润新知