oracle复习(一) 之Oracle体系结构
2009-11-30 21:00
204 查看
学习Oracle DBA也半个多学期了,今天猛然才发现,原来我的书还是很新的,上课操作时候也只是知道大概怎么做,但是要真的全部自己做,而不去翻书还是有一定的难度的,所以呢,今天开始将DBA从头复习一遍,同时再操作一遍。
第一章,学的是Oracle的体系结构,如图:
了解了这个体系结构图,当然还是不够的,这里面还有很多术语呢,不过呢首先看看Oracle服务器。
Oracle服务器主要分为以下三种:
1、基于主机方式
2、客户端-服务器(client-server)(两层模型)方式
3、客户端-应用服务器(client-application server-server)(三层模型)
接着是一个Oracle实例
Oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成。它的内存结构也称为系统全局区(System global area,SGA)。实例的后台有5个进程是必须的:SMON、PMON、DBWR、LGWR、CKPT。SGA中又包含了一下几个内存结构:共享池(shared pool)、数据库高速缓冲区(database buffer cache)、重做日志缓冲区(redo log buffer)和其他的一些结构(如锁和统计数据)。
SGA系统全局区
实例
接着就说明Oracle数据库,它也成为物理(外存)结构,它为数据库信息提供了真正的物理存储,它由控制文件(control files)、重做日志文件(redo log files)、数据文件(data files)3类操作系统文件组成。
然后,要用数据库,当然还需要连接,连接是用户进程与Oracle服务器之间的通信路径,其中有三种方式:
1、基于主机方式
2、客户端-服务器(client-server)(两层模型)方式
3、客户端-应用服务器(client-application server-server)(三层模型)
这三种连接是用户进程与服务器进程的一对一连接,也称为专业连接(dedicated server connection),除此之外,在联机事务处理(online transaction processing,OLTP)系统的配置还有另一种连接,为共享服务器(shared server)连接。
然后要复习下服务器进程
当Oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该内存区成为程序全局区(Program global area,PGA).与SGA不同,PGA是一个私有的内存区,不能共享,且只属于一个进程。它随着进程的分配而分配,随着进程的终止而回收。全局区包括这些结构:排序区(sort area)、游标状态区(cursor state)、回话信息区(session information)、堆栈区(stack space)。
当然,我们在数据库中查找数据时,总是有一个过程的,那么Oracle执行SQL查询语句的步骤又是怎么样的呢?如下:
1、编译(parse):在进行编译时,服务器进程会将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache)中并将完成一下处理:
1)、首先在共享池中搜索是否有相同的SQL语句(正文),如果没有就进行后续的处理。
2)、检查该SQL语句的语法是否正确
3)、通过查看数据字典来检查表和列的定义
4)、对所操作的对象加编译锁(parse locks),以便在编译语句期间这些对象的定义不能被改变。
5)、检查所引用对象的用户权限
6)、生成执行该SQL语句所需的优化的执行计划
7)、将SQL语句和执行计划装入共享的SQL区
2、执行(execute):Oracle服务器进程开始执行SQL语句是因为它获得了执行SQL语句所需的全部资源信息
3、提取数据(fetch):Oracle服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户。
嘿嘿,其余的就是前面的体系结构图中的一些词啦,因为多是解释,就自己看啦,不在这里列出,呵呵。今天就复习至此咯,明天我会继续加油的。
第一章,学的是Oracle的体系结构,如图:
了解了这个体系结构图,当然还是不够的,这里面还有很多术语呢,不过呢首先看看Oracle服务器。
Oracle服务器主要分为以下三种:
1、基于主机方式
2、客户端-服务器(client-server)(两层模型)方式
3、客户端-应用服务器(client-application server-server)(三层模型)
接着是一个Oracle实例
Oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成。它的内存结构也称为系统全局区(System global area,SGA)。实例的后台有5个进程是必须的:SMON、PMON、DBWR、LGWR、CKPT。SGA中又包含了一下几个内存结构:共享池(shared pool)、数据库高速缓冲区(database buffer cache)、重做日志缓冲区(redo log buffer)和其他的一些结构(如锁和统计数据)。
SGA系统全局区
实例
接着就说明Oracle数据库,它也成为物理(外存)结构,它为数据库信息提供了真正的物理存储,它由控制文件(control files)、重做日志文件(redo log files)、数据文件(data files)3类操作系统文件组成。
然后,要用数据库,当然还需要连接,连接是用户进程与Oracle服务器之间的通信路径,其中有三种方式:
1、基于主机方式
2、客户端-服务器(client-server)(两层模型)方式
3、客户端-应用服务器(client-application server-server)(三层模型)
这三种连接是用户进程与服务器进程的一对一连接,也称为专业连接(dedicated server connection),除此之外,在联机事务处理(online transaction processing,OLTP)系统的配置还有另一种连接,为共享服务器(shared server)连接。
然后要复习下服务器进程
当Oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该内存区成为程序全局区(Program global area,PGA).与SGA不同,PGA是一个私有的内存区,不能共享,且只属于一个进程。它随着进程的分配而分配,随着进程的终止而回收。全局区包括这些结构:排序区(sort area)、游标状态区(cursor state)、回话信息区(session information)、堆栈区(stack space)。
当然,我们在数据库中查找数据时,总是有一个过程的,那么Oracle执行SQL查询语句的步骤又是怎么样的呢?如下:
1、编译(parse):在进行编译时,服务器进程会将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache)中并将完成一下处理:
1)、首先在共享池中搜索是否有相同的SQL语句(正文),如果没有就进行后续的处理。
2)、检查该SQL语句的语法是否正确
3)、通过查看数据字典来检查表和列的定义
4)、对所操作的对象加编译锁(parse locks),以便在编译语句期间这些对象的定义不能被改变。
5)、检查所引用对象的用户权限
6)、生成执行该SQL语句所需的优化的执行计划
7)、将SQL语句和执行计划装入共享的SQL区
2、执行(execute):Oracle服务器进程开始执行SQL语句是因为它获得了执行SQL语句所需的全部资源信息
3、提取数据(fetch):Oracle服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户。
嘿嘿,其余的就是前面的体系结构图中的一些词啦,因为多是解释,就自己看啦,不在这里列出,呵呵。今天就复习至此咯,明天我会继续加油的。
相关文章推荐
- Oracle体系结构详细图解
- oracle 体系结构
- ORACLE体系结构,很详细
- Oracle体系结构-数据库和实例
- Oracle传统基本体系结构初步介绍(5)
- oracle体系结构
- oracle复习 - day01
- oracle复习 - day02
- Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)
- 教学笔记-Oracle体系结构03-网格架构、数据字典、动态性能监视视图
- 【Oracle】8.Orecle体系结构分析
- Oracle复习(一)
- Oracle体系结构:内存结构和进程结构
- Oracle复习 随笔
- 4.读书笔记收获不止Oracle之 体系结构原理
- 数据库复习1——数据库体系结构和关系系统
- Oracle复习
- oracle 复习体系一 oracle 用户管理
- oracle 复习体系三 数据库操作
- Oracle体系结构中的各种名称