Oracle数据库原理与应用教学课件汇总整本书电子教案全套教学教程完整版电子教案(最新)_第1页
Oracle数据库原理与应用教学课件汇总整本书电子教案全套教学教程完整版电子教案(最新)_第2页
Oracle数据库原理与应用教学课件汇总整本书电子教案全套教学教程完整版电子教案(最新)_第3页
Oracle数据库原理与应用教学课件汇总整本书电子教案全套教学教程完整版电子教案(最新)_第4页
Oracle数据库原理与应用教学课件汇总整本书电子教案全套教学教程完整版电子教案(最新)_第5页
已阅读5页,还剩569页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、27 八月 20221第1章 数据库基础知识27 八月 20222第1章 数据库基础知识本章主要内容数据库的基本原理管理数据库及其对象数据库安全设置和管理27 八月 20223数据管理技术的产生和发展数据处理是指数据收集、存储、加工和传输等活动的总和。什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在)27 八月 20224数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出

2、现极大地促进了计算机应用。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。数据库系统概述27 八月 20225四个基本概念数据(Data)数据是数据库中存储的基本对象数据库(Database)数据库(Database,DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。存放数据的仓库。数据库管理系统(DBMS)数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。数据库管理系统是对数据库进行管理和实现对数据库的数据进行操作的管理系统。数据库系统(DBS):使用DBMS的软件系统27 八月 20226硬件应用系统应用开发工具软件DBM

3、S操作系统编译系统带有数据库的计算机系统层次27 八月 20227DBMS的主要功能数据定义功能:DDL,定义数据对象数据操纵功能:(DML) 操纵数据实现对数据库操作SIDU数据库的运行管理:安全性、完整性、 多用户并发操作,故障后的系统恢复数据库的建立和维护功能(实用程序) 数据库数据批量装载,转储,重组织 性能监视, 分析功能等。27 八月 20228四、数据库系统什么是数据库系统数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。2

4、7 八月 20229数据库系统(续)数据库系统构成数据库系统在计算机系统中的位置用户用户用户应用系统开发工具DBMS操作系统数据库数据库管理员27 八月 202210数据库系统的特点一、数据结构化数据结构化:是与文件系统的根本区别文件是记录内部有结构。定长等。数据库可以描述记录之间的关系。27 八月 202211二、数据的共享性高、冗余度低,易扩充数据是面向整个系统。多个用户共享,减少冗余。 避免不相容与不一致性。不一致性是指同一数据不同拷贝的值不一样。容易增加,易于扩充,适用各种需求。数据库系统的特点27 八月 202212物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

5、逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映象来保证。数据库系统的特点三、数据独立性27 八月 202213数据抽象过程现实世界中的客观对象抽象为概念模型把概念模型转换为某一DBMS支持的数据模型。27 八月 202214关系模型1. 关系数据模型的数据结构 2. 关系数据模型的操纵3. 关系数据模型的完整性约束 4. 关系数据模型的存储结构 27 八月 202215关系数据模型的数据结构 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。27 八月 202216关系模型的基本概念关系(Re

6、lation)一个关系对应通常说的一张表。关系模式元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。27 八月 202217关系模型的基本概念主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。是一个不可以分割的数据项。关系模式对关系的描述。关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)27 八月 202218关系数据模型的数据结构(续)学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系 (系号,系名,办

7、公地点)系、系主任、系与系主任间的一对一联系学生、课程、学生与课程之间多对多: 学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)27 八月 202219关系模型的数据操纵和完整性查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”实体完整性(有主键)参照完整性(外键引用)用户定义的完整性(列的约束)27 八月 202220关系数据模型的存储结构在关系数据模型中,实体与实体间的联系都用表来表示。在物理结构中,表以文件形式存储有的DBMS一个表对应一个

8、操作系统文件有的DBMS自己设计文件结构27 八月 202221数据库系统结构 从数据库内部: 数据库系统采用三级模式。从最终用户看; 集中式(单机/主从)分布式结构C/S并行结构27 八月 202222数据库系统的组成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(用户)27 八月 202223硬件平台及数据库数据库系统对硬件资源的要求(1) 足够大的内存,要运行:操作系统,DBMS的核心模块,数据缓冲区应用程序(2) 足够大的外存 磁盘:OS、DBMS、应用程序、数据库及其备份 光盘、磁带、软盘数据备份(3) 较高的通道能力,提高数据传送率27 八月 202224软件DBMS操作

9、系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统27 八月 202225人员数据库管理员库的信息内容和结构、存储结构和存储策略。定义数据安全性和完整性约束条件监控数据库使用和运行,DB改进和重组重构系统分析员数据库设计人员应用程序员(最终用户)27 八月 202226人员27 八月 202227数据库管理员(DBA)决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件。监控数据库的使用和运行周期性转储数据库:数据文件,日志文件系统故障恢复介质故障恢复监视审计文件数据库的改进和重组性能监控和调优,数据

