《Oracle数据库应用》课件5.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Oracle数据库应用》课件5.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle数据库应用 Oracle 数据库 应用 课件
- 资源描述:
-
1、第第5 5章章 Oracle Oracle 体系结构体系结构Oracle 体系结构概述体系结构概述1Oracle 服务器的内存结构服务器的内存结构2Oracle 服务器的进程结构服务器的进程结构3Oracle数据库的逻辑结构数据库的逻辑结构5Oracle的多租户环境的多租户环境6Oracle数据库的物理结构数据库的物理结构4数据字典数据字典75.1 Oracle 5.1 Oracle 体系结构概述体系结构概述n 在了解在了解OracleOracle体系结构之前必须掌握两个基本体系结构之前必须掌握两个基本概念概念:l数据库数据库databasedatabase一个数据集合,数据存放在数据文件中。
2、一个数据集合,数据存放在数据文件中。l实例实例(例程例程)instance)instance通俗的讲,通俗的讲,实例就是访问实例就是访问/操作数据库的一种入口操作数据库的一种入口/手段手段;也称作服务器也称作服务器,是用来访问数据库文件集的存储结构及后是用来访问数据库文件集的存储结构及后台进程的集合;台进程的集合;一个数据库可以被多个实例访问。一个数据库可以被多个实例访问。n OracleOracle体系结构的组成体系结构的组成lOracleOracle数据库数据库数据库文件数据库文件相关相关DBMSDBMS的集合的集合lOracleOracle实例实例内存结构内存结构后台进程后台进程n Or
3、acleOracle数据库数据库l是安装在磁盘上的是安装在磁盘上的OracleOracle数据库文件和相关的数据数据库文件和相关的数据库管理系统库管理系统(DBMS)DBMS)的集合。的集合。数据文件数据文件(Data files)(Data files)控制文件控制文件(Control files)(Control files)重做日志文件重做日志文件(Redo log files)(Redo log files)初始化参数文件初始化参数文件(Parameter file)(Parameter file)口令文件口令文件(Password file)(Password file)归档重做日志
4、文件归档重做日志文件(Archived log files)(Archived log files)等等n OracleOracle实例实例l一个实例:一个实例:是连接数据库的入口是连接数据库的入口仅打开并连接至一个数据库仅打开并连接至一个数据库它包括后台进程和内存进程它包括后台进程和内存进程l后台进程包括:后台进程包括:数据库写入进程数据库写入进程(DBWn)(DBWn)日志写入进程日志写入进程(LGWR)(LGWR)日志归档进程日志归档进程(ARCn)(ARCn)检查点进程检查点进程(CKPT)(CKPT)系统监控进程系统监控进程(SMON)(SMON)进程监控进程进程监控进程(PMON)
5、(PMON)l内存结构组织称为系统全局区内存结构组织称为系统全局区(System Global AreaSystem Global Area,SGA)SGA)。SGASGA是由所有用户进程共享的一块内存区域。是由所有用户进程共享的一块内存区域。数据库缓冲存储区数据库缓冲存储区(Database Buffer Cache)(Database Buffer Cache)重做日志缓冲区重做日志缓冲区(Redo Log Buffer)(Redo Log Buffer)共享池共享池(Shared Pool)(Shared Pool)JavaJava池池(Java Pool)(Java Pool)大型池大
6、型池(Large Pool)(Large Pool)等。等。可选内存结构可选内存结构n OracleOracle用户环境用户环境l用户进程发布并执行用户进程发布并执行SQLSQL语句的用户环境语句的用户环境用户进程用户进程(User process)(User process)服务器进程服务器进程(Server process)(Server process)程序全局区程序全局区(Program Global Area(Program Global Area,PGA)PGA)l当用户连接到当用户连接到OracleOracle服务器时,服务器时,OracleOracle便创建一个便创建一个服务器
7、进程与之交互,并代表该用户进程完成与服务器进程与之交互,并代表该用户进程完成与OracleOracle数据库间的交互。数据库间的交互。l程序全局区程序全局区PGAPGA是用户专用的内存结构,存储该用户是用户专用的内存结构,存储该用户连接期间与连接期间与SQLSQL语句执行相关的信息。语句执行相关的信息。5.2 Oracle 5.2 Oracle 服务器的内存结构服务器的内存结构n OracleOracle数据库的两种内存结构数据库的两种内存结构l系统全局区系统全局区(System Global Area(System Global Area,SGA)SGA)一组共享内存结构,用于存放数据库数据
8、和控制信息,以一组共享内存结构,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实现对数据库数据的管理和操作。l程序全局区程序全局区(Program Global Area(Program Global Area,PGA)PGA)是用户进程连接到数据库并创建一个会话时,由是用户进程连接到数据库并创建一个会话时,由OracleOracle服服务器进程分配的专门用于当前用户会话的内存区,该区域务器进程分配的专门用于当前用户会话的内存区,该区域是私有的是私有的。n 1.1.系统全局区系统全局区SGASGAl数据库缓冲存储区数据库缓冲存储区用于存放最近访问的数据块;用于存放最近访问的数据
9、块;大小由初始化参数定义;大小由初始化参数定义;采用采用LRU(Least Recently Used,LRU(Least Recently Used,最近最少使用最近最少使用)算法管理数算法管理数据库缓冲存储区。据库缓冲存储区。l重做日志缓冲区重做日志缓冲区用于存放数据进行的所有更改;用于存放数据进行的所有更改;大小由初始化参数定义;大小由初始化参数定义;当重做日志缓冲区被添满时,由日志写入进程把重做日志当重做日志缓冲区被添满时,由日志写入进程把重做日志缓冲区的内容写到磁盘的重做日志文件中保存。缓冲区的内容写到磁盘的重做日志文件中保存。l共享池共享池用于存放最近执行的用于存放最近执行的SQL
10、SQL语句语句(库高速缓存库高速缓存)和数据字典信息和数据字典信息(数据字典高速缓存数据字典高速缓存);大小由初始化参数定义,可动态变化;大小由初始化参数定义,可动态变化;其大小影响数据库的性能。其大小影响数据库的性能。l大型池大型池为大的内存需求提供内存空间;为大的内存需求提供内存空间;大小由初始化参数大小由初始化参数LARGE_POOL_SIZELARGE_POOL_SIZE定义。定义。lJavaJava池池用于存放用于存放JavaJava代码、代码、JavaJava语句的语法分析表、语句的语法分析表、JavaJava语句的语句的执行方案和支持执行方案和支持JavaJava程序开发;程序开
11、发;大小由初始化参数大小由初始化参数JAVA_POOL_SIZEJAVA_POOL_SIZE定义。定义。n 2.2.程序全局区程序全局区PGAPGAl排序区排序区存放执行存放执行GROUP BYGROUP BY和和ORDER BYORDER BY等包含排序操作所产生的临等包含排序操作所产生的临时数据;时数据;大小由初始化参数大小由初始化参数SORT_AREA_SIZESORT_AREA_SIZE设置。设置。l会话区会话区存储该会话所具有的权限、角色、性能统计等信息。存储该会话所具有的权限、角色、性能统计等信息。l游标状态区游标状态区存储用户会话中当前使用的各游标所处的状态。存储用户会话中当前使
12、用的各游标所处的状态。l堆栈区堆栈区存储该会话中的绑定变量存储该会话中的绑定变量(Bind Variable)(Bind Variable)和会话变量和会话变量(Session Variable)(Session Variable)及及SQLSQL运行时的内存结构信息。运行时的内存结构信息。5.3 Oracle 5.3 Oracle 服务器的进程结构服务器的进程结构n OracleOracle数据库的进程数据库的进程l用户进程用户进程当用户运行一个应用程序时,就建立一个用户进程当用户运行一个应用程序时,就建立一个用户进程l服务器端进程服务器端进程后台进程后台进程w 为所有数据库用户异步完成各种
13、任务为所有数据库用户异步完成各种任务w 用于数据库的各种数据操作用于数据库的各种数据操作服务器进程服务器进程w 处理用户进程的请求处理用户进程的请求n 1.1.后台进程后台进程l数据库写入进程数据库写入进程(DBWn)(DBWn)作用是将已更改的数据块从内存写入数据文件;作用是将已更改的数据块从内存写入数据文件;默认情况下,启动实例时只启动一个数据库写入进程,即默认情况下,启动实例时只启动一个数据库写入进程,即为为DBW0DBW0。l日志写入进程日志写入进程(LGWR)(LGWR)将重做日志缓冲区的数据写入重做日志文件中永久保存;将重做日志缓冲区的数据写入重做日志文件中永久保存;是唯一一个能够
14、读是唯一一个能够读/写重做日志文件的进程。写重做日志文件的进程。l日志归档进程日志归档进程(ARCn)(ARCn)将重做日志的事务变化复制到归档日志文件中;将重做日志的事务变化复制到归档日志文件中;是一个可选进程,默认情况下只有两个归档日志进程是一个可选进程,默认情况下只有两个归档日志进程(ARC0ARC0和和ARC1)ARC1)。l检查点进程检查点进程(CKPT)CKPT)作用是发出检查点作用是发出检查点(Checkpoint)Checkpoint),实现同步数据库的数据实现同步数据库的数据文件、控制文件和重做日志;文件、控制文件和重做日志;是一个可选进程,确保数据文件、控制文件和重做日志文
15、是一个可选进程,确保数据文件、控制文件和重做日志文件的一致性。件的一致性。l系统监控进程系统监控进程(SMON)SMON)在数据库系统启动时执行恢复工作;在数据库系统启动时执行恢复工作;合并空间碎片并释放临时段。合并空间碎片并释放临时段。l进程监控进程进程监控进程(PMON)PMON)监控服务器进程的执行,并在服务器进程失败时清除该服监控服务器进程的执行,并在服务器进程失败时清除该服务器进程;务器进程;用于恢复失败的数据库用户的强制性进程。用于恢复失败的数据库用户的强制性进程。l可在视图可在视图V$BGPROCESSV$BGPROCESS中查询当前启动的后台进程中查询当前启动的后台进程执行如下
16、命令:执行如下命令:conn/orcl as sysdbaconn/orcl as sysdbacolumn description format a30column description format a30set pagesize 200set pagesize 200 select paddr,pserial#,name,description select paddr,pserial#,name,descriptionfrom v$bgprocessfrom v$bgprocessorder by name;order by name;n 2.2.服务器进程服务器进程l专用服务器模式
17、专用服务器模式OracleOracle用于支持客户连接的最简单的进程结构;用于支持客户连接的最简单的进程结构;为每一个连接到实例的客户进程启动一个专门的前台服务为每一个连接到实例的客户进程启动一个专门的前台服务进程;进程;一般只用在密集的批操作,能让服务器进程大部分时间保一般只用在密集的批操作,能让服务器进程大部分时间保持繁忙;持繁忙;当预期客户机连接总数较少,或客户机向服务器发出的请当预期客户机连接总数较少,或客户机向服务器发出的请求持续时间较长时,应采用专用服务器模式;求持续时间较长时,应采用专用服务器模式;l共享服务器模式共享服务器模式少数共享服务器进程执行了许多连接客户的数据访问操作少
18、数共享服务器进程执行了许多连接客户的数据访问操作,很少的进程开销就可以满足大量的用户群;很少的进程开销就可以满足大量的用户群;其组件包括:调度器、共享服务器进程和队列。其组件包括:调度器、共享服务器进程和队列。5.4 Oracle 5.4 Oracle 数据库的物理结构数据库的物理结构n OracleOracle数据库的存储结构数据库的存储结构l物理存储结构物理存储结构是实际的数据存储单元,如文件或数据块等,主要包括:是实际的数据存储单元,如文件或数据块等,主要包括:w 数据文件数据文件w 日志文件日志文件w 控制文件控制文件w 参数文件参数文件n 1.1.数据文件数据文件l是物理存储是物理存
19、储oracleoracle数据库数据的文件;数据库数据的文件;l每一个数据文件只与一个数据库相联系;每一个数据文件只与一个数据库相联系;l数据文件一旦被建立则不能修改其大小,一般位于数据文件一旦被建立则不能修改其大小,一般位于 目录目录“ORACLE_BASEoradataORACLE_SIDORACLE_BASEoradataORACLE_SID”;l一个表空间可包含一个或多个数据文件。一个表空间可包含一个或多个数据文件。n 2.2.重做日志文件重做日志文件l用于记录所有对数据库数据的修改,以备恢复数据用于记录所有对数据库数据的修改,以备恢复数据时使用;时使用;l每一个数据库至少包含两个日志
20、文件组;每一个数据库至少包含两个日志文件组;l日志文件组以循环方式进行写操作;日志文件组以循环方式进行写操作;日志开关日志开关(Log SwitchLog Switch)是为实现日志文件组的循环使用而是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:设置的。出现日志开关的情况如下:w 当一个日志文件组被填满当一个日志文件组被填满w 关闭数据库时关闭数据库时w DBADBA手动转移日志开关手动转移日志开关日志文件写操作图示:日志文件写操作图示:Log File 1Log File 2Member 2.1Member 1.1lOracleOracle数据库有两种运行模式:数据库有两种运
21、行模式:归档日志归档日志(ARCHIVELOG)(ARCHIVELOG)模式模式w 所有的事务重做日志都将保存所有的事务重做日志都将保存w 在一个重做日志被覆盖前为其建立一个副本在一个重做日志被覆盖前为其建立一个副本w 在重做日志归档工作完成之前,在重做日志归档工作完成之前,OracleOracle不对其进行覆盖不对其进行覆盖w 数据库运行在数据库运行在ARCHIVELOGARCHIVELOG模式时可能增加系统开销并成为系模式时可能增加系统开销并成为系统的瓶颈统的瓶颈非归档日志非归档日志(NOARCHIVELOG)(NOARCHIVELOG)模式模式w 为系统默认模式为系统默认模式w 系统不保
展开阅读全文