ORACLE 优化

1、常用的调优参数
buffer_pool_keep:保留池大小 (从 DB_BLOCK_BUFFERS 分配)。目的是将对象保留在内存中, 以减少 I/O。
buffer_pool_recycle:循环池大小 (从 DB_BLOCK_BUFFERS 分配)。目的是使用对象后将其清除, 以便重复使用内存。
control_file_record_keep_time:控制文件中可重新使用部分中的记录必须保留的最短时间 (天数)。
cursor_space_for_time:在一个游标引用共享 SQL 区时,确定将 SQL 区保留在共享池中还是从中按过期作废处理。
db_block_buffers:缓冲区高速缓存中 Oracle 块的数量,该参数会显著影响一个例程的 SGA 总大小。
db_keep_cache_size:指定 KEEP 缓冲池中的缓冲区数,KEEP 缓冲池中的缓冲区大小是主要块大小 (即 db_block_size 定义的块大小)。

2、x$kccle 
日志缓冲区相关信息

3、共享池三个主要组件
库缓存(library cache):主要缓存共享SQL和PL/SQL语句的相关信息。
数据字典缓存(data dictionary cache):缓存数据字典表的信息,用于解释权限、表结构等。
UGA(user globa area):在共享服务器模式下,当没有配置大池时(即larger_pool_size=0),UGA会占用共享池(shared pool)的空间。

4、v$librarycache 
查询库缓存请求存取数、不命中数等信息,可以计算命中率

5、v$sysstat
统计数据存取的情况,其中有以下几项统计:
(1)dblock gets:数据请求的总数。
(2)consistent gets:通过对内存缓冲区存取即能满足的请求数。
(3)physical reads:磁盘文件存取的总数。


6、PGA
PGA(Program Global Area 程序全局区)是一块包含一个服务进程的数据和控制信息的内存区域。它是 Oracle 在一个服务进程启动时创建的,是非共享的。一个 Oracle 进程拥有一个 PGA 内存区,一个 PGA 也只能被拥有它的那个服务进程所访问,只有这个进程中的 Oracle 代码才能读写它。

7、pga_aggregate_targe
所有服务器进程使用的内存总数

8、查看本地数据库的PGA管理模式
show parameter workarea_size_policy

ORACLE 优化_第1张图片

9、Oracle会进行排序操作的场景
创建索引时
使用order by 语句
使用group by 语句
进行table join 时,由于现有索引的不足而导致SQL优化器调用MERGE SORT

你可能感兴趣的:(ORACLE 优化)