Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构

上传人:s9****2 文档编号:570014896 上传时间:2024-08-01 格式:PPT 页数:53 大小:1.07MB
返回 下载 相关 举报
Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构_第1页
第1页 / 共53页
Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构_第2页
第2页 / 共53页
Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构_第3页
第3页 / 共53页
Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构_第4页
第4页 / 共53页
Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构》由会员分享,可在线阅读,更多相关《Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构(53页珍藏版)》请在金锄头文库上搜索。

1、Oracle 数据库管理与应用数据库管理与应用第第第第22章章章章 OracleOracle数据库的体系结构数据库的体系结构数据库的体系结构数据库的体系结构 本章要点数据库的物理存储结构数据库的物理存储结构 12数据库的实例结构数据库的实例结构 3 3Oracle网络配置网络配置4 4数据库的逻辑存储结构数据库的逻辑存储结构 v常用SQL*PLUS命令:Set linesize 120 设置行宽Set pagesize 40 设置每页的行数Show linesize 查看参数linesize的值Clear screen 清屏幕Desc 表名 查看表的结构Column file_name for

2、mat A70 设置列宽70个字符 v注:退出SQL*PLUS后,参数值还原环境变量设置 见教材P1092.1 物理存储结构物理存储结构 v物理存储结构物理存储结构 是是Oracle数据库的外部存储数据库的外部存储结构。结构。 vOracle数据库主要包括4种类型的文件:数据文件数据文件日志文件日志文件控制文件控制文件初始化参数文件初始化参数文件2.1.1 数据文件数据文件 v数据文件是Oracle数据库用来存储各种数据的地方,如表中的记录、索引数据、系统数据和临时数据等。 v一个数据库有一个或多个数据文件,但一个数据文件只能属于一个数据库。 v数据文件中存储了各种系统和用户的数据,数据文件中

3、存储了各种系统和用户的数据,但它和数据库中的表没有一对一的关系。但它和数据库中的表没有一对一的关系。 v数据文件的扩展名是.dbf,主要包括永久数据文件和临时数据文件。 v可以通过以下方式查看: ( column file_name format A70 )静态数据字典视图: DBA_DATA_FILES 和 DBA_TEMP_FILES动态数据字典视图 v$dbfile 和 v$tempfileOEM工具 中的“管理”选项卡在“存储”选项组中点击“数据文件” v数据文件又可以分为以下几种:系统数据文件:系统数据文件:system*.dbf(存放系统表和数据字典)回滚数据文件:回滚数据文件:u

4、ndotbs*.dbf临时数据文件:临时数据文件:temp*.dbf用户数据文件:用户数据文件:users*.dbf系统辅助数据文件:系统辅助数据文件:sysaux*.dbf示例数据文件:示例数据文件:example*.dbf2.1.2 日志文件日志文件 v日志文件记录用户对数据库的修改信息,名字通常为REDO*.LOG格式。 日志文件日志文件也叫重做日志文件 (Redo Log Files)。 日志组日志组是日志文件的逻辑组织单元,每个日志组中有一个或多个日志文件。 同一个日志组中的多个日志文件具有相同相同的信息,它们是镜像关系 2.1.2 日志文件日志文件 l重做日志组重做日志组每个日志组

5、中有一个或多个重做日志文件,这些文件称为成员成员。一个重做日志组中的所有成员是完全相同完全相同的,它们互为镜像。两种日志模式两种日志模式v在Oracle中,数据库有两种工作模式:归档日志模式(归档日志模式(archivelog):适用于系统投入使用后 当日志组写满后,将日志信息保存到归档日志文件中,然后再循环使用。非归档日志模式(非归档日志模式(noarchivelog):适用于开发环境和测试环境中 日志组写满后不会归档到归档日志文件中,直接被新的日志信息覆盖。查看数据库当前的日志模式查看数据库当前的日志模式v以SYSDBA身份登录到SQL*Plus工具v执行 ARCHIVE LOG LIST

6、 命令 ,查看数据库当前的日志模式v如图2-3所示。修改数据库的日志模式修改数据库的日志模式v执行ALTER DATABASE ARCHIVELOG | NOARCHIVELOG命令 修改数据库的日志模式。具体步骤如下:1)关闭运行的数据库实例 2)备份数据库(可选 )3)启动数据库实例到mount状态(不打开数据库 )4)修改数据库的日志模式 5)打开数据库 6)查看数据库当前的日志模式 修改数据库的日志模式修改数据库的日志模式v修改数据库的日志模式:以sysdba身份登录SQL*Plus。v具体步骤(命令)如下:1)shutdown immediate2)备份数据库(可选 )3)start