10、重组,数据库重构27 八月 2022282. 系统分析员负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置。参与数据库系统的概要设计3. 数据库设计人员参加用户需求调查和系统分析确定数据库中的数据,设计数据库各级模式4. 应用程序员设计和编写应用系统的程序模块,进行调试和安装5.用户: 偶然用户、简单用户、复杂用户人员27 八月 202229数据库技术的研究领域数据库管理系统软件的研制DBMS核心相互联系的软件系统(工具软件、中间件)数据库设计数据库设计方法、设计工具、设计理论、数据模型和数据建模数据库理论关系数据理论、分布式数据库、知识发现和推理。27 八月 20223

11、0关系模型 数据模型是对客观世界数据的抽象,是用来描述数据的结构和性质、数据之间的联系以及在数据或联系上的操作和约束。1数据结构数据结构是所研究的对象类型的集合,一类是与数据类型、内容、性质有关的对象,另一类是与数据之间联2数据操作数据操作是指对数据库中各种对象的实例所执行操作的集合。3数据的约束条件数据的约束条件是一组完整性规则的集合。27 八月 202231实体关系图 1. 一对一联系(1:1)2. 一对多联系(1:N)3. 多对多关系(M:N)27 八月 20223227 八月 20223327 八月 202234数据库系统设计1. 需求分析阶段需求分析的重点是调查、求精、收集和分析用户

12、在数据管理中的信息要求、处理要求、安全性要求与完整性要求等需求。 2. 概念结构设计阶段形成一个独立于具体DBMS的概念模型 3. 逻辑结构设计阶段逻辑结构设计的主要任务是将用ER图等描述的概念模型转换成关系模型。 4. 物理设计阶段 物理设计是在计算机的物理设备上,确定应采取的数据存储结构和存取方法,以及如何分配存储空间等问题 5. 数据库实施阶段 根据逻辑结构设计和物理设计的结果建立数据库、编写与调试应用程序、组织数据入库,并经过系统测试、集成测试和验收测试后进行试运行。 6. 数据库运行与维护阶段改正性维护,适应性维护 ,完善性维护 ,预防性维护 27 八月 202235Oracle11

13、g数据库简介 ORACLE公司在2004年推出以网格计算模型的关系型数据库管理系统。Oracle11g尽可能以最低成本和最高的服务质量提供信息,它提供了企业网络计算所需的集群、工作负载管理、数据中心自动化、易用性。27 八月 202236网络计算模型网格计算是一种新的软件体系结构,它的基本思想是把网格作为公用设施(像电力网)进行计算。客户端来看,网格计算是一种使用方便、安全可靠、按需使用的办公设备。用户不用关心数据或应用程序的存储位置、使用什么样的平台,随时随地都能够进行查询、计算或信息发布。从服务器端来看网格计算是关于资源分配、信息共享以及高可用性的技术手段。 网格计算消除了应用程序、服务器

14、、数据库、计算机、存储等网格中每一个组件的固定连接。 27 八月 202237Oracle11g网格模型网格计算的基础是硬件,但网格基础架构的功能必须在软件中得以体现。Oracle11g提供了网格基础架构,通过提供软件来利用和控制具备网格功能的硬件,从而实现企业网格。Oracle Database11g RAC、Oracle Application Server和Oracle Enterprise Manager Grid Control等一起提供了完整的网格基础架构软件。 27 八月 202238Oracle安装 Oracle数据库管理组成:数据库服务器 它是Oracle的核心,是DBMS的

15、主要内容,它完成DBMS的功能。 客户 它是安装在用户端的软件,它也有相应的管理工具和开发工具。 网络通讯 它要通常自动安装在服务器端和客户端 开发工具 Developer 2008,JAVA等中间件其它服务27 八月 202239阅读随机文档,看系统更新和升级信息系统最小需求是否能满足。以管理员成员组登录计算机(NT或2000)如果有要升级的数据库,请备份数据库安装并测试网络硬件和软件。如果有,停止所有ORACLE进程。管理工具开始安装:如果是128M内存,先选择只安装软件,然后用ONCA和ODCA配置网络和数据库。安装前的准备27 八月 202240 数据库名:它是一个数据库的名称标识,在

16、创建数据库时由初始化参数DB_NAME指定。 全局数据库名:它是在整个网络中数据库的唯一标识,它包含数据库的名称和所在的域名,由初始化参数DB_NAME和DB_DOMAIN共同组成。 系统标识描述符SID:它是Oracle实例的惟一名称标识。如果数据库只具有一个实例,SID与数据库名相同,由DB_NAME来指定。 Oracle基目录: Oracle Base是存储Oracle数据库数据的位置。安装过程中将提示指定Oracle基目录路径。Oracle主目录是所有Oracle软件安装的目录,它由组成:产品安装的目录、系统路径设置、安装在主目录的产品程序组以及从主目录中运行的服务。d:appadmi

