oracle 体系结构

来源:互联网 发布:淘宝卖家客户端下载 编辑:程序博客网 时间:2024/06/03 04:43
         一个oracle产品可以创建多个数据库,每个数据库是独立的。而且每个数据库都有自己的全套相关文件(密码文件、参数文件、数据文件、控制文件和日志文件)
    数据库是由一些物理文件组成的,也就是由一些存储在存储设备中的表文件。
    我们的表存储在数据库中,而数据库不能直接读取。必须通过oracle 实例来访问数据库,一个实例只能连接一个数据库,但是一个数据库可以被多个实例连接。
    oracle server 由 实例 和数据库 组成(实例和数据库是相互独立的)
    数据库  是由 数据文件和控制文件和日志文件 组成
    实例  是由 内存池SGA 和 后台进程 组成
    也就是说oracle server 是由 内存池、后台进程、数据文件、控制文件和日志文件组成。
    日志文件分为:联机重做日志文件、归档日志文件


    oracle体系   是由 内存结构、进程结构、存储结构组成。
    而存储结构 有分为  物理结构 和逻辑结构。
          物理结构是数据库在操作系统的文件集合。也就是由磁盘上的物理文件、控制文件和重做日志文件组成。
          逻辑结构 表空间(里面存放折若干的数据文件)
                   表空间的作用  分类管理、批量处理;将琐碎的磁盘文件整合、抽象处理成逻辑结构。便于我们管理数据库。
    存储:段存在于表空间中
          段是区的集合
          区是数据块的集合
          数据块会被映射到磁盘块


    实例架构是由内存结构sga和进程结构。
          内存结构包含两部分 系统全局区 和程序全局


程序全局区
    为每个用户连接到oracle数据库单独分配的内存
    当进程创建时分配
    当进程结束时收回

    只能被一个进程使用


系统全局区
    是与oracle性能关系最大的核心
    系统全局区中包括:共享池、流池、大型池、java池、缓冲区高速缓存、重做日志缓冲器。


常用的核心进程:
    系统监控进程
    进程监控进程
    数据库写入进程
    检查点进程
    日志写入进程

    归档进程


oracle数据库是如何运作的:
    1、用户访问数据库之前提交一个请求,需要先启动一个实例
    2、在启动实例之后用户可以连接到服务进程,完成建立连接
    3、由服务器进程调用pga来为用户分配创建实例所必需的内存sga
    4、用户执行sql语句,由服务进程接收到
    5、sql语句通过服务进程到达oracle instance,再将sql载入数据库缓冲区
    6、服务进程通知oracle database将数据块加载到缓冲区中,生成数据块副本
    7、并在数据库缓存区执行sql语句
    8、将用户登录、进程调用、数据文件的原始状态、数据库的改变记录到redo log files
    9、当数据库缓冲区出现了“脏缓冲区”时,将更新的内容写入数据文件
    10、返回结果给用户
0 0