《Oracle9i关系数据库实用教程》电子教案第二章 Oracle体系结构
Oracle9i数据库的第2讲

第2讲Oracle9i数据库的基本对象目的:1.掌握Oracle9i的基本对象2.掌握Oracle9i的数据类型:3.Oracle9i数据库的概念:数据库,例程,方案,表空间,表,视图等4.基本SQL的类型:DML, DDL, DCL,授课内容:[] Oracle9i的逻辑结构(基本的对象)2.1.1 数据库(Database)2.1.2 表空间(Table space)2.1.3 方案(Schema):2.1.4 用户(User)2.1.5 角色(Role)2.1.6 表(Table): 表由字段和记录组成2.1.7 视图(View):虚拟表2.1.8 索引(Index)2.1.9 序列(Sequence)2.1.10 约束(Constraint)2.1.11 存储过程(Store Procedure)2.1.12 函数(Function)2.1.13 包(Package)2.1.14 触发器(Trigger)图Oracle 数据库,表控件,和数据文件的关系图图Oracle数据库中,表空间,表,索引对象的关系(物理的和逻辑的[] 逻辑对象-[] Oracle SQL的基本组成元素1.Data Type 数据类型2.Literal 字符集3.Format Model 格式模式4.Nulls 空值ments 注释6.Database Objects 数据库对象7.Schema object name and qualifiers 模式对象名称和限定8.[] Oracle Data TypeBuiltin datatype 内置数据类型ANSI Supported data type ANSI支持的数据类型User-defined data type 用户自定义的数据类型Oracle Supplied Datatype Oracle提供的数据类型[] Oracle9i内置数据类型1.Character datatype2.Number datatype3.long and raw datatype4.Datetime datatyperge object datatype6.ROWID datatype[] Oracle的内置数据类型-字符类型(Character datatype)[] Oracle内置数据类型-数值类型(NUMBER DATATYPE)[] Oracle 内置数据类型- 日期类型(Datetime datatype)[] Oracle内置数据类型–加长和二进制类型(long and raw datatype)[] Oracle内置数据类型–大对象数据类型(large object datatype)[] Oracle内置数据类型–行编号数据类型(ROWID datatype)[] ANSI supported Datatype (ANSI支持的数据类型)[] Oracle额外提供的数据类型– Oracle Supplied datatype[] Oracle内置数据类型的规格说明Datatype Specification Oracle内置据类型的技术参数[] Oracle Date Formatthe standard Oracle default date format is DD-MON-RR. For example:'13-NOV-1992'TO_DATE ('November 13, 1992', 'MONTH DD, YYYY')使用NLS_DATE_FORMAT 修改日期的格式alter session set NLS_DATE_FORMAT='YYYY-MM-DD'[] Oracle9i SQL的分类操纵Oracle9i数据库的语言是SQL.可以直接对数据库的编程语言是PL/SQL.操作数据库的对象和对象中的数据可以使用SQL或相关的工具。
Oracle9i关系数据库实用教程第二版课程设计

Oracle9i关系数据库实用教程第二版课程设计一、设计目的本次课程设计的目的是为了让学生加深对Oracle9i关系数据库的理解,掌握其基本概念和操作方法,同时能够独立完成一个简单的数据库应用程序的设计和实现。
二、设计内容本次课程设计包括以下几个部分:1. 数据库设计首先需要明确数据库设计的目的和范围,确定实体和属性、关系和约束等概念,采用ER模型进行建模,并使用Oracle9i自带的工具进行数据库的创建和初始化。
2. SQL语句的编写与执行在数据库设计完成后,需要实现对数据库的增删改查等操作功能。
该部分内容包括使用SQL语句进行数据库的查询、更新等操作,以及对SQL语句的优化和测试。
3. PL/SQL编程在进行SQL语句的编写与执行的过程中,可以利用Oracle9i自带的PL/SQL编程语言实现各种复杂的业务逻辑。
该部分内容包括PL/SQL语言的基本结构、数据类型、变量和常量、函数和过程等语法特性的学习,以及使用PL/SQL编写数据库相关业务逻辑的实践。
4. 数据库安全与管理在数据库设计和使用过程中,需要考虑数据库的安全性和管理。
该部分内容包括Oracle9i的用户和角色管理、密码策略、数据备份和恢复等方面的知识。
5. 团队协作与项目实践在课程设计完成后,学生需要以团队为单位完成一个简单的数据库应用系统的设计和实现。
该部分内容需要学生具备团队协作和项目管理的能力,同时需要掌握Oracle9i的最佳实践。
三、设计要求本次课程设计要求学生具备以下技能和能力:1.了解Oracle9i关系数据库的基本概念和操作方法;2.掌握SQL语句的编写和执行;3.熟悉PL/SQL编程语言,并实践使用;4.熟悉数据库安全与管理;5.具备团队协作和项目管理的能力。
四、设计流程本次课程设计的流程如下:1.制定数据库设计方案,包括ER模型绘制、数据库创建和初始化等步骤;2.编写SQL语句进行数据库的增删改查操作;3.学习PL/SQL编程语言,并实践使用;4.学习数据库安全与管理相关知识;5.以团队为单位完成一个简单的数据库应用系统的设计和实现;6.整理课程设计报告,总结设计过程和所学知识。
Oracle9i数据库系统概述

Oracle9i 数据库系统概述2007.51提纲第一节Oracle9i系统概述第二节Oracle9i数据库体系结构第三节Oracle9i数据库的模式(schema)对象第四节Oracle9i数据库的安装第五节Oracle9i数据库目录结构和注册表信息第六节Oracle9i数据库数据字典第七节Oracle9i分布式数据库体系结构第八节Oracle9i数据库的启动和关闭2第一节:Oracle9i系统概述Oracle9i 是关系对象型数据库管理系统。
Oracle9i 提供以下三种版本:●Oracle9i标准版:包括一套完全集成的易用管理工具、完全分布式的复制能力以及web功能。
适合小型企业的单一服务器环境。
●Oracle9i企业版:包括大数据量的在线事务处理(OLTP)环境、查询密集型数据仓库以及要求苛刻的互联网应用等。
能够满足当今企业关键任务应用的可用性与可伸缩性需要。
●Oracle9i个人版:支持需要与Oracle9i标准版和Oracle9i企业版完全兼容的单一用户开发与部署。
3第二节:Oracle9i数据库体系结构Oracle9i数据库的体系结构可以从以下四个方面来理解:●物理存储结构●逻辑存储结构●内存结构●进程结构4一、物理存储结构从数据的物理存储结构来看,Oracle9i数据库由三类物理文件组成:●数据文件(datafile)●重做日志文件(redolog file)●控制文件(control file)1、数据文件------存储了基表数据、索引数据、回退数据、临时数据、以及数据字典基表数据。
每个数据库至少由一个或多个数据文件组成。
52、重做日志文件------存储数据库的修改前、修改后的信息以及事务标志。
在数据库实例(instance)恢复期间,Oracle使用重做日志文件恢复所有用户对数据库所做的修改操作。
每个数据库必须拥有两个或两个以上的重做日志文件。
3、控制文件------是一个二进制文件。
Oracle9i的关系数据库实用教程第二章 Oracle的体系结构共57页文档

3.表空间中对象的存储
如果表空间只对应一个数据文件,该表空间中 所有的对象都存储在此数据文件中。如果表空 间对应于多个数据文件,可将一个对象的数据 存储在该表空间的任意一个数据文件中,也可 将同一个对象的数据分布在表空间的多个数据 文件中。
2.2.2 段
1.数据段 2.索引段 3.临时段 4.回退段
2.1.4 配置文件
配置文件是一个ASCII文本文件,记录Oracle 数据库运行时的一些重要参数。名字通常为 initsid*.ora格式,如:initCIMS.ora,SID相当 于它所控制的数据库的标识符。每个Oracle 数据库和实例都有它自己惟一的init.ora文件。
Oracle9i 新 引 入 一 个 服 务 器 参 数 文 件 ( SPFILE ) , 一 个 服 务 器 参 数 文 件 (SPFILE)可以被认为是在Oracle数据库服 务器端的初始化参数文件。存储在一个服务
(4)能够将某个表空间设置为脱机状态或联机 状态,以便对数据库的一部分进行备份和恢复。 (5)能够将某个表空间设置为只读状态,从而 将数据库的一部分设置为只读状态。 (6)能够为某种特殊用途专门设置一个表空间, 比如临时表空间等,以优化表空间的使用效率。 (7)能够更加灵活地为用户设置表空间限额。
2.1.3 控制文件
每个Oracle数据库都有相应的控制文件, 用于打开、存取数据库。它们是较小的二 进制文件,其中记录了数据库的物理结构。
名字通常为Ctr*.ctl格式
控制文件中的内容只能够由Oracle本身来修 改。每个数据库必须至少拥有一个控制文 件。一个数据库也可以同时拥有多个控制 文件,但是一个控制文件只能属于一个数 据库。
第二章 Oracle体系结构
oracle教程02_oracle体系结构

•
一马当先,全员举绩,梅开二度,业 绩保底 。20.10. 1520.1 0.1510: 0510:05 :1510:0 5:15O之策,力务 安全之 实。202 0年10 月15日 星期四1 0时5分 15秒Thursday, October 15, 2020
•
相信相信得力量。20.10.152020年10月 15日星 期四10 时5分1 5秒20. 10.15
• 控制文件 • 每个数据文件头
CKPT
检查点进程
控制文件 数据文件
系统监视器进程 (SMON)
– 在实例启动时执行恢复 – 清除不使用的临时段
SMON
系统监视器进程
实例 临时段
进程监视器进程 (PMON)
– 在用户进程失败时执行进程恢复
• 清除数据库缓冲区高速缓存 • 释放该用户进程使用的资源
谢谢大家!
•
树立质量法制观念、提高全员质量意 识。20. 10.1520 .10.15T hursda y, October 15, 2020
•
人生得意须尽欢,莫使金樽空对月。1 0:05:15 10:05:1 510:05 10/15/2 020 10:05:15 AM
•
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20. 10.1510 :05:151 0:05Oct-2015-Oct-20
段、区和块
– 段存在于表空间中。 – 段是区的集合。 – 区是数据块的集合。 – 数据块会映射到磁盘块。
段
区
数据块
磁盘块
数据库体系结构:结构组件汇总
– 内存结构:
• 系统全局区 (SGA):数据库缓冲区高速缓存、重做缓冲 区以及各种池
• 程序全局区 (PGA)
ORACLE 9i 数据库入门 Oracle-2

数据利器 --- SQL
中文版基础教程.》 整书内容PDF文档 《Oracle.9i中文版基础教程 》随书光盘 整书内容 中文版基础教程 随书光盘--整书内容 文档 4.pdf
SQL概述 概述
1. SQL是什么? SQL是什么 是什么? 2. SQL的主要特点? SQL的主要特点 的主要特点? 3. Oracle 9i使用的SQL工具: SQLPlus Worksheet 9i使用的 使用的SQL工具 工具: select * from scott.emp 4. 显示数据表的结构命令( desc[ribe] 数据表名 ) 显示数据表的结构命令( desc[ribe] desc scott.emp
课后练习题(使用not in): 假如一个表 List 中的字段 K 为数值型。请写出SQL语句,查找不 连续的断点处的值。 譬如:K中的值为1, 2, 3, 8, 9, 25 时, 查询的结果应该为:1,8,25。 select k from list where k-1 not in (select k from list) 8
11
综合练习题
1、创建数据库 “myoracle” 。 、 ” 2、在上面创建好的库中,编写并执行创建以下三个数据表的 语句, 、在上面创建好的库中,编写并执行创建以下三个数据表的SQL语句, 语句 名称” 非空)。 表1: “课程编号表” 具有字段“编号”(主键)和“名称”(非空)。 : 课程编号表” 具有字段“编号” 主键) 学生信息表” 具有下列字段: 表2: “学生信息表” 具有下列字段: 编号(主键)、姓名、性别、出生日期、联系电话、通信地址。 )、姓名 编号(主键)、姓名、性别、出生日期、联系电话、通信地址。 表3: “学生成绩” 具有如下字段: : 学生成绩” 具有如下字段: 编号” 外键,参照“学生信息表”表的“编号” “编号”(外键,参照“学生信息表”表的“编号”), 课程编号” 外键,参照“课程编号表”表的“编号” “课程编号”(外键,参照“课程编号表”表的“编号”), 成绩” 核查约束其值在0至 之间 之间)。 “成绩”(核查约束其值在 至100之间)。 3、编写 语句向上面三个表中插入一些数据。 、编写SQL语句向上面三个表中插入一些数据。 语句向上面三个表中插入一些数据 4、针对上面三个表的数据,编写调试下列查询语句: 、针对上面三个表的数据,编写调试下列查询语句: 。(提示 (1)查询学生共参加了哪些课程的考试。(提示:“学生成绩”表中一共 )查询学生共参加了哪些课程的考试。(提示: 学生成绩” 有哪些不同的课程名称)。 有哪些不同的课程名称)。 字的所有学生的编号和姓名。 (2)查询姓名中含有“东”字的所有学生的编号和姓名。 )查询姓名中含有“ (3)查询某学生的考试科目和相应成绩。 )查询某学生的考试科目和相应成绩。 (4)查询某个课程的平均成绩。 )查询某个课程的平均成绩。
Oracle9i的体系结构

