第4章 体系结构 本章概述 本章要点 教学过程.

Slides:



Advertisements
Similar presentations
2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
Advertisements

© 2012 IBM Corporation IBM 中国系统与科技研发中心 --- IBM i 实验室之旅 利用工具分析 IBM i 程序性能 应锦鑫, IBM i 性能工具高级软件工程师 IBM 中国系统与科技研发中心.
数据库系统原理 数据库系统概论 SQL Server 数据库系统原理 3.1 SQL Server 2000 特性 Microsoft SQL Server 2000 的特性包括: 真正的客户机 / 服务器体系结构。 图形化用户界面。 丰富的编程接口工具。 SQL Server 与 Windows.
教育技术装备统计系统 使用培训 教育部基础教育司 教育部教育管理信息中心.
第12章 部署图.
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
武汉库得克 软件有限公司 公司简介 发展机遇 特点 一家专注于质量管理平台和整体 解决方案的提供商
数据库原理及应用(ORACLE)实用教程
Database Management System 資料庫管理系統
数据库技术 Oracle11g 孟德欣 主编 许勇 谢二莲 贺师君 副主编 清华大学出版社 普通高等教育 “十二五”国家级规划教材
嘉榮通過95.96年度母嬰親善醫院評鑑 效期至98年12月31日.
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
102年實施之高中職及五專多元入學(含免試入學)之招生機制
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
做好就业与自主创业的准备.
  中国技术交易信息服务平台 中国技术市场管理促进中心.
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
思科Oracle RAC解决方案 Starry Wu UCS -GC.
資料庫系統 曾俊雄.
第二章 项目一:企业厂区与车间平面设计 1.
資料庫 (Database) SQL Server 2008實作
TBSMGS数据存储管理软件 北京金信桥信息技术有限公司 2010年05月27日.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
第二章 进程、线程与作业 多道程序设计 Multi-programming 进程的引入 Process 线程与轻进程
Windows 2000/XP网络组建与系统管理 李燕 中南分校.
提升课堂质量 助推教师成长 促进教学改革 “一师一优课,一课一名师”活动总结 河南省实验小学.
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
转正述职报告 乐恩公司 史航
教育信息技术学院 2014年11月 《教育传播学》 第二章 教育传播过程和模式 第一节 教育传播过程 主讲人:胡钦太教授.
Windows 2000 Professional系統管理系列
Oracle数据库入门.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
課程大網 MS-SQL 7 安裝與管理 BDE,ODBC,ADO 資料庫驅動程式安裝與管理 Delphi 資料庫物件使用 實例設計.
建立/修改/刪除資料庫 資料庫組成檔案 建立資料庫: 資料(庫)檔案 交易記錄檔 使用Enterprise Manager工具 自助法:
第1章 SQL Server 关系数据库简介 1.1 SQL Server 特点 1.2 SQL Server的安装和配置
第六章: 建立資料庫.
第 3 章 SQL Server 2000 伺服器管理初步.
第 3 章 熟悉 SQL Server 的工作平台.
Windows 2012 Dynamic Access Control (動態存取控管)
第二章 行程管理 朱肇明 資管系 講師 大華技術學院.
数据仓库和数据挖掘 DATA WAREHOUSING AND DATA MINING 经济科学室验室
VR虛擬書店 概念:將實體書店直接擺到線上 系統架構: VR實作結果: 軟體實作: 參考資料:
Discover the power of SSL-VPN+ IT management
Oracle9i数据库专题培训 第三讲(数据库配置) 朱华廷(9i OCP)
数据库实验指导(一)
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
物流管理的层次 战略 战术 运营 执行 .目标 .供货政策,服务标准 .物流网设计 作什么 制定目标,政策 .需求预测
第1章 SQL Server 2005 关系数据库简介.
第5章 方案工程(Solutions Engineering)
作業系統 (Operating System)
散发思维:数据迁移 李广才 ludatou.
最成功的合作開發模式 合作開發流程 A. 資料收集 訪談 B. 分析現有 系統 C. 合約簽定 D. 規格確認 E. 程式撰寫 F.
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
【VA虚拟应用管理平台】专题培训 资源管理及个性化 陕西益和信息技术开发有限责任公司 2011年2月.
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
名以清修 利以义制 绩以勤勉 汇通天下 新晋商理念 李安平
实验一讲评 … 张榆….
微軟資安稽核解決方案 System Center 2012
現代專案管理教材 第一章 專案與專案管理 博碩文化出版發行.
2017学考复习 信息管理(导引P37).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
案例分析: THE NEXTGEN POS SYSTEM
Principle and Technology of Database
安裝 Visual C Express Edition
第 1 章 認識資料庫系統.
Presentation transcript:

