Oracle体系架构

来源:互联网 发布:多功能网络测试仪 编辑:程序博客网 时间:2024/05/19 17:10

Oracle数据库由两个实体组成(1)实例 (2)数据库

 

实例  
      

      实例由存储结构和进程组成,短暂存在于RAM和CPU;因此实例的生存时间其在内存的时间,我们可以启动和停止实例。

       一个Oracle实例由一块被称为系统全局区SGA的共享内存以及若干进程组成。
       
      系统全局区(SGA):在实例启动时分配,是Oracle实例的基本组件
      SGA也称作共享全局区,用于存储数据库进程共享的数据库信息。它包含有关Oracle服务器的数据和控制信息,在Oracle服务器所在计算机的虚拟内存中分配。
      
       程序全局区(PGA):在服务器进程启动时分配,并在终止进程时回收
       它包含有关单个服务器进程或单个后台进程的数据和控制信息
  
  内存结构(其SGA中三个必备元素):                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
      
       共享池(shared pool):用于存储①最近执行的SQL语句 ②最近使用的数据定义
       数据库高速缓冲(Data buffer cache):存储已从数据文件中检索到的数据块的副本
       重做日志缓冲区(Redo buffer cache):记录对数据库数据块所做的全部更改,主要用于恢复
      
     还有可选的是:
      
       流池(Streams pool):用于缓存流进程在数据库间移动/复制数据时使用的队列消息
       大池(Large pool):用于①共享服务器的会话内存②I/O服务器进程③备份和恢复操作或RMAN④并行执行消息缓冲区
       Java池(Java pool):存储Java命令的服务分析要求
 
   后台进程
      
       数据写进程(DBWn):负责将更改的数据从数据库缓冲区高速缓存写入数据文件
       日志写进程(LGWR):将重做日志文件缓冲区的更改写入在线重做日志文件
       系统监控进程(SMON):检查数据库的一致性,如有必要还会在数据库打开启动时数据库的恢复
       进程监控进程(PMON):负责在一个oracle进程失败时清理资源
       检查点进程(CKPT):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和  数据文件中的数据库信息
       归档进程:在每次日志切换时把已满的日志组进行备份和归档
     
       服务进程:用户进程服务
       用户进程(不属于后台进程):在客户端,负责将用户的SQL语句传递给服务进程组成,并从服务器端 拿回查询数据
      
       用户连接到Oracle实例包括:(1)建立用户连接 (2)创建会话
       连接是用户进程和Oracle服务器之间的通信路径
       会话是用户与Oracle服务器的一种特定连接

 

数据库  
      数据库分为物理结构和逻辑结构。
     
  物理结构(物理结构就是磁盘上的物理文件)包括三类文件:
    
      控制文件(control file):包含维护和验证数据库完整性的必要信息。例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少   
                              需要一个控制文件
      重做日志文件(redo log):记录对数据库所做的更改记录,这样一出现故障可以启用数据库恢复。一个数据库至少需要两个重做日志文件
      数据文件(data file):存储数据的文件,包含数据库中实际数据
   
      其他管件文件结构:
      参数文件(parameter file):定义Oracle实例的特性。例如,它包含调整SGA中一些内存结构大小的参数
      归档文件(passwd file):是重做日志文件的脱机副本,在这些副本可能对于从介质失败中进行恢复很重要
      密码文件(archivelog file):认证哪些用户有权限启动和关闭Oracle实例

  

  逻辑结构
      表空间:是数据库中的基本逻辑结构,一系列数据文件集合
      段:是对象在数据库占用的空间
      区:是为数据一次性预留的一个较大的存储空间
      块:Oracle最基本的存储单位,在建立数据库时指定  

    
     

原创粉丝点击