UGA(用户全局区)
总结词
每个用户会话专用的内存区域,用于存储该 用户会话的数据和控制信息。
详细描述
UGA(User Global Area)是每个用户会话 专用的内存区域,用于存储该用户会话的数 据和控制信息。它包括多个组件,如会话缓 冲区、游标区和应用程序上下文等。这些组 件为每个用户会话提供所需的内存资源,以
归档日志文件和联机日志文件
归档日志文件
归档日志文件是将重做日志文件进行归 档的文件,通常用于备份和恢复操作。 在Oracle数据库中,当重做日志文件被 填满并切换到新的重做日志文件时,旧 的日志文件会被归档。
VS
联机日志文件
联机日志文件是重做日志文件的在线部分 ,用于记录当前正在进行的修改操作。联 机日志文件对于数据库的恢复和操作至关 重要,必须保持正常运行。
客户端软件允许用户连接到数据库服 务器,执行查询、更新和提交事务。 它还提供用户界面和应用程序开发框 架,以便开发人员构建与数据库交互 的应用程序。
网络协议
网络协议是用于在客户端和数据库服务器之间传输数据的标准和规则。Oracle9i支持多种网络协议, 如TCP/IP、Net8和名字服务等。
通过使用网络协议,客户端和数据库服务器可以在不同的操作系统和网络环境中进行通信。协议还提 供数据加密和身份验证功能,以确保数据的安全性和完整性。
区
是段中连续的数据块集合,一个段可以由一个或多个区组成。
管理
Oracle自动对段和区进行管理,通过自动段空间管理或手动段 空间管理方式。
数据库块
数据库块
是Oracle数据库中最小的数据存储单位,每个块的大 小是固定的。
特点
数据库块包含数据和元数据,如行标识符、列数据等。
推荐下载-oracle9i体系结构 精品

