T1oracle体系结构.ppt_第1页
T1oracle体系结构.ppt_第2页
T1oracle体系结构.ppt_第3页
T1oracle体系结构.ppt_第4页
T1oracle体系结构.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

第一课 体系结构,作者:吴进,学习目标,数据库简介,实现数据库管理的软件叫DBMS (1)RDBMS(关系型数据库) (2)ORDBMS(对象型关系数据库) 在原来的RDBMS的基础上加入了对象的概念,如现在的Oracles 10g。 Oracle 10g不是一个简单的数据库软件,它是一个平台,如:JAVA开发和.NET开发,1、对内存的最低要求是256M,推荐为512M 2、选择基本安装进行傻瓜式安装,Oracle 10g安装,Oracle 10g的服务,启动Server: 几个主要的服务: OracleServicexxx(SID) (必开) Oracle服务器服务进程的 开启 / 关闭。 OracleOraDb10g_home1TNSListener (必开) Oracle网络服务监听程序服务,当需通过网络连接Oracle服务器或访问Oracle Enterprise Manager 10g时需启动。,Oracle Server的启动,启动Server: 几个主要的服务: OracleOraDb10g_home1iSQL*Plus 运行iSQL*Plus工具时需开启的服务 OracleDBConsoleorcl1 访问Oracle Enterprise Manager 时需开启的服务,Oracle Server的启动,Enteprise Manager 10g Database Control URL: http:/computer:5500/em iSQL*Plus URL: http:/computer:5560/isqlplus,Oracle10g的B/S工具,SQL*Plus 在Oracle安装的路径下可以找到该工具 登陆界面如下:,客户端连接工具(单机版),iSQL*Plus 首先要启动服务 然后在浏览器里输入 http:/localhost:5560/isqlplus 进入登陆页面,客户端连接工具(浏览器版),Dos 窗口操作Oracle 从开始 点击 运行,客户端连接工具(DOS版),在Dos窗口里输入 sqlplus name/pass,如下图所示:,客户端连接工具(DOS版),该工具的登陆界面如下,客户端连接工具(第三方版),Oracle 实例,在启动数据库时,Oracle首先要在内存中获取、划分、保留各种用途的区域,运行各种用途的后台进程,即创建一个例程(instance),然后再由该例程装载(mount),打开(open)数据库,最后由这个例程来访问和控制数据库的各种物理结构。 当用户连接到数据库并使用数据库时,实际上是连接到该数据库的例程,通过例程来连接,使用数据库。所以,例程是用户和数据库之间的中间层。 一台计算机上可以创建多个Oracle数据库,当同时要使用这些数据库时,就要创建多个例程。为了不使这些例程相混淆,每个例程都要用称为SID(SystemIDentify,系统标识符)的符号来区分,即创建这些数据库时填写的数据库SID。,内存结构,内存结构是Oracle数据库体系结构中最为重要的一部分,内存也是影响数据库性能的第一因素。内存的大小,速度直接影响数据库的运行速度。特别是当用户数增加时,如果内存不足,例程分配不到足够的内存,就会使有些用户连接不到数据库,或连接,查询的速度明显下降。,内存结构,1、SGA(系统全局区):随着数据库实例的启动向操作系统申请分配一块内存结构,又会随着数据库实例的关闭而释放,每一个ORACLE数据库实例有且仅有一个SGA。 2、PGA(程序全局区):用于保存每一个用户连接到数据库的信息。,SGA,主要由五部分组成: (1)共享池(Shared Pool) (2)数据库高速缓存(Database Buffer Cache) (3)重做日志缓存(Redo Log Buffer Cache) (4)Java池(Java Pool) (5)大池(Lager Pool),共享池是SGA中最关键的内存片段,特别是在性能和可伸缩性上。一个太小的共享池会扼杀性能,使系统停止,太大的共享池也会有同样的效果,将会消耗大量的CPU来管理这个共享池。不正确的使用共享池只会带来灾难。共享池主要又可以分为以下两个部分: SQL语句缓冲(Library Cache) 数据字典缓冲区(Data Dictionary Cache),共享池,当一个用户提交一个SQL语句,Oracle会将这句SQL进行分析(parse),这个过程类似于编译,会耗费相对较多的时间。在分析完这个SQL,Oracle会把他的分析结果给保存在Shared pool的Library Cache中,当数据库第二次执行该SQL时,Oracle自动跳过这个分析过程,从而减少了系统运行的时间。这也是为什么第一次运行的SQL 比第二次运行的SQL要慢一点的原因。,SQL语句缓冲(Library Cache),数据字典缓冲区是ORACLE特地为数据字典准备的一块缓冲池,供ORACLE内部使用。,数据字典缓冲区(Data Dictionary Cache),数据库高速缓存,这些缓冲是对应所有数据文件中的一些被使用到的数据块。让他们能够在内存中进行操作。任何文件的数据块都有可能被缓冲。数据库的任何修改都在该缓冲里完成,并由DBWR进程将修改后的数据写入磁盘。,重做日志缓存,重做日志文件的缓冲区,对数据库的任何修改都按顺序被记录在该缓冲,然后由LGWR进程将它写入磁盘。这些修改信息可能是DML语句,如(Insert,Update,Delete),或DDL语句,如(Create,Alter,Drop等)。 重做日志缓冲区的存在是因为内存到内存的操作比较内存到硬盘的速度快很多,所以重作日志缓冲区可以加快数据库的操作速度,但是考虑的数据库的一致性与可恢复性,数据在重做日志缓冲区中的滞留时间不会很长。所以重作日志缓冲区一般都很小,大于3M之后的重作日志缓冲区已经没有太大的实际意义。,JAVA池,Java 的程序区,Oracle 8I 以后,Oracle 在内核中加入了对Java的支持。该程序缓冲区就是为Java 程序保留的。如果不用Java程序没有必要改变该缓冲区的默认大小。,大池,需要大内存的操作: 1、数据库备份和恢复 2、具有大量排序操作的SQL语句,PGA,保存每一个用户连接到数据库的信息,包括:会话信息、排序信息和游标信息。分为: 排序区、 会话区、 游标区、 堆栈区,进程结构,用户进程 启动客户端连接创建一个用户进程 Oracle进程 服务进程 解析并执行用户所提交的SQL语句 搜索SGA区的数据库缓存,决定何时读取数据文件 将查询或执行后形成的数据返回给用户 后台进程,后台进程,1、写数据DatabaseWriter(DBWR) 2、写日志LogWriter(LGWR) 3、检查点Checkpoint(CKPT) 4、系统监视SystemMonitor(SMON) 5、进程监视ProcessesMonitor(PMON) 6、归档Archive(ARCn) 7、恢复Recover(RECO) 8、锁管理服务LockManagerServer(LMS) 9、队列监视QueueMonitor(QMNn) 10、调度Dispatcher(Dnnn) 11、服务Server(Snnn),写数据(DBWR),将修改过的数据缓冲区的数据写入对应数据文件 DBWR是一个很底层的工作进程,它批量的把缓冲区的数据写入磁盘。 DBWR工作的主要条件如下 超时 系统中没有多的空缓冲区用来存放数据 CKPT 进程触发DBWR 等,写日志(LGWR),将重做日志缓冲区的数据写入重做日志文件,LGWR是一个必须和前台用户进程通信的进程。当数据被修改的时候,系统会产生一个重做日志并记录在重做日志缓冲区内。 LGWR 工作的主要条件如下 用户提交 有1/3 重做日志缓冲区未被写入磁盘 有大于1M 重做日志缓冲区未被写入磁盘 超时等,检查点进程(CKPT),同步数据文件,日志文件和控制文件,由于DBWR/LGWR的工作原理,造成了数据文件,日志文件,控制文件的不一至,这就需要CKPT进程来同步。 CKPT工作的主要条件如下 在日志切换的时候 数据库用immediate ,transaction , normal 选项shutdown 数据库的时候 根据初始化文件的LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET 的设置的数值来确定 用户触发,系统监视进程(SMON),工作主要包含 清除临时空间 在系统启动时,完成系统实例恢复 聚结空闲空间 从不可用的文件中恢复事务的活动等,进程监视进程(PMON),主要用于清除失效的用户进程,释放用户进程所用的资源。如PMON将回滚未提交的工作,释放锁,释放分配给失败进程的SGA资源。,归档进程(ARCH),在归档模式下才生效 当数据库以归档方式运行的时候,Oracle会启动ARCH进程,当重做日志文件被写满时,日志文件进行切换,旧的重做日志文件就被ARCH进程复制到db_recovery_file_dest指定的目录下。这些被复制的重做日志文件被叫做归档日志文件。 可以使用ARCHIVE LOG LIST 和show parameter DB_RECOVERY_FILE_DEST 查看归档位置,恢复进程(RECO),在分布式运行时生效(数据复制)。 一个结点RECO后台进程自动地连接到包含有悬而未决的分布式事务的其它数据库中,RECO自动地解决所有的悬而不决的事务。任何相应于已处理的悬而不决的事务的行将从每一个数据库的悬挂事务表中删去。 当一数据库服务器的RECO后台进程试图建立同一远程服务器的通信,如果远程服务器是不可用或者网络连接不能建立时,RECO自动地在一个时间间隔之后再次连接。,Oracle实例的总体结构,什么是Oracle归档模式,如果数据库处于非归档模式,联机日志在切换时就会丢弃。而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。 比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。 只有在归档模式下才能进行重做日志的备份。,1、进入DOS,启动sqlplus “/ as sysdba“ 2、shutdown immediate 关闭数据库 3、startup mount 启动数据库到装载状态 4、alter database archivelog; 进入归档模式 5、alter database open; 打开数据库 也可以修改初始化参数实现归档模式 log_archive_start = true 去除归档模式,要先关闭数据库,再用指令 alter database noarchivelog; - 进入非归档模式 select status from v$instance; - 查数据库状态 select log_mode from v$database; - 查看数据库模式,如何进入归档模式,存储结构,1、逻辑结构 数据库表空间段区块 2、物理结构(包括数据文件、控制文件、日志文件、参数文件、数据字典),存储结构,逻辑存储结构-表空间(tablespace),表空间是最大的逻辑单位,一个数据库可以有多个表空间,一个表空间可以包含多个数据文件(一个数据文件只能属于一个表空间),任何方案对象都被存储在表空间的数据文件中,虽然不能被存储在多个表空间中,但可以被存储在多个数据文件中。 表空间分系统表空间和非系统表空间两类。 系统表空间包括SYSTEM表空间和SYSAUX表空间,其余的表空间就是非系统表空间。,系统表空间,SYSTEM表空间是数据库创建时自动创建的系统表空间。用于存放数据字典。 SYSAUX表空间时系统表空间的辅助表空间。,什么叫数据字典,数据字典是一些系统表或视图,他存放系统的信息,他包括数据库版本,数据文件信息,表与索引等段信息,系统的运行状态等各种和系统有关的信息和用户脚本信息。数据库管理员可以通过对数据字典的查询,就可以了解到Oracle的运行状态。 数据字典包括: 各种对象的定义信息,包括表、视图、索引、同义词、序列、存储过程、函数、包、触发器以及其他各种对象。 数据库存储空间的分配信息。 数据库安全信息,包括用户、权限、角色等。,撤销表空间,当数据库进行更新、插入、删除等操作的时候,新的数据被更新到原来的数据文件,而旧的数据(Before Image)就被放到回滚段中,如果数据需要回滚,那么可以从回滚段将数据再复制到数据文件中。来完成数据的回滚。在系统恢复的时候, 回滚段可以用来回滚没有被commit 的数据,解决系统的一至性。,临时表空间,用来存放临时数据的,例如排序操作的临时空间,它的空间会在下次系统启动的时候全部被释放。,逻辑存储结构-段(segment),段用于存储表空间中某一种特定的具有独立存储结构的对象的所有数据,它由一个或多个区组成。 段的几种类型: 表段(数据段) 索引段 临时段(用于临时表空间) 回退段(用于撤销表空间),逻辑存储结构-区(extent),区是由物理上连续存放的块构成的。 区是Oracle存储分配的最小单位,由一个或多个块组成区,由一个或多个区组成段,当在数据库中创建带有实际存储结构的方案对象(如表、索引、簇)时,Oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间,当段中已分配的区都写满后,Oracle就为该段分配一个新的区,以便容纳更多的数据。,逻辑存储结构-区(extent),可以通过在CREATE TABLE语句的STORAGE子句中设置3个存储参数来指定这个表的数据段的存储区大小,第1个后续大小和后续区增加的比例。 STORAGE ( INITIAL 64K NEXT 32K PCTINCREASE 50 ),逻辑存储结构-块(block),块是Oracle最小的数据管理单位,也是执行输入输出操作时的最小单位。相对应地,操作系统执行输入输出操作的最小单位是操作系统块。 块的大小是操作系统块大小的整数倍,以Win2000为例,操作系统块的大小是4kb,所以Oracle块的大小可以是4kb、8kb、16kb等。 如果块的大小是4kb,EMP表每行的数据占100个字节,如果某个查询语句只返回1行数据,那么,在将数据读入到数据高速缓存时,读取的数据量是4kb而不是100个字节。,数据文件 控制文件 日志文件 参数文件 其它文件,Oracle物理结构,数据文件,数据文件是实际存储插入到数据库表中的实际数据的操作系统文件。数据文件的大小与它们所存储的数据量的大小直接相关,会自动增大。一个表空间在物理上对应若干个数据文件,而一个数据文件只能属于一个表空间。 在oracle 10g 安装后,C:oracleproduct10.1.0oradataorcl目录下可以看到自动创建的6个表空间都有其对应的数据文件。,控制文件,控制文件是一个很小的文件,大小一般在1MB到5MB之间,为二进制文件。但它是数据库中的关键性文件,它对数据库的成功启动和正常运行都是至关重要的,因为它存储了在其他地方无法获得的关键信息,这些信息包括: 数据库的名称 数据文件和重做日志文件的名称,位置和大小 发生磁盘故障或用户错误时,用于恢复数据库的信息 注意:每个数据库必须,而且只需要有一个控制文件 在装载(mount)数据库时,Oracle将读取控制文件中的信息,以便判断数据库的状态,获得数据库的物理结构的信息物理文件的使用权。因此,控制文件对于数据库的成功装载,以及其后的打开都是至关重要的。,控制文件,只有控制文件是正常的,才能装载,打开数据库。在数据库运行的过程中,每当出现数据库检查点(checkpoint)或修改数据库结构之后,Oracle就会修改控制文件的内容。 DBA和用户都不应该人为地修改控制文件中的内容,否则会破坏控制文件。 在Oracle 10g安装完毕之后,自动创建的3个控制文件如下: C:oracleproduct10.1.0oradataorclCONTROL01.CTL C:oracleproduct10.1.0oradataorclCONTROL02.CTL C:oracleproduct10.1.0oradataorclCONTROL03.CTL,重做日志文件,当用户对数据库进行修改时,Oracle实际上是先在内存中进行修改,过一段时间后,再集中将内存中的修改结果成批地写入上面的数据文件中。(效率问题) 如果修改结果没写入数据文件,那么Oracle是用重做日志文件来随时保存这些修改结果的。 每个数据库至少需要两个重做日志文件,因为Oracle是以循环的方式来使用重做日志文件的。当第一个写满后,LGWR进程开始写入第二个,当第二个写满后,又重新写第一个,依次类推。 在Oracle 10g安装完成后,自动创建个重做日志文件,在C:oracleproduct10.1.0oradataorcl 目录下,参数文件,参数文件parameter file包含一组关于数据库和实例的配置参数。 Oracle推出用户使用一个服务器参数文件(Spfile)作为维护初始化参数的动态手段。 Spfile允许用户在一个服务器端的磁盘文件里持久地保存和管理初始化参数。,初始化参数的设置,初始化参数的设置,初始化参数的设置,初始化参数的设置,初始化参数的设置,查看初始化参数,管理数据库配置所有初始化参数,如图,填空题 (1)数据库中的表关系分为:()、()、()。 (2)Oracle 10g的新特性有()、()、()、()、()、()、()。 (3)Oracle10g系统结构分为:()、()、()、()。 (4)Oracle Enterprise Manager 是一个基于()的框架系统。 (5)在输入URL进入Oracle Enterprise Manager Database Control的时候,必须指出()和()。 (6)在默认的情况下,Oracle实例的服务启动类型是处于()状态。 (7)在登录Oracle Enterprise Manager Database Control时,连接身份有三中选择,分别为()、()和()。,课后练习,选择题 (1)Oracle 10g是什么公司开发出的数据库软件?() A.微软 B.升阳 C.IBM D.甲骨文 (2)Oracle 10g的安装,内存最低要求是多少?() A.64MB B.128MB C.256MB D.512MB (3)Oracle 10g安装过程中的SID指的是什么?() A.系统标识号 B.数据库名 C.用户名 D.用户口令 (4)Oracle 10g常见的类型文件不包括如下哪一项?() A.数据文件 B.日志文件 C.备份文件 D.控制文件 (5)默认登录到Oracle Enterprise Manager Database Control的端口号是()。 A.5500 B.5560 C. 6055 D.5811 (6)在Oracle Enterprise Manager Database Control的维护页面中,可以执行的操作是()。 A.存储 B.数据库配置 C.查看CPU使用情况 D.备份与恢复,课后练习,判断题 (1)Oracle 10g不是RDBMS

温馨提示

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

评论

0/150

提交评论