第4章 体系结构 本章概述 本章要点 教学过程

本章概述 作为一个数据库旗舰产品,Oracle系统具有可扩充性、可靠性和可管理性。可扩充性表示当Oracle系统承担不断增长的工作负载的同时,具有有效扩充其系统资源利用情况的能力。也就是说,给定的系统既可以有效地为5个用户提供服务,也可以有效地为5000个用户同时提供服务。可靠性表示Oracle系统具有极强的抵御风险的能力,无论是操作系统崩溃,还是系统出现故障,都可以确保在执行事务处理时不出现异常或尽快地恢复到故障前的状态。可管理性表示数据库管理员可以调整Oracle使用内存的方式、向磁盘写入数据的频率,数据库为连接到该数据库的用户分配系统进程的方式等等。 这些能力都是与Oracle的体系结构密切相关的。本章通过将Oracle Database 10g与以前版本进行比较,介绍Oracle Database 10g系统体系结构的特点。

本章要点 如何连接到数据库实例 服务器进程的作用和特点 Oracle文件系统的结构层次 重做日志的作用和特点 Oracle Database 10g是如何管理内存的 后台进程的作用

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.1 概述 Oracle系统的体系结构是指组成Oracle系统的主要组成部分,这些组成部分之间的关系,以及这些部分的工作方式。 4.1 概述 Oracle系统的体系结构是指组成Oracle系统的主要组成部分,这些组成部分之间的关系,以及这些部分的工作方式。 在Oracle系统的体系结构中,主要涉及到以下5个组件: 连接数据库实例的能力,这是Oracle系统的体系结构中协同工作的方式; 服务器进程; 文件系统的结构层次; 内存区域的管理,尤其是系统全局区域(system global area,SGA)的特点和作用; 后台进程。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.2 连接数据库实例 本节介绍连接数据库实例的操作。为了连接数据库实例,涉及到3个方面的内容,即 用户进程 Oracle监听器 4.2 连接数据库实例 本节介绍连接数据库实例的操作。为了连接数据库实例,涉及到3个方面的内容,即 用户进程 Oracle监听器 Oracle网络客户

用户进程 可以将用户进程(user process)看作是一些试图连接数据库的软件,例如客户工具。用户进程可以使用Oracle Net Services(Oracle网络服务)与数据库进行通讯。Oracle Net Services是一组通过网络连接协议提供网络连接的组件。对应用开发人员和数据管理员来说,Oracle Net Services屏蔽了不同硬件平台上设置不同网络的复杂性。 在Oracle系统中,不用编辑服务器上的注册表,使用一些简单的配置文件就可以管理Oracle Net Services。

Oracle监听器 Oracle监听器(listener)是一个运行于Oracle数据库服务器上的进程,其职责是监听来自于客户应用的连接请求。 客户负责在初始化连接请求中向监听器发送服务名称。该服务名称是一个标识符,它可以唯一地标识客户试图连接的数据库实例。当然,Oracle监听器不仅能够监听数据库实例,而且还可以监听其他服务,例如HTTP服务器和IIOP服务器。

