oracle系统体系与服务器性能学习小记

这周了解了一下Oracle的体系结构,备忘如下。

 

Oracle系统体系主要分为两大块,SGA(系统全局区)和PGA(程序全局区)。

SGA主要包括database buffer cache shared pool redo log bufferlarge pool 和 java pool等。当一个实例启动时,系统就为它分配了一块SGADatabase buffer cache 主要存储已访问的或要存入磁盘的数据,shared pool 存储编译解析后的sql语句、数据字典等信息。Redo log buffer 存储恢复文件的信息,Large pool 和 java pool都是可选的,Large pool负责备份、并行处理、I/O操作等,java pool 可处理用java编写的存储过程等。

PGA包括user processserver  processbackground process,分别为用户短的进程、处理客户端和服务器之间的连接的进程、数据库核心运行的进程。一个用户连接上就分配了一个PGA

评价服务器性能的主要指标有响应时间、吞吐量、并发数、处理事务能力、文件缓存命中率、cpu负载和I/O的读写能力等等。针对不同的服务器处理情况要配置不同的服务器设置可以让服务器运行的更好。服务器可以把运行基本软件剩余的内存全分配给Oracle系统,以便更合理利用现有资源。

当服务器中的联机事务分析(OLAP)多的时候,可以分配较多的内存给PGAOLAP主要是处理大数据量的一次性事务,全表分析,排序等,此时需要大量的内存用于处理这些事务。

当联机事务处理(OLTP)多时,可分配较多内存于SGAOLTP主要处理大量的小型事务,对性能的要求较高。SGA中的内存分配除了shared pool 要分配较多的内存外,可把分配后剩下的大部分内存分配给db cache,由SGA基本知识可知,把近期使用过的数据存储在db缓存中,可提高访问数据时的命中率,不需要再到磁盘中读出。适当大小的shared pool存储编译后的sql语句,当有相同的语句进来,可以减小重复的sql解析。其他几块的内存只需适当的大小即可,可以根据实际需要来分配。

<!--EndFragment-->

<!--EndFragment-->

你可能感兴趣的:(oracle)