oracle学习笔记整理(二)——oracle的体系结构

一、oracle的文件结构

(一)、核心文件

         1、数据文件

         2、重做日志文件(Redo File)

                   每个组中两个成员,需要跨存储

         3、控制文件

                   Oracle有三个控制文件,一般放到同一个磁盘中,三个中任意一个出问题,其余的都会关联产生问题。

                   简单的说:控制文件需要多备份,但不需要跨存储

(二)、非核心文件

         1、参数文件:记录数据库的各项配置

         2、口令文件:决定谁可以以特殊的身份进入到数据库中

         3、归档日志文件

(三)、调试用文件

         1、DUMP文件

         2、Trace文件

 【比较】:文件系统,ASM和裸设备(RAW)

         文件系统:

         裸设备(RAW):(绕过OS),操作系统的突然崩溃等不会造成数据库读写的坏块,提高了数据库的安全性。也提升了一点速度

 

 二、oracle体系结构图

 

三、oracle中的重要进程:

         1、服务器进程

【简介】:根据我们的指示,完成我们下达的命令,也就是为我们提供服务。

   2、其他重要的进程:

          

         3、用户进程

 

四、oracle如何使用内存

         Oracle主机把内存分为两部分:SGA和PGA

         1、PGA

         初期PGA占主机内存的一半左右,每个服务器进程各自有各自的PGA

         2、SGA

      SGA属于公共空间;有锁

      SGA中的相关部件介绍:

      

    1)、库缓存(Library Cache):

           用于保存执行计划,存储有关最近使用的SQL和PL/SQL语句的信息。为了使下次执行同样的语句时更迅速,oracle利用库缓存来存储执行计划,以便第二次使用的时候参照。

           库缓存的查找使用Hash算法来进行查找。

           库缓存大小是有限的,一般当空间满时使用LRU(最近最少使用算法)算法来进行覆盖。

         2)、数据字典缓存(Data Dictionary Cache):

                   用于存储表的元数据

         3)、Buffer Cache:

                   Oracle以块为单位从磁盘中读写数据。服务器进程先将块从磁盘中读进Buffer cache,再从Buffer cache中检索出用户需要的数据,每次用户查询数据时,oracle会先在内存中查看是否有相应的块,如果没有,再去读磁盘。

      如图:

         

   

  3、SGA中的相关参数

    参数的查看和更改命令:   

Code
1 show parameter 参数    (显示某个参数)
2       alter system set 参数=值 (修改参数)
3       scope=BOTH|MEMORY|SPFILE
4     SID=


 

         4、相关概念

         【定义】:实例(Instance):实例是值SGA和一些重要的进程。简单的说即:内存+进程

                         

         5、相关重要进程的功能

           1)、DBWn:脏块由DBWn后台进程负责刷新进数据文件

                   所有在buffer cache中被修改过得块,oracle都称呼为脏块,或者恢数据。当脏块累计到一批后,会由DBWN把脏块从buffer cache中写往磁盘,这就是DBWn的作用。这个过程简称刷新脏块。

                   每次修改次数越多,DBWn的工作效率越高

                   触发DBWn写脏块的事件之一,就是服务器进程无法在查找一定块之后找到可覆盖块,由服务器进程触发DBWn写脏块。

           2)、PMON, process monitor的缩写,进程监控,它主要监控的进程是服务器进程,也监控一些其他的进程。

           3)、CKPT, check point

           4)、ARCn是一个非关键进程,他和日志文件有关,当每次发生日志文件切换的时候,如A切换到B,ARCn会将A组日志文件复制到另外一个地方,这个过程叫 归档。

           5)、LGWR:LGWR进程将生产的重做缓存中的重做记录写进日志文件,日志文件的写入是循环进行的。LGWR先写A,A满了再切换到B,B满了切换到C。

 

         6、oracle的空间使用规则

         【定义】表空间:

                   区:多个连续的块就是一个区

                   段:一个或多个区构成一个段,一个短代表一些数据文件中的空间。同属于一个短的空间有可能不连续,段是由区构成的,如果段包含两个区,若这两个区不连续,则,段也不连续。

    简单的说,表是指数据,而段是存储数据的空间。

    一个表空间可以有一个或多个段。

    一个表不能跨越一个表空间。表空间是一个抽象的概念。

 

 

posted @ 2012-03-16 18:06  会飞的鱼_fly  Views(184)  Comments(0)    收藏  举报