17、n 是基目录, 主目录:d:appadminproduct11.1.0db_1几个概念27 八月 202241ORACLE服务器安装类型 企业版数据库服务器针对高端的应用环境,适用于对安全性和性能要求很高的联机事务处理以及数据仓库等应用环境。 标准版数据库服务器提供了大部分核心的数据库功能和特性,适用部门级或工作组应用环境 个人版数据库只提供基本的数据库管理服务,它适合单用户开发环境,对系统配置要求较低。 自定义安装允许用户自由选择要安装的组件,通过用户的定制能够创建于特定环境、配置和应用程序需求的数据库服务器。 27 八月 202242ORACLE数据库安装类型 通用类型:这类数据库能够为并

18、发事务处理和复杂查询都提供较为优异的性能。通用类型既可支持大量并发用户对数据的快速访问,也可快速地对大量的历史数据进行数据扫描和处理,以满足DDS环境的性能需求。 事务处理:即联机事务处理( OLTP)数据库。该类型的数据库主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。银行系统数据库等。27 八月 202243 数据仓库:该类型的数据库主要针对有大量的对某个主题大量数据进行快速访问以及复杂查询的应用环境。数据仓库也被称做“决策支持系统(DSS)”,如客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的数据处理等。ORACLE数据库安装类型 27 八月 20

19、224427 八月 20224527 八月 20224627 八月 20224727 八月 20224827 八月 20224927 八月 202250小结本章主要介绍了数据库、数据库管理系统、数据库系统、数据模型、关系模型等基本概念;详细讲解了数据库管理系统的组成和主要功能以及数据库系统的结构;简要介绍了数据库设计的主要过程,它也是数据库应用系统的设计过程。实体关系图是用来描述概念模型的重要工具,即描述数据实体及实体之间的关系。Oracle11g数据库是基于网格的计算模型。网格计算的基本思想是把网格作为公用设施进行计算。了解Oracle11g数据库的新增功能可以允许利用它。Oracle11g

20、数据库安装包括服务器端数据库管理系统安装和客户端工具的安装。27 八月 202251第2章 Oracle实例27 八月 202252 ORACLE实例 实例概念及实例结构实例的内存结构 SGA(System Global Area) PGA(Program Global Area)实例的进程结构 用户进程 ORACLE进程 后台进程27 八月 202253ORACLE实例结构 数据库实例(instance)是用来访问数据库文件集的内存结构及ORACLE进程的集合。一个数据库可以被多个实例访问。 27 八月 202254一个数据库至少有一个与之对应的实例。启动数据库时先创建一个实例,然后由实例加

21、载(即将数据库与实例联系起来)并打开数据库。用户连接连接到实例中,然后由实例负责与数据库通信,将处理结果返回给用户用户、实例和数据库的关系27 八月 202255ORACLE内存结构内存结构主要记录如下数据: 解析后的SQL或PL/SQL程序代码。 用户连接会话信息。 缓存的数据。 程序运行时所需的各种信息。 SGA(System Global Area)和PGA(Program Global Area)。SGA是由所有服务进程和后台进程所共享的内存段。PGA区是存放每个服务进程和后台进程所私有的数据和控制信息。Oracle中每个进程都拥有自己的PGA区。 27 八月 202256ORACLE

22、内存结构27 八月 202257系统全局区SGA 每个Oracle实例只有一个SGA,SGA区中的信息能够被所有Oracle进程共享使用。 在SGA中保存着Oracle系统与所有数据库用户的共享信息,包括在进行数据管理、重做日志管理以及 SQL程序分析时所必需的共享信息。 显示SGA的大小: SQLSHOW SGA; 动态性能视图V$SGA,V$SGASTAT。 27 八月 202258SGA的组成1.数据库缓存:它保存的是最近从数据文件中读取的数据(脏缓存块、空闲块、命中块)大小:DB_BLOCK_SIZE和DB_BLOCK_BUFFERS 2.重做日志缓存:它是存储对数据库所做修改信息的缓

23、存区。重做记录形式存储。大小:LOG_BUFFER 3.共享池:包括库缓存、数据字典缓存和用于存储并行操作信息和控制结构的缓存。库缓存用于存放已经解析并执行过的SQL语句、PL/SQL程序代码。SHARED_POOL_SIZE 4.Java池:SGA中专门为所有Java代码或JVM中的数据而分配的内存。主要存储每个会话中每个类的共享部分,包括代码向量、类的方法等只读内存。 大小:JAVA_POOL_SIZE 5.大型池:主要用于共享服务的会话内存、I/O服务进程、ORACLE备份和恢复操作和并行执行的消息缓存。 大小:LARGE_POOL_SIZE。27 八月 202259程序全局区PGA 程