读一致性
当一个会话正在修改 数据时,其他的会话 将看不到该会话未提 交的修改。
数据文件
重做日志
2.3.3 区
是数据库空间分配的逻辑单位,一个区由若干数据 库块组成
缺省情况下,数据库会使用表空间中存储的存储参 数来管理它们的分区
分配给段的第一个区称初始分区,以后分配的区称 增量分区
2.3.3 区
数据库
归档 日志文件
2.4 数据库例程
通常数据库与例程是一一对应的,即一个数据库 对应一个例程;
在并行数据库服务器结构中,数据库与例程是一 对多关系,即一个数据库对应多个例程;
多个例程同时驱动一个数据库的架构称作“集 群”,同一时间一个用户只能与一个例程联系,当 某一个例程出现故障时,其他例程照常运行,从而 保证了数据库的安全运行。
2.3 Oracle9i的逻辑结构
Oracle的逻辑结构是由一个或多个表空间组成的
✓ 一个表空间由若干个段组成 ✓ 一个段由若干个区组成 ✓ 一个区由若干数据库块组成 ✓ 一个数据库块对应一个或多个OS块
2.3 Oracle9i的逻辑结构
数据库
数据库
逻辑
表空间 段 范围
数据块
数据文件 日志文件
控制文件 物理
– 如果数据库使用过程中的临时数据较多且频 繁,则应当在数据库中创建一个专门用来存 储临时数据的临时表空间。否则 临时数据会 存储在SYSTEM表空间中,影响整个系统的 性能。
2.3.1 表空间
表空间分类
用户表空间 – 用于存放用户的私有信息。
2.3.1 表空间
查看表空间
select * from v$tablespace; select * from dba_tablespaces; select tablespace_name,file_name from dba_data_files;
Oracle专业及专业基础课程教学大纲

