1.shared pool 共享池
设置大小的参数:SHARED_POOL_SIZE
包含:
library cahce 库高速缓存区
大小由共享池决定。
包含:SQL 语句和SQLPLUS 文本,分析代码,执行计划
存储目的:与性能有关。
当两个语句相同的时候不需要重新分析,使用相同的执行计划即可。
管理方法:采用 LRU (最近使用算法)least recent used 当空间不足的时候,使用LRU。
结构: SQL 区域、PL/SQL 区域
data dictionary cache 字典高速缓存区
内容:最近最多使用的数据字典信息
作用:为了能够在分析的时候所需要的字典信息能在内存中找到,避免使用物理I/O。
管理方法:采用 LRU (最近使用算法)
ALTER SYSTEM SET SHARED_POOL_SIZE=64M
DATA DICTIONARY CACHE
(数据字典高速缓存)
1数据库中最近使用的定义的集合
2包含数据库文件,表,索引,列,用户,权限和其他的数据库对象相关信息
3在语法分析阶段,服务器进程会在数据字典中查找用于对象解析和验证访问的信息
4将数据字典信息高速缓存到内存中,可缩短查询和DML的响应时间
5大小由共享池的大小决定
2.database buffer cache
数据库高速缓存区
单位:块。
内容:最近最常数据块
作用:减少物理I/O,提高性能
参数:DB_BLOCK_SIZE 决定主数据块的大小。
会影响性能;
设置后不允许修改;
管理方法:采用 LRU (最近使用算法)
由独立的自缓冲区组成:
DB_CACHE_SIZE
CB_KEEP_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE
可以通过ALTER SYSTEM 命令动态增加或收缩:
ALTER SYSTEM SET DB_CACHE_SIZE =96M;
3.redo log buffer
重做日志缓冲区
记录了对数据块所作的所有修改。
作用:数据库的恢复
大小由LOG_BUFFER 决定。
顺序单条写入,批量写出到文件。
某个时候(三种情况;
一、日志缓冲区中的记录达到1M
二、每隔3秒
三、日志缓冲区已经用了三分之一,满足其中任意一项就可以)把日志缓冲区中的这些记录写到在线日志中去。
alter system switch logfile
4.java pool
java池
可选
java_pool_size 大小
5.large pool
大池
可选
减轻共享池的负担。
被用于:
1.在共享服务器中的会话的内存需求(UGA);
2.I/O 辅助;
3.备份恢复操作或RMAN;
4.并行执行的信息缓冲区;
large_pool_size 大小
6.Stream池为了stream应用而分配的内存空间,高级复制技术一部分。