24、序全局区PGA是保存服务进程的数据和控制信息的内存结构,只有服务进程本身才能够访问它自己的PGA区。每个服务进程都有它自己PGA区,各个服务进程PGA区的总和 即为实例的PGA区的大小。 实例PGA的内容一般有私有SQL区和会话内存组成。私有SQL区中包含有联编变量以及 SQL语句运行时的内存结构等信息。会话内存区用于保存用户会话的变量(登录信息)以及其他与会话相关的信息27 八月 202260 查询PGA区内存分配信息: V$SYSSTAT 系统统计信息V$SESSTAT 用户会话统计信息V$PGASTAT 显示内存使用统计信息 V$SQL_WORKAREA SQL游标所用工作区信息 V$S

25、QL_WORKAREA_ACTIVE 当前系统工作区的信息查询PGA区27 八月 202261实例的进程结构 进程是操作系统中一组用于完成指定任务的动态执行的程序。进程是一个动态概念,可以动态地创建,完成任务后即会消亡。每个进程都有它自己的专用内存区。一、进程分类1.用户进程(User Process) 用户进程运行应用程序或ORACLE工具代码,它在用户方(如客户端)工作。用户进程是通过SGA区与服务器中的Oracle进程进行通讯27 八月 202262进程分类2. Oracle进程(Oracle Process) Oracle进程是在创建实例时由Oracle本身产生,执行的是Oracle自

26、已的服务器端的代码,用于完成特定的服务功能。 Oracle进程分为服务进程和后台进程 服务进程是Oracle自身创建,用于处理连接到实例中的用户进程所提出的请求。后台进程是以最有效的方式为并发用户进程提供Oracle的系统服务。27 八月 202263进程之间的关系27 八月 202264服务进程 服务进程是Oracle自身创建,用于处理连接到实例中的用户进程所提出的请求。Oracle通过创建服务进程为连接到数据库实例中的用户进程提供服务,用户进程总是通过服务进程与ORACLE进行通讯。服务进程主要完成如下任务: 解析并执行应用程序所提交的SQL语句。 从数据文件中读数据到SGA数据库缓存。

27、将数据返回给用户进程。 27 八月 202265专用服务器进程 专用服务进程操作模式中,Oracle为每一个连接到实例的用户进程启动一个专用的服务进程。一个专用服务进程仅为一个用户进程提供服务。专用服务进程之间是完全独立的,它们不需要共享数据。在用户进程连接到实例的过程中,专用服务进程一直存在,不论用户进程是否活动,直到用户进程断开连接时专用服务进程才被终止。 专用服务进程模式下,用户进程数量与实例中的服务进程数量是一样的。27 八月 202266专用服务进程工作方式 适用于:数据库的类型为数据仓库或DSS;只有少数客户机并发连接数据库;建立持久的、长时间的请求27 八月 202267共享服务

28、器进程Shared Server Process 在共享服务器进程模式下,Oracle在创建实例时启动指定数目的服务进程(由初始化参数决定),在一个调度进程的管理下,这些服务进程可以为任意数量的用户进程提供服务。每个共享服务器进程可以为多个用户进程提供服务。减少每个连接要求的服务进程的数量。 使用资源省。 适用于:在联机事务处理(OLTP)环境中使用数据库、有大量用户需要连接到数据库、受系统内存的限制。27 八月 202268共享服务器进程的工作方式 27 八月 202269后台进程 Oracle数据库将不同的工作交给多个系统进程专门进行处理。每个系统进程的大部分操作都是相互独立并且完成指定的

29、一类任务,这些系统进程称为后台进程。 后台进程的主要作用是以最有效的方式为并发建立的多个用户进程提供Oracle的系统服务,如进行 I/O操作、监视各个进程的状态、维护系统的性能和可靠性。 27 八月 202270后台进程与数据库进行交互的过程 27 八月 202271数据库写进程(DBWn) DBWn负责将数据库缓存中的脏缓存块成批写入到数据文件中。通常Oracle只在创建实例时启动一个DBWn进程(称为DBW0)。 0racle最多允许9个额外的DBWn进程(DBW1到DBW9)。由DB_WRITER_PROCESSES来决定DBWn进程的数量。 写入时间:当用户执行INSERT等更新操作

30、时,服务进程找不到可用的空闲块;当检查点发生时,将启动DBWn进程;若发生超时;LRU列表的长度达到初始化指定值的一半时。 27 八月 202272日志写进程(LGWR) LGWR负责将重做日志缓存中的重做记录写入到联机重做日志文件。在LGWR进程将缓存中的数据写入重做日志文件的同时,还能够继续向缓存中写入新的数据。 写入时间:用户进程通过COMMIT语句提交当前事务。重做日志缓存被写满三分之一。 DBWn进程开始将脏缓存块写人数据文件。每隔3秒(发生超时),此时会启动LGWR。 27 八月 202273检查点进程(CKPT) 在指定时间让DBWn进程将所有SGA数据库缓存中修改过的数据写入到