Oracle专业及专业基础课程教学大纲计算机技术专业Oracle9i课理论与实践教学大纲一、课程性质和任务课程性质本课程是计算机软件专业的一门主要专业课。
通过本课程的学习,使学生掌握Oracle9i工具的基本使用以及SQL语法。
学生在修完Oracle9i理论的基础上,通过深入学习Oracle9i控制台、SQL*PLUS、SQL*PLUS Worksheet 等主要工具,掌握Oracle9i企业管理器的常规使用;进而学习SQL语法,实现在Oracle9i中通过企业管理器和语法两种方式创建、处理数据库对象二、课程教学目标1、知识教学:通过学习使学生对Oracle9i有一个总体认识,学会使用Oracle9i的主要工具,同时掌握SQL语法。
2、能力培养:能在oracle9i中应用所学的数据库语法知识实现主要的数据库对象的各种操作。
3、思想教育:通过学习使学生建立数据库设计的基本思想。
三、教学内容和要求理论教学内容第一章Oracle简介1.1数据库技术简介了解数据库发展的三个阶段,理解数据模型,掌握数据库系统的组成及关系数据库管理系统1.2Oracle9i的基础知识了解Oracle9i的发展历史,理解Oracle9i的产品构成,掌握Oracle9i的工作模式第二章Oracle9i体系结构2.1Oracle9i数据库逻辑结构了解Oracle9i的逻辑对象,理解Oracle9i的逻辑单位,掌握Oracle9i的逻辑结构2.2Oracle9i数据库物理结构了解Oracle9i的物理组成,理解Oracle9i物理文件的工作方式,掌握Oracle9i的物理文件2.3Oracle9i数据库服务器总体结构理解Oracle9i的总体结构,掌握Oracle9i的内存结构、后台进程、Oracle例程2.4Oracle9i数据库的应用架构了解Oracle9i在具体实施时的不同架构,理解Oracle9i各种应用架构之间的区别,掌握Oracle9i各种应用架构的特点第三章Oracle9i的安装和配置3.1Oracle9i for Windows 2000的安装了解在Windows2000上安装Oracle9i的硬件环境和软件环境,掌握Oracle9i服务器和客户端的安装和配置3.2服务器的启动和关闭了解服务器的启动和关闭,理解服务器启动和关闭的不同方式,掌握用命令行模式、企业管理器启动和关闭服务器3.3配置管理服务器了解Oracle管理服务器的作用,理解什么情况下要用到Oracle 管理服务器,掌握Oracle管理服务器的配置及启动、关闭第四章Oracle9i的常用集成工具4.1Oracle9i企业管理器的基本操作了解Oracle企业管理器的集成环境,理解什么情况下要用到Oracle 管理服务器,掌握Oracle管理服务器的配置及启动、关闭4.2SQL*PLUS的基本操作了解SQL*PLUS的功能,理解SQL*PLUS的4类命令,掌握SQL*PLUS的两种登录方式和使用4.3 SQL*PLUS工作单的基本操作了解SQL*PLUS工作单的功能,理解SQL*PLUS工作单的工作环境,掌握SQL*PLUS工作单的登录方式和使用4.4网络配置助手的使用了解网络配置助手的功能,理解监听程序配置、命名方法配置、目录使用配置、本地网络服务名配置,掌握使用网络配置助手配置监听程序、命名方法、目录、本地网络服务名4.5数据库配置助手的使用了解数据库配置助手的功能,掌握使用数据库配置助手创建和配置数据库4.6 OracleHTTP服务器的使用了解Oracle9i数据库的几种管理模式,理解OracleHTTP服务器的相关概念,掌握OracleHTTP服务器的功能、启动、关闭第五章SQL语言基础5.1 SQL概述了解SQL语言的功能及历史,理解SQL语言的分类5.2使用SELECT语句查询数据掌握SELECT语法、单表查询、嵌套查询、函数查询5.3使用INSERT语句插入数据掌握INSERT语法、单行记录的插入、多行记录的插入5.4使用UPDATE语句更新数据掌握UPDATE语法5.5使用DELETE语句删除数据掌握DELETE语法5.6事务控制命令了解事务的概念,理解事务的特点,掌握提交事务命令、设置保留点、回滚事务、设置事务命令第六章Oracle9i存储管理6.1表空间管理了解表空间的概念,掌握使用企业管理器创建表空间、将表空间联机、脱机、移去表空间,使用命令设置表空间存储参数、合并自由空间碎片6.2数据文件管理掌握使用企业管理器创建数据文件,将数据文件联机和脱机,有关存储空间的数据字典的查询6.3回退段管理了解回退段的概念,掌握使用企业管理器创建回退段、管理回退段6.4日志管理了解日志文件的相关概念,掌握使用企业管理器创建重做日志组、将数据库设置为归档模式第七章Oracle9i对象管理7.1表管理了解表的相关概念,理解主键、唯一键、外键、非空等概念,掌握使用企业管理器创建和设置表、修改和删除表,有关表的数据字典7.2索引管理了解索引的相关概念,理解B树索引、位图索引,掌握使用企业管理器创建索引、查询索引信息、修改和删除索引7.3视图管理了解视图的概念、视图的作用,掌握使用企业管理器创建视图、查询视图信息、修改和删除视图,有关视图的数据字典7.4同义词管理了解同义词的相关概念、同义词的作用,掌握使用企业管理器创建同义词,利用同义词进行查询、删除同义词,有关同义词的数据字典7.5序列管理了解序列的相关概念,掌握使用企业管理器创建序列、删除序列,有关序列的数据字典第八章Oracle9i安全管理8.1用户管理了解用户管理的相关概念,掌握使用企业管理器和SQL命令创建用户、修改用户、删除用户,有关用户的数据字典8.2权限管理了解权限的相关概念,理解系统权限和对象权限及它们之间的区别,掌握使用SQL命令和企业管理器为用户授予、撤消系统权限和对象权限,有关权限的数据字典8.3角色管理了解角色的相关概念,理解预定义角色和用户自定义角色及它们之间的区别,掌握使用SQL命令和企业管理器创建自定义角色、删除角色、将角色授予其他角色和用户,有关角色的数据字典8.4概要文件管理了解概要文件的相关概念,掌握使用SQL命令和企业管理器创建概要文件、将概要文件分配给用户、删除概要文件,有关概要文件的数据字典8.5审计了解审计的相关概念,理解审计的类型,掌握使用INIT.ORA参数文件和企业管理器激活审计、停止审计,使用SQL命令进行审计的操作,有关审计的数据字典第九章备份和恢复9.1概述理解备份和恢复的概念,数据库故障类型、备份和恢复的内容、数据库备份的分类、备份与恢复的策略9.2脱机备份和恢复掌握脱机备份的步骤及SQL命令9.3联机备份和恢复了解数据库实现联机备份和恢复必须运行在归档模式下,理解联机备份和恢复的有关概念,掌握在SQL*PLUS中使用SQL命令及在Oracle 企业管理器使用备份和恢复向导实现联机备份和恢复9.4逻辑备份和恢复理解逻辑备份和恢复的有关概念,掌握使用EXP命令及企业管理器的导出向导实现逻辑备份,使用IMP命令及企业管理器的导入向导实现逻辑恢复第十章PL/SQL程序设计10.1 PL/SQL基础了解什么是PL/SQL,理解和PL/SQL有关的概念,掌握变量及声明、数据类型、PL/SQL程序块结构10.2 PL/SQL控制结构理解PL/SQL的控制结构,掌握选择结构、循环结构GOTO结构、NULL结构10.3 PL/SQL记录和表理解用户自定义数据类型,掌握使用%TYPE声明变量、记录类型、使用%ROWTYPE声明变量、表类型10.4游标了解游标的概念,理解游标的属性,掌握游标的基本操作、参数化游标和隐式游标的声明和使用、游标变量的声明和操作10.5过程和函数了解过程和函数的有关概念,理解内置子程序和本地子程序,掌握过程的基本操作、参数设置与传递、函数的基本操作10.6触发器了解什么是触发器、使用触发器的注意事项,理解触发器的类型,掌握触发器的基本操作10.7包了解什么是包、理解包的组成,系统预定义包,掌握包的基本操作、创建包的实例10.8异常处理了解什么是异常处理,理解系统预定义异常、用户自定义异常,掌握异常处理语法4 说明1、本大纲适用计算机软件专业3学制的教学;2、教材《Oracle9i数据库技术》教学参考书《Oracle 9i初学者指南》教学参考书《Oracle9i数据库管理员使用大全》3、机动学时安排的内容;4、考核方式;闭卷考试。
Oracle 9i培训胶片中文版-2_1.体系结构-caith

