oracle learning

2017年09月26日

关键词:高效 处理 数据

高效==》内存组件
处理==》五大核心进程:PMON、SMON、DBWR、LGWR、CKPT
数据==》三大数据文件:数据文件、控制文件、日志文件

oracle脑图

高效+处理=数据库实例 高效: 语法解析 语义解析 生成可执行计划并存储

####内存组件:
Data Dictionary Cache(数据字典缓存)–》为了高效的语义解析
Library Cache(库缓存)–>为了高效的存储可执行计划
Data Dictionary+Library Cache=Shared Pool
Database Buffer Cache(数据缓冲区)–>为了
Redo Log Buffer(重做日志缓冲区)–》为了高效的处理DML语句产生的记录

SGA(系统全局区)=Shared Pool+Database Buffer Cache+Streams Pool+大池+Java池+其他
SGA:在实例启动的时候分配,是Oracle实例的基础组件
PGA(程序全局区):当服务器进程产生时分配

Oracle 10G与Oracle 11G的主要区别:Oracle 10G完成了SGA的自动化调整,而11G完成了Memory的自动调整,包括PGA和SGA,自动化程度更高。

默认分配3.5~5m空间给pga shared server 共享服务器 dedicated server 专用服务器

user process:用户进程–在用户连接数据库时产生
sever process:服务器进程–当连接到Oracle实例并且用户建立会话的时候产生 background process:后台进程–Oracle实例启动的时候产生

####五大后台进程:PMON,SMON,DBWR,LGWR,CKPT
PMON 进程监控进程
SMON system monitor 系统监控进程:前滚,回滚
实例恢复三大核心:前滚,打开,回滚

####DBWR写的条件 发生检查点(CKPT)
脏缓存到达限制(1/4满)
没有自由的缓存
超时发生
产生RAC Ping请求(8i)
表空间离线
热备份表空间开始动作
表被删除或者截断

commit 为什么不会写出脏数据–不符合高效的原则

LGWR写的条件:
commit的时候 达到1/3满 日志的大小达到1M 每隔三秒 在DBWn进程写之前

####名词解释 DBWR:database writer
CKPT:CHECK POINT 检查点
scn: system change number
脏数据:不一致的数据
ARCn:
cluster
RAC realtime application cluster