31、数据文件,这个事件叫检查点。当检查点发生时,Oracle必须更新所有数据文件的头信息以记录检查点的详细信息。 执行检查点后所有已提交事务对数据库所做的更改全部写入硬盘,同时将对数据库控制文件和数据文件进行更新,以记录下当前的数据库结构的状态,此时数据库处于一个完整状态。 27 八月 202274系统监视进程(SMON) SMON在实例启动时负责对数据库进行崩溃恢复操作。如果上一次数据库是正常关闭的,当下一次启动实例时,SMON进程会自动读取重做日志文件,对数据库进行恢复,即将已提交的事务写入数据文件、回滚末提交的事务等操作。 SMON进程在实例运行期间会被定期地唤醒以检查是否有工作需要它来做。

32、27 八月 202275进程监视进程(PMON) 进程监视进程PMON负责对那些失败的用户进程或服务进程进行恢复,并且释放这些进程所占用的资源。 PMON进程还会定期地检查调度程序和服务进程的状态,如果它们失败,将会尝试重新启动它们,并释放它们所占用的各种资源。与SMON进程类似,PMON进程在实例运行期间会被定期地唤醒,检查是否有工作需要它来做。如果任何其他进程需要使用到PMON进程的功能,它们将随时唤醒PMON进程。 27 八月 202276恢复进程(RECO) 恢复进程RECO负责在分布式数据库环境中自动恢复那些失败的分布式事务。 如果将数据库配置为分布式事务处理,即将初始化参数 DIS

33、TRIBUTED_TRANSACTIONS的值设置为大于0,RECO进程会自动启动。 当分布式事务由于网络连接故障原因而失败时,RECO进程将尝试与事务相关的所有数据库进行联系,以完成对失败事务的处理工作。RECO进程一般不需要管理员进行干预,它会自动完成自己的任务。 27 八月 202277归档进程(ARCO) 当数据库运行在归档模式下时,归档进程ARCn负责在日志切换后将已经写满的重做日志文件复制到归档重做日志文件中,以防止写满的重做日志文路被覆盖。 只有数据库运行在归档模式时,ARCn进程才能被启动。 Oracle最多可以启动10个归档进程。从ARCO到ARC9。 27 八月 20227

34、8跟踪文件(Trace File) 每个服务进程和后台进程在运行过程中都可以将一些错误信息写入到相应的操作系统文件中,称为跟踪文件。当进程检测到一个错误时,进程就将错误信息写入到跟踪文件中。DBA检查错误用或ORACLE支持服务所用。 每个Oracle进程都有自己的跟踪文件。如,名称为StudentDBW0.TRC的跟踪文件。 位置:BACKGROUND_DEMP_DEST 默认位置: E:ORACLEADMINSTUDENTBDUMP。 27 八月 202279警告文件(Alert File) 警告文件是按时间顺序记录数据库实例的操作信息和错误信息。在需要写入警告文件时,Oracle实例会自

35、动查找是否存在已有的警告文件。如果存在,它继续写入该警告文件;如果不存在,它创建新的警告文件。 警告文件的名称是由数据SID加ALERT组成,如studentALERT.log。 位置是由BACKGROUND_DEMP_DEST初始化参数指定,默认位置为Oracle安装目录下的ADMIN数据库SIDBDUMP目录。 27 八月 202280小结Oracle数据库实例是由内存结构和数据库后台进程组成。SGA是所有进程可以共享的内存块。PGA是进程专用的内存块。UGA是存储用户会话信息的内存区。服务进程是Oracle数据库自身在服务器端创建,用于处理连接到实例中的用户进程所提出的请求;后台进程用来

36、完成实例恢复、写数据库、写重做日志到磁盘文件等功能。服务进程又分为专用服务进程和共享服务进程。后台进程有DBWn、LGWR、ARC0等,有的后台进程必须启动,而有的可在需要时启动。ADR是一个数据库外的文件结构,它存放跟踪文件、警告文件、诊断报告等内容,以后可根据故障号进行查询或故障分析。27 八月 202281第4章 Oracle网格结构与管理27 八月 202282 ORACLE网络服务组成 Oracle网络服务是管理、配置、监控和连接网络的一组网络组件,主要组成:Oracle NET监听程序(Listener)Oracle连接管理器(Oracle Connection Manager)网

37、络工具(Net Tools)Oracle高级安全管理。27 八月 202283ORACLE NET结构 Oracle 网络基础层利用TNS技术来负责建立和维护客户端和数据库服务器的连接和信息交换。 Oracle协议支持层将TNS功能映射为工业标准协议。Oracle 网络基础层利用Oracle协议支持层可为基于工业标准的以下协议通信:TCP/IP、具有SSL的TCP/IP、命名管道(Named Pipes)和SDP。27 八月 202284监听程序是位于服务器端的一个后台进程,它监听客户端的连接请求,并且负责对服务器端的连接负荷进行调整。监听程序通常与数据库服务器运行在同一台计算机上。监听程序2

