Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  397 随笔 :: 33 文章 :: 29 评论 :: 0 Trackbacks
数据库结构(一).体系结构
 
 
一、数据库体系结构
 
    Oracle在Unix/Linux上体现为多个不同的操作系统进程,每个进程负责一个主要功能。而在Windows系统上,Oracle实现为一个多线程的进程。
 
    首先要分清实例(Oracle Instance)和数据库(Oracle Database)的区别:
 
    数据库:是操作系统中相应的文件或磁盘的集合。
    实例:一组Oracle后台进程/线程以及一个共享内存区,这些内存由所有进程/线程所共享。
 
    简单得说:实例就是一组系统进程/线程以及一些内存,这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件、控制文件等)。一个实例在同一时刻只能控制一个数据库;相对的,一个数据库在绝大部分情况下也只能由一个实例操作(除了RAC-Real Application Clusters)。
 
    实例的启动:startup (nomount)
    数据库的创建:create database
 
    一个instance在其生命周期中只能打开一个database
    SQL> alter database close;
    Database altered.
    SQL> alter database open;
    ORA-16196:database has been previously opened and closed
 
    数据库和实例的简单关系如下图:
    01.数据库&实例
 
    SGA:系统全局区(Oracle的一个最大内存块)
 
    作用:
        1、维护所有进程需要访问的多种内部数据结构
        2、缓存磁盘上的数据,并缓存重做数据写入磁盘之前
        3、保存已解析的SQL计划
        4、其他
 
 
二、连接Oracle
 
 
    用户连接Oracle共有两种方式,分别为:专用服务器连接(dedicated server)和共享服务器连接(shared server)。
 
    专用服务器连接:为每一个连接分配一个进程/线程
    共享服务器连接:又称多线程服务器(Multi-Threaded Server),用户通过调度器与Oracle连接,可减少进程/线程数,提高系统资源利用效率。
 
    如图:
    02.Oracle共享服务器
 
    看一下加上调度器和连接服务后的图:
 
    03.Oracle工作简图
 
 
三、Oracle详细工作流图(摘自zhouwf)
 
    04.详细工作流
 
posted on 2008-08-18 22:09 decode360 阅读(134) 评论(0)  编辑  收藏 所属分类: 08.DBA

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问