V$BGPROCESS
    
    displays information about the background processes.
   
| Column | Datatype | Description | 
|---|---|---|
|  |  | Address of the process state object | 
|  |  | Process state object serial number | 
|  |  | Name of this background process | 
|  |  | Description of the background process | 
|  |  | Error encountered | 
SQL> col description for a50
SQL> set linesize  200 
SQL>  select * from v$bgprocess  where paddr <> '00' order by name;
PADDR		   PSERIAL# NAME  DESCRIPTION						  ERROR
---------------- ---------- ----- -------------------------------------------------- ----------
0000000C220A3F88	  1 ACMS  Atomic Controlfile to Memory Server		     ##########
0000000C5A014930	  2 ARC0  Archival Process 0				     ##########
0000000C2A048230	  1 ARC1  Archival Process 1				     ##########
0000000C220AB490	  1 ARC2  Archival Process 2				     ##########
0000000C5A0159E8	  1 ARC3  Archival Process 3				     ##########
0000000C5A0127C0	  1 ASMB  ASM Background				     ##########
0000000C2A065650	244 CJQ0  Job Queue Coordinator 			     ##########
0000000C5A011708	  1 CKPT  checkpoint					     ##########
0000000C3202F718	  1 DBRM  DataBase Resource Manager			     ##########
0000000C32032940	  1 DBW0  db writer process 0				     ##########
0000000C2A043F50	  1 DBW1  db writer process 1				     ##########
PADDR		   PSERIAL# NAME  DESCRIPTION						  ERROR
---------------- ---------- ----- -------------------------------------------------- ----------
0000000C320307D0	  1 DIA0  diagnosibility process 0			     ##########
0000000C5A00D428	  1 DIAG  diagnosibility process			     ##########
0000000C5A00E4E0	  1 DSKM  slave DiSKMon process 			     ##########
0000000C220AE6B8	  1 EMNC  EMON Coordinator				     ##########
0000000C220A2ED0	  1 GEN0  generic0					     ##########
0000000C5A016AA0	  2 GTX0  Global Txn process 0				     ##########
0000000C32035B68	  2 LCK0  Lock Process 0				     ##########
0000000C220A71B0	  1 LGWR  Redo etc.					     ##########
0000000C220A5040	  1 LMD0  global enqueue service daemon 0		     ##########
0000000C220A60F8	  1 LMHB  lm heartbeat monitor				     ##########
0000000C2A041DE0	  1 LMON  global enqueue service monitor		     ##########
PADDR		   PSERIAL# NAME  DESCRIPTION						  ERROR
---------------- ---------- ----- -------------------------------------------------- ----------
0000000C5A00F598	  1 LMS0  global cache service process 0		     ##########
0000000C32031888	  1 LMS1  global cache service process 1		     ##########
0000000C220A9320	  1 MARK  mark AU for resync koordinator		     ##########
0000000C5A010650	  1 MMAN  Memory Manager				     ##########
0000000C2A0460C0	  1 MMNL  Manageability Monitor Process 2		     ##########
0000000C32034AB0	  1 MMON  Manageability Monitor Process 		     ##########
0000000C2A0492E8	  1 NSA2  Redo transport NSA2				     ##########
0000000C2A040D28	  1 PING  interconnect latency measurement		     ##########
0000000C5A00C370	  1 PMON  process cleanup				     ##########
0000000C3202E660	  1 PSP0  process spawner 0				     ##########
0000000C2A04A3A0	  2 QMNC  AQ Coordinator				     ##########
PADDR		   PSERIAL# NAME  DESCRIPTION						  ERROR
---------------- ---------- ----- -------------------------------------------------- ----------
0000000C220A8268	  1 RBAL  ASM Rebalance master				     ##########
0000000C32038D90	  1 RCBG  Result Cache: Background			     ##########
0000000C2A045008	  1 RECO  distributed recovery				     ##########
0000000C2A042E98	  1 RMS0  rac management server 			     ##########
0000000C2A047178	  2 RSMN  Remote Slave Monitor				     ##########
0000000C5A0211D0	  1 SMCO  Space Manager Process 			     ##########
0000000C320339F8	  1 SMON  System Monitor Process			     ##########
0000000C2A068878	110 VKRM  Virtual sKeduler for Resource Manager 	     ##########
0000000C2A03FC70	  1 VKTM  Virtual Keeper of TiMe process		     ##########
42 rows selected.
SQL> 
     
      DBWR
     
    
数据写进程 写脏块到数据文件中,如果数据量大跟不上写的速度,这时候可以多个10g 20个11g可以36个,跟你的cpu数量1:1 开多了也能开但影响cpu
怎么开?
看一下决定多少的参数 db_writer_process
SQL>show parameter db_writer_process
NAME TYPE VALUE
———————————— ———– ——————————
db_writer_processes integer 1
DBW0-DBW9 进程的编号
DBWa-DBWj 进程的编号
     
      触发条件:
     
    
1 commit肯定会触发
2 databuffer中的脏块超过1/3
3 3s一次触发 DBWR
4 Racping 要求两个机器数据完全一样不允许有脏块
5CKPT LGWR
你就要知道我不够了我加,还有就是什么时候去触发
     
      LGWR
     
    
日志写进程
将日志缓存区中的内容写入到日志文件
10 11g LGWR只能有一个 12cLGWR也能有多个
触发条件:
     1. commit
     
      当用户进程提交一事务时写入一个提交记录。
     
    
     2.日志缓存区1/3触发
     
      当日志缓冲区的已满1/3 时,将日志缓冲区输出。
     
    
     3.日志缓存区1M 平常3M没问题
     
      当 log buffer 达到1MB 时。
     
    
     
      4.
      
       每 3 秒将日志缓冲区输出。
      
     
    
     
      
       5.
       
        当 DBWR 将修改缓冲区写入磁盘时,则将日志缓冲区输出。
       
      
     
    