Oracle网络客户 对于SQL*Plus、Oracle Enterprise Manager、Oracle Net Manager这些客户工具来说,可以使用Oracle Net Services客户适配器与Oracle数据库进行交互。 就像服务器一样,这些客户工具也需要经过配置才可以与网络上某处的数据库进行交互。对于监听器来说,这个配置文件是listener.ora。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.3 服务器进程 当Oracle Net Services接收到用户进程的连接请求之后,就会将用户进程路由到一个服务器进程(server process)。 服务器进程负责在用户进程和Oracle实例之间调度请求和响应。 当用户进程提交查询之后,服务器进程则负责执行该查询语句,即将数据从磁盘读入缓存,获取查询结果,然后向用户进程返回结果。即使响应出现了某些错误,服务器进程也会把错误信息发回用户进程,以便用户进程进行合适的处理。

专用服务器(dedicated server)模式 系统会向每个要与数据库进行连接的用户进程赋予它自己的专用服务器进程。 这是用户安装Oracle数据库时所配置的方式,也是大多数数据库管理员运行数据库的方式。 专用服务器为用户进程和服务器进程之间提供了一对一的映射关系。

共享服务器模式 共享服务器也被称为多线程服务器(multi-threaded server,MTS)。 在共享服务器模式中,有一个调度程序组件。该组件负责在用户进程与服务器进程之间进行路由。当用户进程请求与共享服务器进行连接时,Oracle Net Services就会将会话请求路由到调度程序中,而不是路由到服务器进程中。然后,调度程序就会将请求发送到请求队列中,这时第一个空闲的共享服务器就会获得请求。 共享服务器生成的结果则放回到响应队列中,受到调度程序的监控,并且返回到客户中。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.4 文件系统 本节介绍Oracle系统所使用的文件系统。 在Oracle数据库进程的日常操作中,该进程使用: 数据词典 应用数据 4.4 文件系统 本节介绍Oracle系统所使用的文件系统。 在Oracle数据库进程的日常操作中,该进程使用: 数据词典 应用数据 用于数据库启动的参数 事务处理日志 管理数据库物理结构的文件 其他类型的文件

参数文件 参数文件(parameter files)用于在启动实例时配置数据库。 当建立数据库时,用户就可以运行初始化文件,该文件规定了数据库中所使用的各种设置值。 这些设置包括数据库实例名称(SID)、数据库主要文件的位置、实例所使用的主要内存区域的大小等。 该文件的名称通常为init<SID>.ora。 例如,如果数据库实例名称是sales,则其初始化文件的名称是initsales.ora。

控制文件 控制文件(control files)是Oracle服务器在启动期间用来标识物理文件和数据库结构的二进制文件。控制文件提供了建立新实例时所需要的文件目录。Oracle系统可以在常规的数据库操作期间,更新控制文件,以便下次使用。 当用户建立控制文件时,最好建立多个控制文件副本。如果可能的话,把这些控制文件副本放置到不同的物理驱动器上。

数据文件 数据文件是用来存放用户数据的地方。这些数据文件对于用户数据的稳定性和完整性十分重要。如果失去了这些数据文件,用户就不会有数据了,当然也就不会有数据库了。 每一个数据库至少有一个与之相关的数据文件。通常情况下,一个数据库有多个数据文件。

数据存储层次 数据库由一个或多个表空间组成; 表空间由一个或多个数据文件组成,表空间中包含段; 段(表、索引等)由一个或多个盘区组成。段存在于表空间中,但是在表空间中可以有许多数据文件中的数据; 盘区是在磁盘上连续的块的组。一个盘区在一个表空间中,且在表空间中单一的文件中; 块是数据库中最小的分配单元,也是数据库使用的最小I/O单元。

表空间 表空间是用户可以在Oracle系统中使用的最大的逻辑存储结构。用户在数据库中建立的所有内容都会存储在表空间中。每个Oracle数据库都提前配置了system表空间,它存储了数据字典和系统管理信息。 一般情况下,用户和应用程序使用自己的表空间来存储数据。写入到临时表中的数据、为大规模排序操作写入磁盘的数据块以及其他许多类型的临时数据都会被写入到表空间中。

