Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49012
  • 博文数量: 29
  • 博客积分: 2016
  • 博客等级: 大尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-23 14:27
文章分类

全部博文(29)

文章存档

2010年(29)

我的朋友

分类: Oracle

2010-09-23 15:06:56

1)Focused Background Processes
  ora_pmon_SID :
            1)connection在不正常终止时,pmon负责释放资源,rollback未提交的事务
        2)监控后台进程,如果某些后台进程不正常终止,则会重启它(比如dispatcher),或者直接终止实例(比如lgmr终止时)
        03)实例启动时,pmon负责注册实例到监听上,当实例启动时,pmon进程会检查默认监听器是否启动,如果使用非默认的监听器,需要设置
        local_listener参数。
  ora_smon_SID:
        系统监视进程
  ora_dbw0_SID:
        1)负责将dirty buffer写入到datafile中,目的是腾出sga空间和advance checkpoint
        2)Advance checkpoint后,oracle在做instance recover时,就从online redo file的新位置做为起点位置做恢复。
        03)当发生log switch时,会出发checkpoint
        04)当online log file 需要被重用时,checkpoint还没有做完的话,警告文件里面会有checkpoint note complete的警告
        05)如果dbwr的性能低下,我们会发现很多free buffer waits和write complete waits的等待
        6)可以配置多个dbwr进程,比如dbw1,dbw2,...dbw9,...dbwj,最多20个,参数为db_writer_processes,这可以利用多个CPU的并行处理功能
        7)如果操作系统支持AIO,dbwr就可以不用等待操作系统写完,而继续下一个dbwr请求。
        8)如果操作系统不支持AIO,可以利用dbwr slaves来模拟,参数为dbwr_io_slaves
ora_lgwr_SID:
        1)将redo log buffer写入到redo log file中
        2)3s,commit,redo log buffer 1/3满时,都会触发lgwr写
        3)因此redo log buffer不需要太大
        4)lgwr采用sequenctial地写入,不像dbwr是scatter的写入,因此lgwr的性能要高很多。
     ora_ckpt_SID:
            1)CKPT进程不是做checkpoint(A checkpoint is the writing of dirty (modified) blocks from the buffer cache to disk)的,而是在发生checkpoint时,修改数据文件头的。
            2)在oracle8以前,CKPT的任务可以由LGWR进程来执行,因此CKPT进程可选,但从8.0开始,CKPT进程是必须的,LGWR也减少了执行负担。
     ora_reco_SID:
            1)reco有个主要工作,就是recover那些两阶段提交的但由于网络或其它原因造成状态为prepared 的挂起事务。
            2)当某些节点反馈yes给事务协调器可以提交时,但事务协调器还未正式发出可以提交的最后指示时,由于网络的原因,这些节点失去了和事务协调节点的联系,此时这些事务就成为                 了an in-doubt distributed transaction。此时,RECO就负责定期的联系事务协调器,当联系到时,就会提交或者回滚这些事务了
            3)对于某些大的事务,如果使用reco的成本比较高,可以人为的干涉来处理掉这些事务


2)Utility Background Processes
  ora_mman_SID:
        1)当使用自动管理内存功能时,MMAN负责处理sga各组件的内存动态分配,包括有default buffer pool,shared pool,java pool,large pool.ITPUB个人空间Oc.ws`
          ITPUB个人空间 b'E2AZL)k"R
  ora_cjq0_SID:
        1)当配置job_queue_processes时,会有Jnnn和CJQ0进程
        2)Jnnn进程最多可有1000个
        3)Jnnn进程在job之间是共享的,但同时每个Jnnn只能执行一个job,并且它使用的内存是在UGA中
        4)物化试图的刷新一般要用到job
        5)streams一般用到AQ
        6)CJQ0,做为jnnn的coordinator,它来控制jnnn的启动和关闭
        7)Jnnn进程只会在有job需要处理时才会启动
  ora_mmon_SID,ora_mmnl_SID,Mnnn:
        1)用于AWR(autmatic workload repository)
        2)MMNL负责将SGA中的统计信息写入到表中
        3)MMON监控数据库性能,进行自动调优
        4)Mnnn属于MMON的帮手,帮助进行调优工作
  ora_pnnn_SID:
        1)当执行某些语句时,会产生很多执行计划,这些执行其实可以并行执行,然后合并成一个输出结果
        2)可以利用并行查询功能来实现并行
        3)产生的并行查询进程名为Pnnn

3)服务器进程
      oracleSID (LOCAL=NO)

4)监听进程
        /Oracle/ora10G/product/bin/tnslsnr LISTENER -inherit

阅读(316) | 评论(0) | 转发(0) |
0

上一篇:字长/32位/64位

下一篇:配置管理

给主人留下些什么吧!~~