38、7 八月 202285Oracle连接管理器Oracle连接管理器是一个运行在独立计算机中的软件组件,它与客户端和数据库服务器是分离的,它为数据库服务器的请求作代理,即将客户连接请求转发到下一网络或直接转发到数据库服务器。Oracle连接管理器可以实现多路会话、访问控制或协议转换的功能。27 八月 202286Oracle应用解决方案 1. 客户/服务器应用程序连接27 八月 2022872. WEB客户端应用程序连接Oracle应用解决方案 27 八月 202288 网络配置概念服务名(Service Name)或数据库服务名是数据库的逻辑表示,对于客户端来说就是数据库的存在方式。一个数据库

39、可以具有多个服务名,一个服务名也可以通过多个数据库实例来实现连接描述符是一个网络连接目标的格式描述字符串,它包括目标服务连接信息(即数据库服务名或数据库SID)和网络路由信息(即数据库监听的网络地址和端口号等)组成。 网络服务名(Net Service Name)是用来解释连接描述符的一个服务别名。用户可以使用用户名、口令和网络服务名来连接数据库服务器。连接字符串(Connect String)是指客户端在连接数据库时需要提供的信息所组成的字符串,这些信息包括用户名、口令以及连接标识符。连接标识符(Connect Identifier)可是网络服务名、数据库服务名或是存储在目录中的网络服务别名

40、。用户使用连接标识符建立连接。27 八月 202289 Oracle网络工具1. Oracle Enterprise Manager(OEM)OEM可以跨平台的对Oracle网络服务进程配置和管理。利用OEM可以配置监听程序、命名方法、Oracle主目录位置等。2. Oracle网络配置助手Oracle网络配置助手ONCA)是用来配置基本网络组件的工具。用它可以配置监听程序名、协议地址、客户端解析连接标识符的命名方法、TNSNAMES.ORA文件中的网络服务名和目录服务器用法等。3. Oracle网络管理器Oracle网络管理器把配置功能和组件控制功能组合在一起为配置和管理Oracle 网络服

41、务提供一个集成环境。 27 八月 202290监听程序的配置27 八月 202291客户端网络配置的主要任务就是为客户端选择所使用的命名方法,即建立连接标识符到连接描述符的映射关系,或者是定义网络服务名。客户端网络配置 27 八月 202292命名方法分类命名方法(Naming Method)是客户程序在连接数据库服务时,将连接标识符解析为连接描述符的一种机制。 本地命名方法是将网络服务名存储在本地计算机的tnsnames.ora的配置文件中,每个网络服务名对应着一个连接标识符与连接描述符的映射关系。客户端在本地就能够完成连接标识符到连接描述符的转换。目录命名方法是将每个客户的连接标识符到连接

42、描述符的映射信息存储在一个与LDAP兼容的目录服务器中 易用连接命名方法客户在连接时只需提供TCP/IP连接字符串,即主机名、端口号或服务名、用户名等信息即可直接连接数据库 外部命名方法利用支持命名方法的非Oracle名称服务器来存储连接标识符信息,这些服务器包括NIS 27 八月 202293命名方法的配置Oracle网络配置助手ONCA,在图4-11中选择【命名方法配置】,单击【下一步】按钮将出现如图4-16所示的界面 27 八月 202294 配置本地命名方法本地命名方法将连接标识符到连接描述符的映射关系保存在名称为tnsnames.ora的文本文件中。 ONCA,在图4-11中选择“本

43、地Net服务名配置” 27 八月 202295服务进程 服务进程是Oracle自身创建,用于处理连接到实例中的用户进程所提出的请求。Oracle通过创建服务进程为连接到数据库实例中的用户进程提供服务,用户进程总是通过服务进程与ORACLE进行通讯。服务进程主要完成如下任务: 解析并执行应用程序所提交的SQL语句。 从数据文件中读数据到SGA数据库缓存。 将数据返回给用户进程。 27 八月 202296专用服务器进程 专用服务进程操作模式中,Oracle为每一个连接到实例的用户进程启动一个专用的服务进程。一个专用服务进程仅为一个用户进程提供服务。专用服务进程之间是完全独立的,它们不需要共享数据。

44、在用户进程连接到实例的过程中,专用服务进程一直存在,不论用户进程是否活动,直到用户进程断开连接时专用服务进程才被终止。 专用服务进程模式下,用户进程数量与实例中的服务进程数量是一样的。27 八月 202297专用服务进程工作方式 适用于:数据库的类型为数据仓库或DSS;只有少数客户机并发连接数据库;建立持久的、长时间的请求27 八月 202298共享服务器进程Shared Server Process 在共享服务器进程模式下,Oracle在创建实例时启动指定数目的服务进程(由初始化参数决定),在一个调度进程的管理下,这些服务进程可以为任意数量的用户进程提供服务。每个共享服务器进程可以为多个用户