DBWn LGWR
每三秒 在DBWn写之前
Data files
Control files
Redo log files
Database
26
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
系统监控进程
Instance 责任: SGA 实例恢复:
回滚日志文件中的改变信 息 打开数据库,让用户进入 SMON 回滚未提交的事务
大型池 JAVA池
10
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
系统全局区
系统全局区分配大小上限由SGA_MAX_SIZE参数决定. 系统全局区分配原则依赖其中的组件:
分配邻近的虚拟内存 大小基于SGA_MAX_SIZE
11
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
29
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
归档进程(ARCn) 归档进程
可选择的后台进程 当ARCHIVELOG模式被设置时自动归档联机重做日志文件 保存所有数据库变化
Data files
Control files
Redo log files
ARCn
Archived Redo log files
Parameter file Password file
华为机密, 华为机密,未经许可不得扩散
Data files
Control files
Redo log files
Archived log files
Database
3
文档密级: 文档密级:内部公开
Oracle服务器 服务器
第2章 Oracle 数据库系统

第2章Oracle数据库系统2.1 Oracle数据库系统结构2.2 Oracle内存结构2.3 Oracle进程2.4 Oracle数据库物理存储结构2.5 Oracle数据库逻辑存储结构2.6 Oracle 9i数据库简介2.1 Oracle数据库系统结构2.1.1 Oracle系统结构2.1.2 分布式Oracle数据库2.1.1 Oracle系统结构CKPTPMONLGWRDBWR… 后台进程O/S 数据文件重做日志文件控制文件口令文件初始化参数文件归档日志文件归档日志文件归档日志文件数据库结构数据库缓冲区缓存共享池重做日志缓冲区其他SGAOracle 9i实例2.1.2 分布式Oracle数据库逻辑上的数据库DB1数据库1DB2数据库2DBn数据库n……数据库链接DB-LinksServerClient Client……Client Client……Server Server数据库链接DB-Links2.2 Oracle内存结构2.2.1 系统全局区2.2.2 程序全局区2.2.3 排序区2.3.4软件代码区2.2.1系统全局区1. 数据库缓冲区(Database Buffer Cache)2. 重做日志缓冲区(Redo Log Buffer)3. 共享池(Shared Pool)4. 大块内存池(Large pool)2.2.2 程序全局区程序全局区PGA(Program Global Area,PGA),是单个Oracle进程使用的内存区域,不属于实例的内存结构。
它含有单个进程工作时需要的数据和控制信息,PGA是非共享的,只有服务进程本身才能够访问它自己的PGA区。
2.2.3排序区排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,Oracle利用该内存排序数据,这部分空间称为排序区。
该空间的大小为适应排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。
02第2章Oracle数据库的体系结构-PPT文档资料

