Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2803081
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2013-08-15 21:13:37

                                                            1z052-02

两种结构:instance and databse
instance 由后台进程和内存结构组成,是临时存在的,database由在磁盘上的数据文件组成.永久存在
后台进程(background process)之所以叫这样的名字是因为这些进程在实例存在期间一直存在,不直接执行用户sql,为连接到instance上的所有用户服务
对于每个用户的连接产生一个专用的服务器进程(专用服务器),这个进程执行用户sql,有时候也称前台进程(foreground process,shadow process)
每个进程(前台和后台)都有一块专用的进程,称为pga
数据库物理结构的三大部分:数据文件,控制文件和redo log
数据文件最少是system和sysaux,
redo log是由一系列的应用于data的change vectors log组成,最小两个组,一个组员坏掉不会停机。最小50M,
controlfile包括数据库物理结构的详细信息,文件信息,archive信息,scn,checkpoint信息,表空间的件信息。最小为一个,最大为八个,一个组员坏掉会停机
oracle standard也支持RAC,只是在cpu的核数和cpu个数和节点数上有限制
SGA最少需要包括三个组件:db buffer,log buffer, shared pool.可选 组件streams pool,large pool,java pool
db buffer主要用来存放从磁盘上读取过来的块,用户进程从磁盘上读取块,但是更新都是在db buffer中完成
一个块在buffer中和磁盘中不一致或是说被修改过的,称为dirty block,当一个块即时被写到磁盘上了,本身还是在留在buffer中。只会在另一个块读入时
需要空间才会被overwrite,在smart flash cache时,块被overwrite之前,会存放很少一部分在内存中,其他的会在flash cache中存放.
change vector是一个修改应用于somethina.redo log由cpu_count决定,不能设置更小,更大也会带来问题,一个提交写一个很大的log buffer,而另一个会话在等待
可能会被等待时间过长,修改需要重启
shred pool由library cache,row cache(存储最近使用过的对像定义), plsql area(plsql对像信息),sql qeruy和plsql 函数结果集组成
large pool主要用作shares server, rman,parallel message
java pool用来运行基于java的存储过程在数据库中.
oracle后台进程随组件和功能的不同而有所不同
smon执行mount 和open 数据库,instance recovery和temp segment清理,空间回收等
pmon清理死掉进程所占用的资源,如锁,latch,rollback
dbw0写脏块到磁盘上时,没有空闲空间,太多脏块(25%),每3秒,checkpoint,20个,一般每8个cpu一个
部分checkpoint,表空间备份模式。文件offline,表空间read only,全check point,实例关闭,手动checkpoint,log switch
LGWR触发三个条件:commit,三分之一满,DBWR通知
MMON从10G开始引入,快照,ADDM,MMNL进程,在mmon没有被激活时,帮助mmon刷数据到磁盘上
MMAM管理内存自动分配
物理和逻辑之前的抽像通过tablespace完成

阅读(1546) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~