45、进程提供服务。减少每个连接要求的服务进程的数量。 使用资源省。 适用于:在联机事务处理(OLTP)环境中使用数据库、有大量用户需要连接到数据库、受系统内存的限制。27 八月 202299共享服务器进程的工作方式 27 八月 2022100小结Oracle网络服务是管理、配置、监控和连接网络的一组网络组件,主要由Oracle NET、监听程序、Oracle连接管理器、网络工具和Oracle高级安全管理组成。Oracle Net是安装在客户端和服务器端的软件层,它负责建立和维护客户应用与服务器之间的连接,并按照标准协议在它们之间交换信息。监听程序是位于服务器端的一个后台进程,它监听客户端的连接请求

46、,并且负责对服务器端的连接负荷进行调整。在Oracle应用方案中,需要利用网络工具在服务器端配置监听程序,在客户端配置不同命名方法,服务名、连接描述符、连接标识符都是在配置客户端时用来标识连接目标的不同方式。 27 八月 2022101第5章 SQL工具与SQL语言基础27 八月 2022102SQL语言 主要内容:SQL Plus工具SQL语言27 八月 2022103SQL Plus可以处理SQL语句和PL/SQL块,使用SQL Plus可以完成:输入、编辑、存储、恢复和运行SQL语句和PL/SQL块。以报表的形式对查询结果进行格式化、计算、存储和打印。显示表等模式对象的列定义。在数据库之

47、间访问和复制数据。 完成数据库管理。SQL Plus工具27 八月 2022104SQL Plus工具启动和退出 SQL Plus可以通过开始菜单中的程序、Oracle-OracleHome、Application Development、SQL Plus来完成(或运行SQLPLUSW),提示的对话框要求输入用户名、口令或主机字符串。 退出:EXIT或者在命令行:C:SQLPLUSW /NOLOG SQLCONNECT 用户名/口令 网络服务名;C:SQLPLUS /NOLOG SQLCONNECT 用户名/口令 网络服务名; 27 八月 2022105SQL Plus概念命令是指在用户给SQ

48、L Plus或 Oracle数据库发的指令。在SQL Plus提示符可以三种命令:访问和处理数据库信息的SQL命令;访问和处理数据库信息的PL/SQL块;SQL Plus命令,用于对查询结果格式化、设置参数、编辑与存储SQL命令和PL/SQL块。 SQL缓冲区是指存储最后输入的SQL命令或PL/SQL块的内存区域。SQL Plus命令没有缓冲区。 27 八月 2022106SQL Plus命令在SQL Plus提示符下输入的各种命令,可以在行尾以分号“;”表示命令结束。如果一个命令占多行,只需在每行行尾按回车,在最后一个空白行输入“/”或“;”表示命令结束。 SQLSELECT SYSDATE

49、 FROM DUAL;SQLSELECT employee_id,first_name, 2 last_name FROM hr.employees 3 WHERE email is not null -或在此输入分号“;” 4 / - 或在此输入分号;27 八月 2022107RUN 或或R运行SQL缓冲区的命令。edit 文件名以指定的文本编辑程序编辑SQL缓冲区或指定文件名,缺省时编辑程序为记事本。 SAVE 文件名CRATE|REPLACE|APPENDGET 文件名 (缺省扩展名SQL) 文件名 运行PL/SQL文件CLEAR BUFFER|SCRREN清除SQL缓冲区或屏幕SQL

50、Plus命令27 八月 2022108SQL Plus命令EXECUTE PL/SQL语句,是存储过程SPOOL 文件名 out 显示结果存文件 SPOOL AA 显示结果存到AA.LST文件(OFF) SPOOL OUT 停止假解脱机,打印DESC 表名|视图名|过程|函数 显示定义 DESC EMPLOYEES;27 八月 2022109HOST 命令 在SQL Plus中执行操作系统命令或暂时退出SQL Plus而回到操作系统提示符下。从SQL Plus中返回到WINDOWS命令提示符下。SQLHOST;SQLHOST DIR; PASSWORD 用户名改变当前数据库用户或指定用户的口令

51、。 SQL password更改HR的口令旧口令: *新口令: *重新键入新口令:* SQL Plus命令27 八月 2022110SHOW ALL|SGA|ERRORS|USER|SPOOL显示所有的环境变量的值其它对象的定义SHOW ALL 显示所有环境变量的当前值SHOW USER显示当前数据库用户。SHOW SGA 显示数据库实例中SGA大小SHOW SPOOL 显示SQLPlus是否假脱机SHOW ERRORS 显示存储对象中的错误Connect 用户名/口令网络服务名 AS SYSDBA|SYSOPER断开当前的用户连接,用新用户连接新的服务DISCONNECT;SQL Plus命

52、令27 八月 2022111SQL语言为程序员、数据库管理员和终端用户提供了许多访问数据库的命令。用SQL命令可以完成:查询数据库中的各类数据。插入、更新、册除表中的行。建立、替换、改变和删除数据库中的对象控制对数据库及其数据库对象的访问权限保证数据的一致性。关系数据库都支持SQL语句,用SQL语言写的程序是可移植的。SQL语言27 八月 2022112SQL语言的数据类型 一、字符类型字符类型是指单引号括起来的若干字符组成 CHAR(N) 为N的字符串,N=12000字节 VARCHAR2(n) 变长字符串,14000字节 LONG(n) 变长字符串,n=1B2GB。LONG可以在SELEC