7、up mount4)ALTER DATABASE ARCHIVELOG; 5)ALTER DATABASE open;6)ARCHIVE LOG LISTv查看日志组的相关信息:在SQL*Plus工具中查询数据字典视图: select group#,members,bytes,status from V$LOG;查看日志文件信息使用查看日志文件信息使用v$logfile在OEM工具的重做日志组中查看 : OEM工具点击“管理”选项卡在“存储”选项组中点击“重做日志组” 2.1.3 控制文件控制文件 v控制文件(Control File)是Oracle数据库的物理文件之一,是一个很小的二进制文件

8、,它记录了:数据库的名称数据文件和联机日志文件的名称及位置当前的日志序列号(Log Sequence Number)表空间等信息 v对于Oracle数据库来说:数据文件就像一个仓库;重作日志文件就像该仓库的货物进出账;控制文件就像该仓库的管理中心,记录着整个数据库的结构。v所以,当数据库的物理结构改变时,Oracle会自动更新控制文件。 v数据库启动时,各个物理文件使用的顺序:首先从初始化参数文件中获得控制文件的名称及位置,然后打开控制文件。再从控制文件中读取数据文件和联机日志文件的信息及其他相关信息。最后打开数据库 。如果控制文件损坏,数据库无法启动。因此,一般采用多路镜像多路镜像控制文件。

9、v查看控制文件的信息:查询数据字典视图: select name from v$controlfile;OEM工具点击“管理”选项卡在“存储”选项组中点击“控制文件” 2.1.4 参数文件参数文件 v参数文件中记录着:数据库名称控制文件的路径SGA的内存结构可选的Oracle特性和后台进程的配置参数等信息。 v启动数据库实例启动数据库实例时需要读取参数文件参数文件中的信息,因此它是第一个第一个被访问被访问的物理文件。v参数文件分为:文本参数文件(pfile)服务器参数文件(spfile)有以下几点区别: 名称及路径不同 编辑方式不同 修改后的生效时限不同 启动次序spfile优先于pfile查

10、看初始化参数文件:Show parameter spfile; 文本格式,重启才能生效二进制格式,可以指定立即生效文本格式,重启才能生效二进制格式,可以指定立即生效文本格式,重启才能生效二进制格式,可以指定立即生效2.2 逻辑存储结构逻辑存储结构 v逻辑存储单元依次为:表空间、段、盘区和数据块。 表空间表空间是最大的逻辑存储单元,一个数据库从逻辑结构上划分就包括多个表空间;一个表空间继续划分为多个段段;一个段又被划分为多个盘区盘区,盘区是最小的磁最小的磁盘空间分配单元;盘空间分配单元;一个盘区又被划分为多个数据块数据块,数据块是Oracle最小的数据读写单元。最小的数据读写单元。 2.2 逻辑

11、存储结构逻辑存储结构 2.2.1 表空间表空间 v表空间(tablespace)是Oracle数据库中最大的逻辑存储结构 。v逻辑结构上的表空间表空间与物理结构上的数据文件数据文件是有关联的:数据库中的一个表空间至少包含一个或多个数据文件,而一个数据文件只能属于一个表空间。 一个表空间的大小就等于它包含的所有数据文件大小之和。 v表空间、数据文件和方案对象的存储结构表空间、数据文件和方案对象的存储结构 表空间数据文件数据文件用户表(方案对象)索引用户表用户表索引v对于新建的数据库,系统自动添加了:system表空间:默认包括system01.dbf数据文件sysaux表空间:系统辅助表空间te

12、mp表空间users表空间undotbs1表空间 默认包括对应数据文件。v可以通过三种方式增加数据库的容量:可以通过三种方式增加数据库的容量: v为表空间创建新的数据文件。为表空间创建新的数据文件。v为数据库创建新的表空间。为数据库创建新的表空间。 v增大现有数据文件的容量。增大现有数据文件的容量。 vOEM工具:工具:管理管理-存储存储-表空间表空间-(列表右上方)创建(列表右上方)创建-填写名称,添加数据文件填写名称,添加数据文件2.2.2 段段 v一个表空间可以被划分为若干个段(segment),一个段又可以被划分为若干个盘区。段虽然不是存储空间的分配单位,但系统会为每一个被存储的方案对

