由浅入深讲解Oracle数据库进程的相关概念(1)(2)
主要任务:
(1).启动过程(假定DATABASE重启时)如果需要RECOVERY,则此进程会负责打开数据库,及回滚没有
提交的事务;以及rolls forward changes in the redo logs..这些统称为:instance recovery.
(2).对每3秒就对系统自由空间的整理.(COALESCES FREE SPACE EVER 3 SEC.)
(3).清空临时段空间(DEALLOCATES TEMPORARY SEGMENTS).
这个过程也是在系统启动过程中完成的.
PROCESS MONITOR (PMON) 进程监控进程
主要用于回滚异常终止的或被用户强制终止的事务.
<1>.rolling back the transaction.
<2>.releasing locks.释放锁.
<3>.releasing other resources.
<4>.restarts dead dispatchers.重启死掉的调度器.(在共享服务器中用).
PMON (:Include in SGA)----------------------->PGA
CHECKPOINT (CKPT) 检查点进程
用来在数据库里实现同步,实现之前会强制将脏数据从内在里写到物理文件里.
<1>.会启动DBWn来写脏数据(SIGNALLING DBWn at CKPT.)
<2>.完后会更新DATAFILE的HEADER和控制文件的HEADER.而HEADER中有同步所需要的信息,即
CHECKPOINT的信息.
<3>.在ORACLE中,正常情况下,所有文件必须同期性地同步;靠CHECKPOINT来完成.
CKPT(作为后台进程包含在实例中)------------------DATABASE
(data files,control files,redo log files.)
| |______DBWn
|________LGWR
Archive PROCESS (ARCn) :归档进程(可选进程),当设置归档模式后,可用来自动备份在线日志,(归档日志是重做日志的备份.)
<1>.Automatically archives online redo logs when archiverlog mode is set.
(设置归档模式后,将自动备份在线日志)
在处理SQL语句时,注意以下过程:
<1>.用以下进程连接到实例.
用户进程(USER PROCESS).
服务器进程(SERVER PROCESS).
<2>.Oracle服务器进程组件的使用依赖于SQL语句的种类.
[1].查询语句会返回行.
[2].DML语句会记录这种改变.
[3].COMMIT保证了事务的RECOVERY.
<3>.并不是所有的SQL语句中所有的后台进程都会参与.
结论:
Oracle Server. Oracle服务器进程包含一些文件,进程和内存,在执行一条SQL语句时,并非所有这些都会用上,有些进程用于提高数据库的性能;一些用于当发生软件或硬件异常时恢复数据库;或应用于完成其他一些维护数据库的任务.ORACLE服务器包含ORACLE实例和ORACLE数据库.Oracle Instance: Oracle实例是用于联系后台进程和内在之间的活动,对数据库进行数据存取前必须先启动实例,每当实例启动时,SGA就被分配给它并启动了一些后台进程.后台进程执行10秒操作并监控有些进程以提供更好的性能.和可靠性.Oracle Database: 数据库包含了系统文件,也称数据库文件,其提供了用以存储数据库信息的实际物理存储区域,用数据文件保证了数据一致性,并在当实例发生失败时恢复数据库。
上文中为大家详细介绍了关于Oracle数据库进程的相关概念的知识,希望大家都能很熟练的掌握这些知识,让这些知识存在于我们的大脑中,便于我们以后遇到类似的问题时的处理。



