第一章 oracle体系架构
oracle server包括 实例(instance)和数据库(database)
一个instance只能访问一个database 一个database可以被多个instance访问
instance由内存、块、进程组成;SGA(内存),process(进程)
connection 是一个客户端和服务器建立的tcp链接
backguard process是处理oracle核心的进程
server process是处理链接的进程
database有三种文件数据文件(data files)、控制文件(Controlfiles)、重做日志文件(Redo log files)用来恢复数据文件、参数文件(Parameter file)
归档文件(Archived Log files)、口令文件(Password files)
ps -ef查询系统进程
.dbf数据文件;.ctl控制文件;.log日志文件
System Global Area(SGA)系统全局区域:一个Instance对应一个SGA,当Instance启动的时候对应SGA同时启动,
Program Global Area(PGA)程序全局区域:一个server process(后台进程)对应一个PGA,但Instance可能对应多个server 所以有多个PGA
Ipcs查看内存
SGA:包括Shared pool,Database buffer Cache,Redo Log Buffer,Other ;Larger pool和Java pool可选
SGA大小是动态可变的,最小变化单位为Granule 最大为SGA_MAX_SIZE
Select component,granule_size from v$sga_dynamic_components;
Shared pool:SQL语句会被解析到Shared pool里面。Shared pool包含两个内存块LibraryCache和Data Dictionary Cache。
Library Cache会保存已解析好的sql和plsql——是一个影响SQL性能的重要参数
Data DictionaryCache保存控制数据字典的SQL和各种数据库对象
Database BufferCache用来保存常用数据文件记录,当查询的数据同Cache一样时就不用到磁盘取数据——提高性能的重要参数
Redo Log Buffer记录数据的更改,主要用来做数据恢复
Process structure包括三种进程Userprocess;server process;Background process
User process就是oracle链接的客户端进程。比如sqlplus
不同物理的两台电脑通讯走TCP/IP,走网卡eth0
同一台电脑客户端和服务通信走IPC、也可以走模拟的TCP/IP 走LO模拟网卡
一个Instance起来后 一定会起来的几个Background Process有DBwn(n为数字0-20);PMon;CKPT;LGWR;SMON
DBWn用来把DatabaseBuffer Cache里面已经更改的Data写入到Data File里
LGWR把Redo LogBuffer写到Redo Log file里
SMON系统监控 用来清理空间和整合内存
PMON进程监控 进程dump掉或者进程有问题的时候会被PMON清除然后重新生成
CKPT 写检查点在文件和控制文件里面 写检查点
ARCn(n代表数字)归档进程,在Redolog file写满的时候,为避免重写覆盖掉原来的data,使用归档,data会写入到归档日志里面
Logical Structure(逻辑结构)
一个DATA base有多个tablespace组成 ,一个tablespace由一个或者多个Segment组成,一个segment由多个Extent组成,一个Extent由多个连续的Block组成