oracle进程:
1.用户进程是一个请求sql语句的进程连接
会话:用户与用户之间的交互方式。
必须首先建立一个连接。
并不是直接与oracle服务器交互。
2.服务器进程
3.后台进程
进程监控(PMON)、系统监控(SMON)、数据库写进程(DBWN)、检查点(CKPT)、日志写进程(LGWR)这5个后台进程是必须要正常启动的。它们如果不启动,就会导致数据库实例的崩
溃。如果这5个进程当中的任何一个进程没有启动的话,这个数据库实例都会自动关闭。
除了这5个之外的其它辅助进程是用来实现相关的辅助功能的,如果这些辅助进程发生了问题,只是某些功能受到了影响,一般不会导致数据库实例的崩溃。
数据库写入进程——DBWR
有些书本会写成DBWR,有些书会写成DBEN,都没有错。这是因为一个数据库实例当中可以启用多个数据库写进程。oracle运行一个实例,它最多可以启用10个写进程。它们分别是DBW0-DBW9,所以说它会简写成DBWN。
–N是一个未知数,从0到9都是可以的。所以说有时候会将它简写成DBWN这也是正确的。
什么是数据写入进程?
数据写进程它主要负责的是将缓冲区中的数据写入到数据文件当中。但是它不是将缓冲区中的所有内容全部都写入到数据文件中。它挑的是在缓冲区当中被修改过和数据,俗话说的脏数据。
数据写入进程的主要任务就是将弄脏的数据写到磁盘中的数据文件当中,使缓冲区保持干净。
触发DBWR进程的条件:
1.DBWR超时3秒。
2.系统中没有多余的空缓冲区来存放数据。
3.检查点进程(CKPT)触发DBWR.
检查点进程——CKPT
作用:
1.维护数据库的一致性。
2.定期同步控制文件、数据文件和日志文件的“时间点”
触发条件:日志切换会触发检查点。
当用户进程发出数据请求的时候,oracle系统就会从数据文件中读取数据,存放到数据库高速缓冲区当中,那么用户对数据的操作就是在数据缓冲区当中进行的。
当用户操作数据的时候,就会产生大量的日志信息,并把这个日志信息存放在重做日志缓冲区当中。当oracle系统满足一定条件的时候,日志写入进程终于将日志写入到重做日志文件当中
。当发生日志切换时,就会启动检查点进程。
日志写入进程——LGWR
日志写入进程它是用于将重做日志缓冲区中的数据写入到重做日志文件当中。
oracle系统会将用户所做的修改的日志信息写入到日志文件,然后再将修改的结果写入到数据文件。
触发LGWR进程的条件:
1.用户必发commit(提交)命令。
2.重做日志缓冲区的信息满三分之一。
3.日志信息存放超过3秒钟。
归档进程——ARCH(是一个可选进程)
只有当数据库处于归档模式的时候,该进程才会起到一定的作用。
作用:发生日志切换时,把写满的日志文件拷贝到归档目录中。
当各个归档文件被写满,即将被覆盖之前,先用归档进程把即将要覆盖的日志文件中的日志信息读出来。然后再将这些信息,写入到归档日志文件中。
触发条件:日志切换时被LGWR唤醒。
系统监控进程——SMON
作用:
1.负责实例恢复。
2.负责清理临时段,以释放空间。
SMON主要管理:回滚未提交的事务。
触发条件:
定期被唤醒或者被其他事务主动唤醒。
进程监控进程——PMON
用于监控其它进程的状态。当有进程启动失败的时候,PMON就会清除失败的进程来释放用户进程所需要的资源
作用:
1.发现用户进程异常终止,并进行清理。释放占用资源。
2.向监听程序动态的注册实例。
触发条件:
定时被唤醒,其他进程也会主动唤醒它。
在默认情况下,oracle 11g会启用两百多个后台进程,以上是常用的,其它的进程遇到了再上网搜一下就可以找到了。