ITPub博客

首页 > 数据库 > Oracle > ORACLE大师THOMAS经典之三ORACLE之windows与unix

ORACLE大师THOMAS经典之三ORACLE之windows与unix

原创 Oracle 作者:lvqiao2009 时间:2008-02-21 18:29:59 0 删除 编辑

本文由一木译编著

请您多指正!

[@more@]

ORACLE有一大块称作SGA的内存,它将作如下举例的工作:

管理所有进程需要访问的许多内部数据结构。

缓冲从磁盘来的数据,缓存被写到磁盘前重做数据。

保持已分析的SQL执行计划等。

ORACLE的一些进程跟系统全局区紧密相关,但它们相关的机制因为操作系统不同而不同。在UNIX环境里,他们将与被操作系统分配的一大块共享内存段物理相关,这一大块内存段可以被很多进程并发访问使用。

但在WINDOWS平台上,这些进程只简单使用C请求和malloc()来分配内存。因为它们实际上是一个进程的线程,同时共享同一个虚拟内存空间。ORACLE也会有一些允许数据库进程或线程读写文件集合。这些文件保存了我们所有的表数据,索引,临时表空间,重做日志等等。

如果你在UNIX平台上启动了ORACLE,通过用PS命令,你会看到很多有不同名字的物理进程。如在前面例子里你可以看到PMON,SMON和其它进程。当然,我将在第5章具体谈这些进程,所以现在只是让你知道它们是经常指的ORACLE后台进程。这些稳定的进程构成了实例,你能看到它们从你启动实例开始直到你关闭实例。

比较有趣的时你会发现这些进程都不是单独的程序,在UNIX平台上只是一个ORACLE二进制执行程序。在运行的不同时刻它有很多不同,取决于它被告诉去做什么。同一个二进制程序会得到PMON进程,同样也可以被用作得到CKPT进程。总之,只有一个简单被命名为ORACLE的二进制执行程序。

在WINDOWS平台上,我们使用pslist工具(http://www.sysinternals.com/ntw2k/freeware/)pslist.shtml,可以发现只有一个ORACLE.EXER的进程。同样,在WINDOWS上也只有一个ORACLE.EXE的二进制可执行程序。但在这个进程里,我们能发现有很多线程代表ORACLE的后台进程们。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7248175/viewspace-999787/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    19
  • 访问量
    167021