Oracle有个机制你要记住:所有我们的不主动提交的数据都是不确定数据
现在都写进去了没commit,把电源了我们的数据时按照新的来还是旧的?
一定是旧的
     注意: 当需要更多的日志缓冲区时,LWGR 会在一个事务提交前就将日志项写出,而这些日志
     
     项仅当后续事务提交后才永久化。
    
     Oracle 使用快速提交机制,当用户发出COMMIT 语句时,一条COMMIT 记录立即被放入日
     
     志缓冲区,但相应的数据缓冲区改变被延迟,直到更有效时才将它们写入数据文件。提交时,将
     
     事务赋给一个系统变更号(SCN),它同事务日志项一起被记录在日志中。
    
     
      CKPT
     
    
会下降我们的数据库性能,安全性角度很好的一个东西
你想触发CKPT一个是系统内置
另一个人为如下命令
Alter system sheckpoint;
CPCK就是改变我们的scn
CPCK触发会触发DBWR触发LGWR
三个一起的要玩一块玩
下面三个你管不了
     
      PMON
     
    
进程监控进程
清除死进程
重启部分进程
监听的自动注册
     注:PMON 进程在用户进程出现故障时执行进程恢复,负责清理存储区和释放该进程所使用的资
     
     源。比如,某个进程死掉了,PMON 要重置活动事务表的状态,释放锁资源,将该故障的进程ID
     
     从活动进程表中移去。PMON 还周期性地检查调度进程(DISPATCHER)和服务器进程的状态,如
    
     果发现这些后台进程死掉,就需要重新启动。PMON有规律地被呼醒,检查是否有需要完成的工作。
     
    
     
      SMON
     
    
系统监控进程
实例崩溃的自动恢复
回收我们的空间碎片
主要是内存的
     注:SMON 进程负责在实例启动时执行实例恢复,并清理不再使用的临时段。在具有并行服务器
     
     选项的环境下,SMON 对有故障的CPU 或实例进行实例恢复。从Oracle 9i 开始,事务回滚操作
     
     的默认行为也是由SMON 来负责处理的。虽然SMON 本身不做恢复操作,而是启用并行进程来
     
     处理,但是它起到整体协调的作用。SMON 进程有规律地被唤醒,并检查是否有工作要完成,如
     
     有需要,就做相应的处理,否则继续休眠。
    
     
      RECO
     
    
11G新加的 这个是分布式进程
DBLINK查
打个比方
两个库 两个用户 update
一个事物操作多个库叫分布式事务
有可能一个数据改完了 另一个出现问题了
这时候提交不了
那你的RECO会把你的都给你回滚了
只不过10的时候不是核心进程 11时是了
     RECO 进程是启用分布式选项时才会存在的进程,而且DISTRIBUTED_TRANSACTIONS 参
     
     数大于0。当然,分布式事务在绝大多数系统中是默认安装的,因此一般来说,总是能在数据库
     
     实例中看到这个进程。RECO 进程能够自动解决分布式事务中的故障。一个节点的RECO 后台进
     
     程能够自动连接到包含错误的分布式事务的其他数据库中,在解决了所有的故障后,将这个全局
     
     事务从dba_2pc_pending 等相关的表中删除。
     
     当数据库服务器的RECO 后台进程试图同一远程服务器建立通信时,如果远程服务器不可
     
     用,或者网络连接不能建立,RECO 将在一定时间间隔后自动重连。
     
    
     
      ARCH 进程
     
     
     ARCH 进程将已填满的在线日志文件复制到指定的存储设备。当数据库的日志模式为
     
     ARCHIVELOG 模式并可自动归档时,ARCH 进程才存在。
     
     
      LCKn 进程
     
     
     LCKn 进程在具有并行服务器选件的环境下使用,可多至10 个进程(LCK0,LCK1,…,
     
     LCK9),用于实例间的封锁。
     
     
      Dnnn 进程(调度进程)
     
     
     Dnnn 进程允许用户进程共享有限的服务器进程(SERVER PROCESS)。没有调度进程时,
     
     每个用户进程需要一个专用服务进程(DEDICATED SERVER PROCESS)。多线索服务器
     
     (MULTI-THREADED SERVER)可支持多个用户进程。如果系统具有大量用户,多线索服务器
     
     可以很好地支持,尤其在客户/服务器环境中。
     
    
     在一个数据库实例中可建立多个调度进程。对每种网络协议至少建立一个调度进程。数据库
     
     管理员根据操作系统中每个进程可连接数目的限制决定启动的调度程序的最优数,在实例运行时
     
     可增加或删除调度进程。多线索服务器需要SQL*Net 版本2 或更高的版本。在多线索服务器的
     
     配置下,一个网络接收器进程等待客户应用连接请求,并将每一个发送到一个调度进程。如果不
     
     能将客户应用连接到一调度进程时,网络接收器进程将启动一个专用服务器进程,该网络接收器
     
     进程不是Oracle 实例的组成部分,而是处理与Oracle 有关的网络进程的组成部分。在实例启动
     
     时,该网络接收器被打开,为用户连接到Oracle 建立一通信路径,然后每一个调度进程把连接请
     
     求的调度进程的地址传给它的接收器。当一个用户进程作连接请求时,网络接收器进程分析请求
     
     并决定该用户是否可使用一调度进程。如果是,该网络接收器进程返回该调度进程的地址,之后
     
     用户进程直接连接到该调度进程。有些用户进程不能调度进程通信(如果使用SQL*Net 以前的
     
     版本),网络接收器进程不能将此类用户连接到一调度进程。在这种情况下,网络接收器将建立
     
     一个专用服务器进程和一种合适的连接。
     
    
 