13、象分配一个段。(段和方案对象一一对应)(段和方案对象一一对应) 一个表空间中有几个表就有几一个表空间中有几个表就有几个数据段,而且数据段的名字和表名相同。个数据段,而且数据段的名字和表名相同。段(segment)是以盘区为单位获得磁盘空间的一个段内的盘区在磁盘上不一定是连续的。 v段可以分为以下几种类型: 数据段 索引段 临时段 回滚段 LOB段 2.2.3 盘区盘区 v盘区(extent)是逻辑存储结构中的一个重要概念,因为它是Oracle最小的磁盘空间分配单元。 当用户创建新表时,Oracle会为此表的数据段分配一个初始盘区。 创建表时可以指定为其数据段分配多少初始空间、最多包含多少盘区、

14、盘区的增长量等(CREATE TABLE 语句的STORGE选项) 2.2.4 数据块数据块 v数据块是Oracle最小的逻辑存储单元,是最基本的数据存取单位。Oracle从数据文件中存取数据时以数据块为单位进行输入输出操作。 v一个数据块包括数据库中多个字节的物理空间,其默认大小由该数据库的参数文件中的db_block_size值指定 。v数据块中可以存储表(table)、索引(index)或簇表(clustered data),但其内部结构都是类似的,如图2-11所示,主要包括:数据块头数据块头表目录区表目录区行目录区行目录区可用空间区可用空间区行数据区行数据区2.3 数据库实例结构数据库

15、实例结构 v一个完整的Oracle数据库包括两个部分:数据库和数据库实例。数据库数据库是存储数据的多个物理文件物理文件的集合 ,它是静态的、永久的静态的、永久的。数据库实例数据库实例是用户访问数据库的中间层,是使用数据库的手段,它为用户访问数据库提供了必要的内存空间内存空间和多个Oracle进程进程,它是动态动态的、临时的的、临时的。 v因此,因此,OracleOracle实例是由内存空间和实例是由内存空间和Oracle Oracle 进程两部分组成。进程两部分组成。 DatabaseInstanceSGARedo logbufferData buffercacheShared poolDat

16、a dict.cacheLibrarycache PMON DBW0SMON LGWRCKPTOthersUserprocessServerprocessPGAControl filesData files Redo logfilesArchived log filesParameterfilePasswordfileOracleOracle构架构架构架构架2.3.1 进程结构进程结构 v进程进程是操作系统的基本执行单元,它是具有独立数据处理功能的正在执行的程序正在执行的程序,是一系列操作的集合,有时也被称为作业(job)或任务(task)。vOracle系统的进程包括三种类型:用户进程服务进

17、程后台进程v1用户进程(user process)用户在客户端运行一个应用程序或 Oracle 工具(如OEM或 SQL*Plus)时,系统将为该用户创建一个用户进程。 用户进程负责与Oracle服务器建立连接和会话并向服务器发出数据处理请求,得到处理结果后再输出给用户。 Oracle允许为一个用户同时创建多个会话 。v2服务进程(server process) Oracle为用户进程创建一个服务进程或分配一个空闲的服务进程。 服务进程负责在用户进程和Oracle实例之间调度请求和响应,主要完成:解析与运行应用程序提交的解析与运行应用程序提交的SQL语句;语句;数据处理时用到的数据如果不在数据

18、处理时用到的数据如果不在SGA 中,负责将所需的数中,负责将所需的数据块从磁盘上的数据文件读入据块从磁盘上的数据文件读入SGA 的数据缓存区;的数据缓存区;以用户进程能理解的形式返回以用户进程能理解的形式返回SQL 语句的执行结果语句的执行结果。 v用户进程和服务进程之间的对应关系是由Oracle数据库的工作模式决定的。数据库通常有两种工作模式:专用服务器模式共享服务器模式 v3后台进程(background process) Oracle实例启动时,为了保证该实例的正常使用,系统将为该实例启动一些后台进程。这些后台进程是操作数据库的基础,不管有没有用户连接数据库,这些进程都会被启动。 v常见

19、的后台进程包括(8种):数据写进程数据写进程:DBWn ,将数据缓冲区内修改过的数据(脏数据)写入数据文件。 日志写进程日志写进程 :LGWR,将重做日志缓冲区内的日志信息写入磁盘上的日志文件。 检查点进程检查点进程 :CKPT,负责更新所有控制文件和数据文件的文件头来记录检查点事件的详细信息。 系统监控进程系统监控进程 :SMON,负责在数据库实例启动时进行数据库的恢复操作。 v常见的后台进程包括(续) :进程监控进程进程监控进程: PMON,负责监视用户进程,当发现某个用户进程失败后,负责释放该用户进程占用的资源。 归档进程归档进程 :ARCn,在发生日志切换时将重做日志文件中的日志条目复