查询执行结果:
2.1.2 控制文件
▪ 数据库控制文件(control file)是一个很小的二进制文 件,用于维护数据库的全局物理结构,它存放着数据库 中数据文件和日志文件的信息。
▪ 创建数据库时,同时就提供了与之对应的控制文件。 ▪ 每一个控制文件只能与一个Oracle数据库相关联。 ▪ 控制文件包含了数据库实例在启动和正常操作时,访问
Oracle推荐用户使用一个服务器参数文件作为维护初始化 参数的动态手段。一个服务器参数文件允许用户在一个服务器 端的磁盘文件里持久地保存和管理初始化参数。
3. 警告、跟踪日志文件
▪ 每一个服务器和后台进程都可以写入一个相关的跟
踪文件(trace file)。当一个进程发现了一个内部错误的时 候,它把关于错误的信息转储到它的跟踪文件里。写入 到跟踪文件的一部分信息是给数据库管理员使用的,而 其他信息是给Oracle支持服务的。跟踪文件信息还可以 用于调整应用程序和实例。
▪ 警告文件(alert file)是一种特殊的跟踪文件,一个数据 库的警告文件就是包括按时间排序的消息和错误的记录。
4. 备份文件
▪ 用户管理的备份和恢复实际上就是要求用户 在试图恢复备份的时候先还原备份文件。服务 器管理的备份和恢复管理了备份过程,例如, 调度备份及恢复过程就是在需要恢复的时候施 加正确的备份文件。
1. 实例和数据库之间的关系
实例1 (SGA+进 程 )
实例2 (SGA+进 程 )
数据库文件
2. Oracle实例与参数文件
➢每个实例都要用称为SID (system identifier,系统标识符)的符号来标识
➢决定实例的大小及组成的参数存储在初始化 参数文件(init.ora)中,启动实例时读取这 个文件,在运行时可由数据库管理员修改
2oracle9i体系结构

2.2.4 配置文件
如何判断当前数据库使用的是哪个配置文件? select name, value from v$parameter where name = 'spfile'; value的值为空, 说明使用的配置文件是init.ora value的值不为空, 说明使用的是spfile***.ora
分配给段的第一个区称初始分区,以后分配的区称 增量分区
辽宁工程技术大学电子与信息工程学院
2.3.3 区
主要的几个存储参数: INITIAL:段建立时分配的第一个区的大小(单位: 字节) NEXT:段内分配的下一个增量区大小(单位:字 节) MAXEXTENTS:分配给段的区总数 MINEXTENTS:建立段时分配的区总数,也就是段 的最小区数量 PCTINCREASE:为段分配的每个增量区超过上一 个区的百分比
– 如果数据库使用过程中的临时数据较多且频 繁,则应当在数据库中创建一个专门用来存 储临时数据的临时表空间。否则 临时数据会 存储在SYSTEM表空间中,影响整个系统的 性能。
辽宁工程技术大学电子与信息工程学院
2.3.1 表空间
表空间分类 用户表空间 – 用于存放用户的私有信息。
辽宁工程技术大学电子与信息工程学院
2.3.1 表空间
表空间分类 SYSTEM表空间 – 自动建立(随数据库创建) – 存放数据字典 – 存储过程、包、函数和触发器的定义 – 存储数据库对象的定义
辽宁工程技术大学电子与信息工程学院
2.3.1 表空间
表空间分类
回滚表空间 – 回滚表空间(RollBack Table Space)是用于
辽宁工程技术大学电子与信息工程学院
2.3 Oracle9i的逻辑结构
ch4 Oracle9i数据库的体系结构