段 段是用户建立的数据库对象的存储表示。用户建立的每一个表都会有一个在表空间中存储的逻辑段。为用户所建立的对象生成的段都要在磁盘上占用空间。在Oracle系统中,有3种类型的段,即数据段、临时段和回滚段(有时也称为撤销段)。 数据段是存储表、索引、簇、表分区等常规应用数据的地方。 临时段是临时表空间中的段,可以用来存储临时表、引起内存页交换的SQL语句等。 回滚段用于管理数据库中的undo数据,并且为事务处理提供数据库的读取一致性视图。

盘区 段是由一个或多个盘区构成的。盘区是用来为段存储数据的逻辑上连续的数据块的集合。当建立数据库对象时(无论如何,该对象都会消耗空间),系统就会建立一个或多个盘区来存储数据。 盘区数量和盘区大小可以在正在建立对象的storage子句中规定。 在Oracle系统中,默认的表空间的盘区管理风格是本地化管理,而不是字典管理。

数据块 数据块代表了数据库中最小颗粒的逻辑数据存储层次。 数据块层次上是盘区结构。 盘区是由连续的数据块集合构成,而盘区构成了段,段则构成了表空间,表空间构成了数据库。

重做日志文件 重做日志文件对Oracle数据库至关重要,它是数据库的事务日志。重做日志文件仅用于恢复数据库。当实例或存储介质失败时,使用重做日志文件来维护数据库。 事实上,在Oracle系统中执行的每一步步操作都生成了一定数量的重做日志,它们被写入到联机重做日志文件中。当将一个行插入到某个表中时,插入的结果被写入到重做日志中。当删除表中的某行数据时,该行数据也被写入到重做日志中。 Oracle数据库要求每个数据库实例都至少有两个重做日志文件组,每一个重做日志文件组中有一个单独的成员。

临时文件 在Oracle系统中,临时文件是一个特殊类型的数据文件类型。 当内存不足以在RAM中保存一个大规模排序操作的中间结果或结果集时,Oracle使用临时文件来保存它们。永久数据对象,例如表或索引,不会被存储到临时文件中,但是临时表或临时索引的内容则可能存储到临时文件中。 所以,不能在临时数据文件中创建自己的应用程序表,但是可以在临时表中存储数据。

Oracle管理文件 Oracle管理文件(Oracle managed file,OMF,有时也称为Oracle托管文件)。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.5 内存区域 在Oracle系统的体系结构中,有许多不同的内存区域。不同的内存区域用于不同的目的。Oracle的服务器进程和许多后台进程负责在内存区域中写入、更新、读取和删除数据。 理解内存区域的用途,有助于理解数据库操作期间的数据和进程流程。 Oracle中的3个主要内存区域是: 系统全局区域(system global area,SGA) 程序全局区域(program global area,PGA) 用户全局区域(user global area,UGA)

系统全局区域

程序全局区域和用户全局区域 程序全局区域是为单独的服务器进程存储私有数据的内存区域。与所有服务器进程都可以访问的共享内存区域SGA不同,数据库写入器、日志写入器和许多其他的后台进程,都只为各个服务器进程提供一个PGA。PGA只能由他们的服务器进程访问。 用户全局区域是用于存储会话状态的内存区域。UGA的位置依赖于服务器是运行在共享服务器模式中,还是专用服务器模式中。在专用服务器模式中,UGA会在PGA中分配,只能够由服务器进程访问。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程

4.6 后台进程 无论用户是否连接数据库,有些进程都会作为数据库的一部分运行。这些进程被称为后台进程。每一个后台进程都有自己的职责。如果这些后台进程崩溃了,那么数据库也就随着崩溃了。实际上,Oracle实例是由后台进程和内存结构共同组成的。 Oracle的后台进程主要是用来提高数据库的性能和可靠性,它可以由多个用户共同使用,为这些并发用户进程提供各种服务。Oracle的后台进程执行输入/输出操作,并监视Oracle 9i服务器的其他进程。Oracle的后台进程的结构示意图如图4-5所示。 一般情况下,Oracle的后台进程包括PMON、SMON、DBWn、LGWR、ARCn、CKPT等。