20、制到指定的归档日志设备中。 恢复进程恢复进程 :RECO,是在分布式数据库系统中自动解决分布式事务错误的后台进程。只有数据库实例允许分布式事务时才会启动该进程。 调度进程调度进程 :Dnnn,是当数据库运行在共享服务器模式下需要的一个后台进程 。DatabaseInstanceSGARedo logbufferData buffercacheShared poolData dict.cacheLibrarycache PMON DBW0SMON LGWRCKPTOthersUserprocessServerprocessPGAControl filesData files Redo logfi

21、lesArchived log filesParameterfilePasswordfileOracle构架构架2.3.2 内存结构内存结构 v数据库实例被启动后,系统将分配若干个内存区域来存储运行时需要的各种信息:如程序代码、连接的会话信息、进程间共享的通信信息、常用数据和日志的缓存等。vOracle 中的基本内存结构包括:系统全局区(系统全局区(System Global Area,SGA)程序全局区(程序全局区(Program Global Areas,PGA)v1系统全局区SGA数据缓存区数据缓存区(database buffer cache) :最近使用过的数据 。待写列表、最近最少

22、使用列表待写列表、最近最少使用列表LRU重做日志缓冲区重做日志缓冲区(redo log buffer) :记录了用户对数据库执行的操作,被循环使用 。共享池共享池(shared pool) :包含了库缓存区(library cache)、数据字典缓存区(dictionary cache)、并行执行消息缓冲区(buffers for parallel execution messages),以及用于系统控制的各种内存结构。 Java 池池(Java pool) :用来存储会话中执行的Java代码和JVM内的数据 。大型池大型池(large pool) :供一次性分配大量内存空间时使用。 Orac

23、le实例Background process structuresMemory structuresInstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabaseBuffer CacheJava PoolLarge Poolv2程序全局区PGA v每个服务进程存储自己的数据,包括:私有私有 SQL 区区 :包含了SQL语句的绑定信息及运行时的内存结构等数据。 游标及游标及 SQL 区区 会话内存会话内存 :存储连接数据库用户的当前会话信息 vOracle

24、实例结构图实例结构图 2.4 Oracle网络配置网络配置 vOracle客户端对远程数据库服务器进行网络连接时:在客户端需要指定验证方式、连接字符串的解析方式、连接字符串的定义等;在服务器端需要配置监听程序,确保能够接收客户端的连接请求 。v完成以上网络连接主要使用三个文件:完成以上网络连接主要使用三个文件:服务器端:服务器端:listener.ora文件文件客户端:客户端:tnsnames.ora文件和文件和sqlnet.ora 位于位于%ORACLE_HOME%networkadmin目录目录%ORACLE_HOME% = D:oracleproduct10.2.0db_12.4.1 客

25、户端配置客户端配置 v1sqlnet.ora文件 用于指定数据库连接账号的验证方式以及连接字符串的解析方式 。v该文件中的主要内容包括以下两个语句: SQLNET.AUTHENTICATION_SERVICES = (NONE , NTS) 该语句表示用户连接服务器时使用哪种验证方式:NONE表示Oracle数据库身份验证NTS表示操作系统身份验证:SQLPLUS / as sysdba 命令中省略了连接账号两种方式可以并用NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME, ONAMES, EZCONNECT) 该语句指定连接字符串的解析方式,参数意义如下: TN

26、SNAMES:表示利用tnsnames.ora文件来解析命令中的连接字符串。HOSTNAME:表示:使用host文件、DNS、NIS(网络信息服务器)等解析。ONAMES:表示Oracle使用自己的名称服务器(Oracle Name Server)来解析。EZCONNECT:表示Oracle的简单连接命名方法 ,不需要事先定义连接字符串,而是直接在命令中指直接在命令中指定定要连接的主机名、端口号、数据库实例等信息。 v2tnsnames.ora文件 用来定义客户端连接远程服务器时的主机字符串。只有sqlnet.ora文件中定义NAMES.DIRECTORY_PATH= (TNSNAMES) 时

27、,tnsnames.ora才起作用。 v该文件的具体内容详见教材P56。2.4.2 服务器端配置服务器端配置 vlistener.ora文件作用于Oracle数据库服务器端,是Oracle监听服务的配置文件。 若该文件被破坏,将影响监听服务的正常使用 。v该文件中主要定义了监听器的名字、网络协议、该文件中主要定义了监听器的名字、网络协议、服务器主机名或服务器主机名或IPIP地址、数据库的端口号等信地址、数据库的端口号等信息。息。 实验练习题实验练习题v实验名称: Oracle数据库的体系结构v实验目的:教材P57-1v实验内容:教材P57-1,2,v 教材P57-习题 一、填空题 v注意:实验内容第1题中,要求查看的物理文件包括:数据文件、日志组、控制文件。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号