数据文件
Oracle数据库有一个或多个物理的数据文件。 数据库的数据文件包含全部数据库的数据 数据文件的特征
一个数据文件仅与一个数据库联系 一个表空间(数据库存储的逻辑单位)由一个或多 个数据库文件组成 数据文件一旦加入到表空间中,就不能从这个表空 间中移走,也不能与其他表空间发生联系 逻辑数据库结构(表、索引)的数据物理地存储在 数据库的数据文件中
Ch4 Oracle9i数据库的体系 结构
主要内容
4.1 Oracle 9i数据库的逻辑结构 4.2 Oracle 9i数据库的物理结构 4.3 Oracle 9i实例 4.4 小结
Oracle数据库的体系结构
Oracle数据库的体系结构包括四个方面
逻辑结构 物理结构 内存结构 进程
4.1 Oracle数据库的逻辑结构
Oracle数据库的逻辑结构描述了数据库从逻辑 上如何来存储数据库中的数据。 逻辑结构包括表空间、段、区、数据块和数据 对象。 数据库的逻辑结构将支配一个数据库如何使用 系统的物理空间。数据对象及其之间的联系则 描述了关系数据库之间的设计。
4.1 Oracle数据库的逻辑结构
数据库 Oracle数据库
表空间
表空间
表空间
表空间
逻辑对象
表
索引
视图
…
数据段
数据段
数据段
索引段
临时段
回滚段
数据区间
数据区间
数据区间
数据块
数据块
数据块
表空间:Oracle9i使用表空间来管理逻辑对象,用户可以将不同性 质的逻辑对象放在不同的表空间下。逻辑对象和表空间的关系好 比文件和文件夹的关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.回退段
回滚段用于存放数据修改之前的值(包括 数据修改之前的位置和值)。 回滚段的作用主要有以下几方面: (1)事务回滚 (2)事务恢复 (3)读一致性
2.2.3 区
区是由很多连续的数据块组成的数据 库存储空间。 缺省情况下,数据库会使用表空间中 存储的存储参数来管理他们的区。
主要的几个存储参数:
2.表空间的使用
在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免 由于字典对象和用户对象保存在同一个数据文件 中而产生的1/0冲突。 (2)能够将回退数据与用户数据分离开来,避免 由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬 盘上,平均分布物理1/0操作。
INITIAL:段建立时分配的第一个区的大小(单位:字节) NEXT:段内分配的下一个增量区大小(单位:字节) MAXEXTENTS:分配给段的区总数。 MINEXTENTS:建立段时分配的区的总数,也就是段的最 小区数量。 PCTINCREASE:为段分配的每个增量区超过上一个区的 百分比。 INITRANS:为初试数量的DML事务条目(并发访问数据 块中的行)保留的预分配空间数量。 NTKXTRANS:当多个事务同时访问同一数据块的行时, 为数据块中每个DML事务的条目分配的空间。
3.台进程
Oracle的后台进程主要包括: (1)SMON系统监控进程(system monitor) (2)PMON进程监控进程(process monitor) (3)DBWR数据库写进程 (4)LGWR日志文件写进程 (5)ARCH归档进程(archiver process) (6)RECO恢复进程 (7)LCKN封锁进程
3.表空间中对象的存储
如果表空间只对应一个数据文件,该表空间中 所有的对象都存储在此数据文件中。如果表空 间对应于多个数据文件,可将一个对象的数据 存储在该表空间的任意一个数据文件中,也可 将同一个对象的数据分布在表空间的多个数据 文件中。
2.2.2 段
1.数据段 2.索引段 3.临时段 4.回退段
2.1.3 控制文件
每个Oracle数据库都有相应的控制文件, 用于打开、存取数据库。它们是较小的二 进制文件,其中记录了数据库的物理结构。
名字通常为Ctr*.ctl格式
控制文件中的内容只能够由Oracle本身来修 改。每个数据库必须至少拥有一个控制文 件。一个数据库也可以同时拥有多个控制 文件,但是一个控制文件只能属于一个数 据库。
4.共享SQL池
共享SQL池(Shared SQL Pool)相当于程 序高速缓冲区,所有的用户程序都存放在 共享SQL池中。
SQL共享池包括库高速缓存、数据字典高 速缓存和服务器控制结构。
共 享 池 的 大 小 取 决 于 init.ora 文 件 参 数 SHARED_POOL_SIZE,它是以字节为单 位的。用户必须将这个值设得足够大, 以确保有足够的可用空间来装载和存储 PL/SQL块和SQL语句。
2.2.5 模式对象
Oracle数据库的模式对象包括表、视 图、序列、同义词、索引、触发器、存 储过程等。
2.3 内存结构
2.3.1 系统全局区 2.3.2 程序全局区 2.3.3 排序区 2.3.4 软件代码区
2.3.1 系统全局区
系统全局区(SGA,System Global Area.)是内 存结构的主要组成部分,是Oracle为一个实例分配 的一组共享内存缓冲区,保存着Oracle系统与所有 数据库用户的共享信息,包括数据维护、SQL语句 分析,重做日志管理等。是实例的主要部分。
1.数据段
数据段中保存的是表中的记录。
2.索引段
在Oracle数据库中每个未分 区索引都有一个索引段保存 索引中的索引条目。对于一 个分区索引,每个分区都有 一个索引段保存它的数据。
3.临时段
当处理查询时,Oracle可能会 需要使用到一些临时存储空间, 用于临时保存解析过的查询语 句以及在排序过程中产生的临 时数据。Oracle会自动在专门 用于存储临时数据的表空间为 操作分配临时段。
(4)能够将某个表空间设置为脱机状态或联机 状态,以便对数据库的一部分进行备份和恢复。 (5)能够将某个表空间设置为只读状态,从而 将数据库的一部分设置为只读状态。 (6)能够为某种特殊用途专门设置一个表空间, 比如临时表空间等,以优化表空间的使用效率。 (7)能够更加灵活地为用户设置表空间限额。
1.数据块缓冲区
数据块缓冲区中存放着Oracle系统最近从数据 文件中读取的数据块。 数据块缓冲区又称用户数据高速缓冲区,为所 有与该实例相链接的用户进程所共享。
数据块缓冲区的容量受物理容量限制。
在Oracle9i中,数据库缓存的大小可以直接由初 始化参数DB_ACHESIZE指定,该参数可以直接 以K字节或M字节为单位来设置数据库缓存的大 小。
2.2 逻辑结构
2.2.1 表空间 2.2.2 段 2.2.3 区 2.2.4 数据库块 2.2.5 模式对象
2.2.1 表空间
1.表空间的分类 2.表空间的使用 3.表空间中对象的存储
1.表空间的分类
Oracle中除了用户创建的存放数据对象 的数据表空间外,还有以下类型的表空间: (1)System表空间 (2)回滚表空间(RollBack TableSpace) (3)临时表空间(Temp TableSpace)
2.1.4 配置文件
配置文件是一个ASCII文本文件,记录Oracle 数据库运行时的一些重要参数。名字通常为 initsid*.ora格式,如:initCIMS.ora,SID相当 于它所控制的数据库的标识符。每个Oracle 数据库和实例都有它自己惟一的init.ora文件。
Oracle9i 新 引 入 一 个 服 务 器 参 数 文 件 ( SPFILE ) , 一 个 服 务 器 参 数 文 件 (SPFILE)可以被认为是在Oracle数据库服 务器端的初始化参数文件。存储在一个服务 器参数文件的初始化参数是永久的,它提供 了由Oracle数据库服务器自我调节的一个基 础。服务器参数文件是二进制文件,不能使 用一个文本编辑器浏览或编辑。Oracle提供 了浏览和查看相关参数的另外接口。
2.字典缓冲区
字典缓冲区用于保存数据字典中的行。 数据字典缓冲区也通过最近最少使用 (LRU)算法来管理。大小由数据库内部 管理。字典缓存区是SQL共享池的一部分, 共享池的大小(以字节为单位)由数据 库 文 件 init.ora 中 的 SHARED_POOL_SIZE 参数来设置。
3.重做日志缓冲区
2.5 数据字典
2.5.1 数据字典的结构 2.5.2 数据字典的用途
数据字典是Oracle数据库的核心组 件,它是对用户来说为只读类型的 表和视图组成。在其中保存着关于 数据库系统本身以及其中存储的所 有对象的基本信息。
•数据库对象所有的框架对象的定义(表、视图、 索引、群集、同义词、序列、过程、函数、包、 触发器等) •为框架对象如何分配和使用空间 •列的默认值 •完整性约束信息 •数据库安全信息,包括用户、权限、角色等 •审计信息
2.5.1 数据字典的结构
一个数据字典包括基础表,动态性能视图 及数据字典视图。数据字典视图又包含 ALL视图,USER视图和DBA视图。
1.基础表
存储相关数据库信息的表,这些数据库的信 息包括表、索引、约束,以及所有其他数据 库对象结构的信息。它们属于SYS用户,通过 运行SQL脚本来创建(在数据库创建时自动发 生)。是Oracle系统的核心。只有Oracle才 能写和读取这些表。基础表中的存储的信息 通常是经过加密处理的。大部分数据字典基 础表的名称中都包含“$”等特殊字符。
对数据库进行修改的任何事务(Transaction) 在记录到重做日志之前都必须首先放到重做日 志缓冲区(Redo Log Buffer.)中。重做日志缓 冲区是专为此开辟的一块内存区域,重做日志 缓存中的内容将被LGWR后台进程随时写入重 做日志文件。
重做日志缓存是一个循环缓存区,在使用时从 顶端向底端写入数据,然后再返回到缓冲区的 起始点循环写入。重做日志缓冲区的大小(以 字节为单位)由init.ora文件中的LOGBUFFER 参数决定。
2.2.4 数据库块
数据库块也称逻辑块或Oracle块,它对应 磁盘上一个或多个物理块,它的大小由初 始化参数db_block_size(在文件init.ora中) 决定,典型的大小是2k。
Pckfree和Pctused两个参数用来优化数据 块空间的使用。 PCTFREE : 块 中 保 留 用 于 UPDATE 操作的空间百分比,当数据占用的空间达 到此上限时,新的数据将不能再插入到此 块中; PCTUSED:指定块中数据使用空间 的最低百分比;
2.4.2 进程
进程又称任务,是操作系统中一个极为重要的 概念。一个进程执行一组操作,完成一个特定 的任务。对Oracle数据库管理系统来说,进程由 用户进程、服务器进程和后台进程所组成。 进程与程序的区别在于前者是一个动态概念, 后者是一个静态实体;程序仅仅是指令的有序 集合,而进程则强调执行过程。进程可以动态 地创建,完成任务后即会消亡。
第二章 Oracle体系结构
2.1 2.2 2.3 2.4 2.5 物理结构 逻辑结构 内存结构 数据库实例与进程 数据字典
2.1 物理结构
2.1.1 数据文件 2.1.2 日志文件 2.1.3 控制文件 2.1.4 配置文件
2.1.1 数据文件
数据文件用来存储数据库中的全部数据, 如数据库表中的数据和索引数据。通常为后 缀名为.dbf格式的文件。
1.用户进程服务器进程
当用户运行一个应用程序时,系统就为 它建立一个用户进程。用户进程执行的 是一个应用程序或Oracle工具程序的代 码,以完成用户所指定的任务。用户进 程不是实例。