进程监控器 进程监控器(process monitor,PMON)。PMON的主要职责是监控服务器进程和注册数据库服务。 监控服务器进程,确保能够销毁发生损坏或出现故障的进程,释放这些进程占用的资源。 在主机操作系统上使用Oracle监听器注册数据库服务。全局数据库名称、SID以及其他数据库支持的服务都要使用监听器注册。

系统监视器 系统监视器(system monitor,SMON)的主要职责包括重新启动系统、清除临时段、执行盘区结合等。 SMON将会清除已经分配但是还没有释放的临时段。在字典管理表空间中,如果有大量的盘区,那么清除临时段所花费的时间将会非常多。这可能导致数据库启动时的性能问题,因为SMON将会在这个时候试图清除临时段。 SMON会在字典管理表空间中执行盘区结合。

数据库写入器 数据库缓存包含了由用户所使用的数据。数据块会从磁盘读入缓存,各种服务器进程会在那里对它们进行读取和修改。 当要将这些缓存中的数据块写回到磁盘时,数据库写入器(database writer,DBWn)负责执行这些数据的写入操作。

日志写入器 日志写入器(log writer,LGWR)负责向在线重做日志文件中记录所有数据库的已提交事务处理。该进程会将所有数据从重做日志缓存中写入到现行的在线重做日志文件中。 日志写入器会在下面4种不同情况下执行写入操作: 事务处理进行提交; 重做日志缓存已经填充了1/3; 重做日志缓存中的数据量达到了1MB; 每3秒的时间。

归档器 虽然可以通过在线重做日志文件中的事务处理日志恢复实例故障,但是却不能恢复介质故障。如果磁盘遇到了不可恢复的崩溃,那么恢复数据库的唯一方式就是利用备份。通常,每个月、每个星期、每天都需要执行备份。但是,重做日志文件不能保存所有具有价值的事务处理,所以,需要在这些有价值的事务处理被覆盖之前保存他们。 这就是引入归档器(archiver,ARCn)的原因。 归档器会随着数据库的运行完成其工作,有效地采用热备份或在线备份。

检查点 检查点(checkpoint,CKPT)进程负责使用最新的检查点信息更新所有的控制文件和数据文件标题,这种操作称为检查点。 数据库写入器会定期将其缓存写入到磁盘中,以存储检查点。前面已经介绍过,日志切换也可以激活检查点。检查点信息会在数据库恢复期间使用。当SMON恢复数据库时,它会决定最后在数据文件中记录的检查点。必须将数据文件标题和控制文件中最后记录的检查点之后的、在线重做日志文件中的各个表项重新应用到数据文件中。

作业队列协调器和作业进程 Oracle提供了规划将要在数据库后台运行的进程或作业的功能。这些规划的作业可以在指定的日期和时间运行,并且可以为随后的执行指定时间间隔。 在以前的版本中,只有固定数量的作业进程,从SNP0到SNP9、SNPA到SNPZ,共36个作业进程。这些作业进程负责执行作业队列中的进程。 现在,作业进程可以通过作业队列协调器(job queue coordinator,CJQ)的进程来建立和管理。CJQ能够启动最多1000个作业队列进程,即从J000到J999。

恢复器 在单独的Oracle实例中,PMON负责周期性地启动来判断是否有服务器进程发生故障,必须清除实例中的事务处理数据。 对于分布式事务处理,这项工作由恢复器(recoverer,RECO)进程完成。

其他进程 Oracle Database 10g系统,新增了ARB、ASMB、CTWR、MMAN、MMON、RBAL、RVWR等进程。 这些新增进程的主要作用如表4-2所示。

教学过程 4.1 概述 4.2 连接数据库实例 4.3 服务器进程 4.4 文件系统 4.5 内存区域 4.6 后台进程