53、T中、UPDATE的SET中或INSERT的VALUES中。LONG的限制:表中只一个LONG,不能在WHERE条件中,不能索引,不能在GROUP BY、ORDER BY子句中,函数中不能返回LONG类型的值。27 八月 2022113SQL语言的数据类型 二、 数字类型(10(-130) 9.99 * 10(125) ) NUMBER(p,s) p-总位数,s-小数点后 NUMBER(n) 等价于NUMBER(n,0) NUMBER 是指最大值到最小值 如果值超出P,出错;如果精度超出S,截断。负精度S,表示取整后面S个整,去掉小数部分。27 八月 2022114SQL语言的数据类型 三、

54、日期数据类型日期类型分域:YEAR(-47129999),月日时分秒。日期类型存储有日期和时间。默认:DD-MON-YYSQL select date 1999-12-10 from dual;DATE1999-10-12月-9927 八月 2022115NLS_DATE_FORMAT来限定日期格式SQL alter session set NLS_DATE_FORMAT = YYYY-MON-DD HH24:MI:SS;会话已更改。SQL select sysdate from dual;SYSDATE-2002-10月-06 08:38:42SQL语言的数据类型 27 八月 2022116

55、SQL语言的数据类型 Oracle中的LOB用来存储大的非结构化的数据,如格式文本、图像、视频、音频、空间数据等,这些数据类型的最大值可达4GB。1. BLOB类型 无字符集的二进制位流。SQL语句可以对它进行修改,支持事务提交和回滚,不能出现在SELECT命令中。 4GB2. CLOB类型存放单字节和多字节字符数据。支持定长或变长字符集。提交与回滚。用SQL命令修改。 4GB27 八月 2022117SQL语言的数据类型 3. BFILE数据类型是访问存储在数据库之外的文件,只能查询或读,不能写。BFILE字段存文件的位置。4GB。BFILE的文件名和目录名用BFILENAME改变。BFIL

56、E不参入事务处理,也不可恢复。4. LOB时注意在ORDER BY或GROUP BY子句中不能用LOB列,不能将LOB存储在自动管理表空间;LOB不能作为主键;不能作索引。27 八月 2022118SQL中的运算符数字运算符: +、-、*、/ 字符运算符: |比较运算符:=、!= 、 、 、= 逻辑运算符:NOT 、AND 、OR集合运算符:UNION 两个语句返回的合并,不含重复UNION ALL 同UNION,但包括重复行。INTERSECT 两个查询语句中相同的行。MINUS 在第一个查询中但不在第二个中27 八月 2022119SQL中的条件ANY/SOME(列表或子查询)将一个值与列

57、表中或查询结果中的每个值进行比较,如果列表中没有一个满足条件时返回FALSE,否则返回TRUE。在ANY或SOME的前必须有比较运算符。ORALL(列表或子查询):将一个值与列表中或查询结果中的每个值进行比较,如果列表中所有都满足条件时返回TRUE,否则返回FALSE。它的前面必须有=、!=、=比较运算符。 27 八月 2022120SQL SELECT first_name,salary FROM employees2* WHERE first_name=SOME(Shelley,Hermann,William)FIRST_NAME SALARY- -William 8510Hermann

58、26110Shelley 28010William 9410SQL SELECT first_name,salary FROM employees 2* WHERE salary=ALL(10000,5000,30000)FIRST_NAME SALARY- -Steven 40010Neena 33010Lex 33010John 30010SQL中的条件27 八月 2022121SQL中的条件exp1 IN 表达式表或查询结果如果exp1与表达式表或查询结果中的任何一个值相等时,返回TRUE;否则返回FALSE。等价于=SOME(列表)。 exp1 BETWEEN exp2 AND exp

59、3 如果exp1的值大于或等于exp2并且exp1的值小于或等于exp3时,返回TRUE,否则返回FALSE。 27 八月 2022122SQL select first_name,salary From employees 2* where salary in (27010,26110,30100)FIRST_NAME SALARY- -Den 27010Gerald 27010Peter 26110Janette 26110Harrison 26110Ellen 27010Hermann 26110SQL select first_name,salary From employees 2*

60、 where salary between 10000 and 20000SQL中的条件27 八月 2022123EXISTS (子查询)如果子查询至少返回一行,其结果为TRUE,否则结果为FALSE。expC_1 LIKE expC_2如果字符表达式expC_1与expC_2相匹配,即是子串,则返回TRUE,否则返回FALSEExpC_2是匹配模板表达式,可以包括或-。匹配零个或任何多个字符。“-”只匹配一个字符。通常用它们进行模糊查询。 SQL中的条件27 八月 2022124SQL中的条件SQL select first_name,salary From employees 2* whe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论