进程的实质是操作系统任务或者作业的连接或线程,oracle实例启动时进程出现
oracle进程分为两部分:用户进程:这些进程负责运行连接数据库用户与数据库实例的应用。
oracle进程:这些进程执行oracle服务器的任务,可以分为以下两类:服务器进程和后台进程,这些进程执行数据库的所有实际工作,包括写日志文件和数据文件的连接和监控用户进程等。用户进程通过用户界面与服务器进程进行通信并请求oracle服务器为其工作,oracle通过服务器进程响应用户进程请求的服务。
服务器进程的工作:监控用户连接,接收数据请求以及返回结果给用户。
服务器进程:当用户提交选择数据的进程时,为该用户创建的服务器进程就会检查此sql的语法,在执行完以后,将数据从数据文件保存到内存块中,此时如果第二个用户查询同样的数据时,则第二个用户服务器进程将会直接从内存块中读取数据而不是磁盘,最后服务器进程将结果返回给用户。
服务器进程的用户进程数取决于服务器配置的类型:有三种类型:专用服务器配置和共享服务器配置和数据库驻留连接池(DRCP)。
后台进程:它们允许大量用户并行且高效地使用存储在数据库文件中的信息,oracle在启动实例时会自动创建这些进程,这些进程可以连续不断地与操作系统通信,每个oracle后台进程都负责一项单独的任务,这样就避免了服务器执行各种任务而重复启动大量的单独的进程了。
关键后台进程:数据库写入器--oracle不直接修改磁盘上的数据,而是修改在内存块上的数据,之后靠数据库写入器写入到磁盘中,这是一个依据算法的下进上出的过程。
在以下情况中,数据库写入器进程会直接将内存中的数据写入到磁盘当中:1.当数据库发布检查点时。 2.当服务器进程在检查了极限量的缓冲区后任然找不到一个可重用的缓冲区时 。 3.每隔三秒钟时。
日志写入器--把重做日志的内容传送到磁盘上,工作原理同上,但是日志写入器会立即将提交记录写入日志缓冲区并写入磁盘。
以下情况,把所有的重做日志写入重做日志文件:重做日志缓冲区占用达到1/3时,每隔三秒钟,balabala。。。
检查点:负责通知数据库写入器将内存缓冲区中的脏数据写入到磁盘中。
进程监控器:当用户进程出现失败时,PMONC将立即将它清除,以确保数据库释放死进程占用的资源。