版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、OracleOracle体系结构体系结构(1)首先在)首先在Oracle 10g中通过使用(中通过使用( )创建数据库,并将其命名为创建数据库,并将其命名为Orcl。(2)然后,通过)然后,通过MS-DOS命令启动命令启动Oracle10g服务,在窗口中输入:服务,在窗口中输入:(3)Oracle 10g安装完毕后,(安装完毕后,( )帐号被锁定。)帐号被锁定。上节回顾上节回顾2OracleOracleDataBase Configuration Assistant NET START OracleServiceOrclScott3.1 Oracle全局体系全局体系3.2 实例与数据库实例与数
2、据库3.3 System Global Area3.4 Program Global Area3.5 进程结构进程结构3.6 逻辑结构逻辑结构3.7 总结总结3.8 习题习题本章内容本章内容3OracleOracle 3.1 3.1 Oracle全局体系全局体系4OracleOracle 3.1 3.1 Oracle全局体系全局体系5OracleOracle Oracle由两部分组成,由两部分组成,Instance和和Database。 Instance(实例)是操作数据库的一种手段。(实例)是操作数据库的一种手段。 其中,其中,SGA (System Global Area)称为系统全局区,
3、包括共享池、数据高速缓冲、重做日志高称为系统全局区,包括共享池、数据高速缓冲、重做日志高速缓冲。速缓冲。 Database是物理存在,一系列的文件系统。是物理存在,一系列的文件系统。Data Files、Control Files、Redo Log Files是必需的,而是必需的,而Archived Log Files、Parameter File、Password File是非必需的。是非必需的。 注意:注意:用户进程如启动用户进程如启动sqlplus与与Oracle Server进行连接,在进行连接,在SQLPLUS中执行一个中执行一个COMMAND。Oracle Server在后台启动一
4、个服务器在后台启动一个服务器进程,用户进程通过服务器进程来操作进程,用户进程通过服务器进程来操作Instance和和Database。 (用户进程无用户进程无法直接操作法直接操作Instance和和Database) Oracle server(Oracle服务器)服务器) (1)是一个数据库管理系统,提供一种开放、全面、)是一个数据库管理系统,提供一种开放、全面、集成的信息管理方法;集成的信息管理方法; (2)由)由Oracle Instance和和Oracle Database组成。组成。 从严格意义上讲,从严格意义上讲,Control Files应该置于应该置于Instance和和Dat
5、abase之间,它用来连接之间,它用来连接Instance和和Database。 3.1 3.1 Oracle全局体系全局体系6OracleOracle 举例说明控制文件的作用:举例说明控制文件的作用: Oracle的启动过程的启动过程 (1)关闭数据库)关闭数据库 SQL conn system/admin as sysdba 已连接。已连接。 SQL shutdown immediate 数据库已经关闭。数据库已经关闭。 已经卸载数据库。已经卸载数据库。 ORACLE例程已经关闭。例程已经关闭。3.1 3.1 Oracle全局体系全局体系7OracleOracle (2)启动数据库)启动数
6、据库 SQL startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库,非安装启动,这种方式启动下可执行:重建控制文件、重建数据库,读取读取init.ora文件,启动文件,启动instance,即启动,即启动SGA和后台进程。和后台进程。 SQL alter database mount; 数据库已更改。数据库已更改。(根据参数文件中记录的控制文件地址,去读取控制根据参数文件中记录的控制文件地址,去读取控制文件文件) SQL alter database open; 数据库已更改。数据库已更改。(根据控制文件中记录的数据文件地址,读取数据文根据控制文件中记录的
7、数据文件地址,读取数据文件,打开数据库件,打开数据库)3.1 3.1 Oracle全局体系全局体系8OracleOracle 3.2 3.2 实例与数据库实例与数据库9OracleOracle Instance包含包含memory structure和和 background process 3.2 3.2 实例与数据库实例与数据库10OracleOracle一个一个Oracle Instance (1)是一种访问一个)是一种访问一个Oracle database的手段;的手段; (2)能且仅能操作一个)能且仅能操作一个database;(但是一个数据库可以;(但是一个数据库可以有多个实例)有
8、多个实例) (3)由内存结构()由内存结构(SGA)和进程结构两部分组成。)和进程结构两部分组成。 必须的后台进程在每个必须的后台进程在每个Instance中都存在,可选的后台进中都存在,可选的后台进程根据程根据Instance要求的不同进行选择使用。要求的不同进行选择使用。 3.2 3.2 实例与数据库实例与数据库11OracleOracleOracle Instance操作操作 SQL show sga 给出内存结构信息。给出内存结构信息。 SQL select * from v$bgprocess; 给出系统中所有可能使用到的后台进程。并不是所有的后给出系统中所有可能使用到的后台进程。并
9、不是所有的后台进程都分配了有效的地址空间,必须的后台进程当前分配了台进程都分配了有效的地址空间,必须的后台进程当前分配了有效的地址空间。有效的地址空间。 SQL select * from v$bgprocess where paddr00; 给出系统必须的后台进程。给出系统必须的后台进程。 3.2 3.2 实例与数据库实例与数据库12OracleOracle建立连接建立连接,创建用户会话创建用户会话 用户进程通过服务器进程连接用户进程通过服务器进程连接Oracle Server,在对用户身份进行验证,在对用户身份进行验证后,用户进程就与一个后,用户进程就与一个Oracle Instance建
10、立了连接,这包括建立一个用户连建立了连接,这包括建立一个用户连接和创建一个会话。接和创建一个会话。 3.2 3.2 实例与数据库实例与数据库13OracleOracleOracle Database包含包含data file、log file和和control fileOracle Database (1)是一个数据集合,集合中的数据作为整体单元处理;)是一个数据集合,集合中的数据作为整体单元处理; (2)包含三种类型文件(必需的);)包含三种类型文件(必需的); (3)Parameter File、Password File、Archived Log Files完成完成Oracle Data
11、base的辅助功能,并不是的辅助功能,并不是Database所必需的。所必需的。 3.2 3.2 实例与数据库实例与数据库14OracleOracleOracle Database物理结构(文件系统)物理结构(文件系统) 一个一个Oracle Database的物理结构由为数据库信息提供真实物理存储的操的物理结构由为数据库信息提供真实物理存储的操作系统文件决定:作系统文件决定: (1)控制文件;()控制文件;(2)数据文件;()数据文件;(3)日志文件)日志文件 每类文件都可能有多个,不是仅有一个。每类文件都可能有多个,不是仅有一个。由于日志分组,在由于日志分组,在Oracle Databas
12、e中至少有两中至少有两个在线日志文件。个在线日志文件。参数文件参数文件控制文件控制文件控制文件控制文件数据文件数据文件 数据文件数据文件 日志文件日志文件 日志文件日志文件 3.2 3.2 实例与数据库实例与数据库15OracleOracle注意:注意: oracle中包含两种日志文件中包含两种日志文件 (1)联机日志文件(重做日志文件,以循环的方式工作)联机日志文件(重做日志文件,以循环的方式工作) (2)归档日志文件(备份,尤其是热备份时必须选择的一种归档方式)归档日志文件(备份,尤其是热备份时必须选择的一种归档方式)归档模式和非归档模式的区别:归档模式和非归档模式的区别: 在归档模式下,
13、所有的事务重做日志都将被保存。因而即使以循环的在归档模式下,所有的事务重做日志都将被保存。因而即使以循环的方式工作,在一个重做日志被覆盖前均将为其建立一个副本。在重做日志方式工作,在一个重做日志被覆盖前均将为其建立一个副本。在重做日志文件复制完成之前,文件复制完成之前,oracle数据库将停止一切新的操作,在旧的事务记录数据库将停止一切新的操作,在旧的事务记录完成之前完成之前oracle不对其进行覆盖。(可从所有类型的失败中恢复,是一种不对其进行覆盖。(可从所有类型的失败中恢复,是一种最安全的数据库工作方式)最安全的数据库工作方式) 在非归档模式下(系统默认),系统不保留旧的重做日志。因而具有
14、在非归档模式下(系统默认),系统不保留旧的重做日志。因而具有有限的恢复,主要被设计为在例行故障时得到保护。有限的恢复,主要被设计为在例行故障时得到保护。 3.2 3.2 实例与数据库实例与数据库16OracleOracle查看系统文件查看系统文件 查看系统中的控制文件查看系统中的控制文件 SQL select * from v$controlfile; 举例:举例: D:ORACLEORADATAFOXCONTROL01.CTL D:ORACLEORADATAFOXCONTROL02.CTL D:ORACLEORADATAFOXCONTROL03.CTL 查看系统中的数据文件查看系统中的数据文
15、件 SQL select * from v$datafile; 查看系统中的日志文件查看系统中的日志文件 SQL select * from v$logfile; 3.3 3.3 System Global Area17OracleOracleOracle的内存结构的内存结构 Oracle的内存结构包括如下两个内存区域:的内存结构包括如下两个内存区域: (1)SGA (System Global Area): 当启动当启动Instance时被分配,时被分配,是一个是一个Oracle Instance的基础组件,所有进程共享这一内存区的基础组件,所有进程共享这一内存区域;域; (2)PGA (P
16、rogram Global Area): 当服务器进程启动时当服务器进程启动时被分配,一个进程独享的独立于被分配,一个进程独享的独立于SGA之外的内存区域。之外的内存区域。 3.3 3.3 System Global Area18OracleOracleSGA (系统全局区域,系统全局区域,System Global Area) 3.3 3.3 System Global Area19OracleOracleSGA (System Global Area) SGA包括如下几个内存结构:包括如下几个内存结构: (1)Shared pool(共享池):(共享池):由库缓存区和数据字由库缓存区和数据
17、字典缓存区组成。存储最常执行的典缓存区组成。存储最常执行的SQL语句和最常使用的数语句和最常使用的数据字典中的数据。据字典中的数据。 (2)Database buffer cache(数据块缓存区):(数据块缓存区):存储存储经常使用的数据。经常使用的数据。 (3)Redo log buffer(重做日志缓存区):(重做日志缓存区):记录在记录在Oracle中透过中透过SGA所做改变的日志,操作类型、操作的原所做改变的日志,操作类型、操作的原址和新址,最终将写入到在线日志中去。址和新址,最终将写入到在线日志中去。 (4)Other structure:由数据库管理员配置的可选内由数据库管理员配
18、置的可选内存空间,有两种分别是存空间,有两种分别是Large pool、Java pool等等 3.3 3.3 System Global Area20OracleOracleSGA (System Global Area) (1)SGA是动态改变的,使用是动态改变的,使用SGA_MAX_SIZE可以可以设置其尺寸;设置其尺寸; (2)SGA组件完成细粒度的组件完成细粒度的SGA内存分配和处理:内存分配和处理: Oracle9i后,可以动态地改变后,可以动态地改变SGA_MAX_SIZE,之前的版本需要关闭数据库后修改配,之前的版本需要关闭数据库后修改配置文件,而后重新启动数据库使改变生效;置
19、文件,而后重新启动数据库使改变生效; SGA_MAX_SIZE是可以动态设置的。是可以动态设置的。 3.3 3.3 System Global Area21OracleOracleSGA (System Global Area) (1)显示)显示SGA的参数的参数 SQL show parameter shared SQL show parameter db_cache SQL show parameter log(2)查看)查看SGA状况状况 SQL show parameter sga 可以看到可以看到Oracle当前的当前的SGA尺寸,即尺寸,即SGA_MAX_SIZE的值,初始时与安装
20、的值,初始时与安装Oracle创建创建Oracle数数据库时的默认设置相同。据库时的默认设置相同。 3.3 3.3 System Global Area22OracleOracle 3.3 3.3 System Global Area23OracleOracleSGA (System Global Area) 进行修改进行修改SGA中的缓冲区参数的实验中的缓冲区参数的实验 SQL alter system set db_cache_size=60m; 运行结果会报错,提示运行结果会报错,提示“没有足够的内存来增加高速没有足够的内存来增加高速缓存的大小缓存的大小” SQL alter syste
21、m set db_cache_size=20m; 改变是可以成功的,有充足的内存进行缓冲区分配。改变是可以成功的,有充足的内存进行缓冲区分配。 修改的原则是所有的缓冲区的尺寸总和不能超过修改的原则是所有的缓冲区的尺寸总和不能超过SGA_MAX_SIZE。 3.3 3.3 System Global Area24OracleOracleSGA Shared Pool 共享池用于存储最近执行的共享池用于存储最近执行的SQL语句及最近使用的数据定义:语句及最近使用的数据定义: (1)它包含两个与性能相关的关键内存结构)它包含两个与性能相关的关键内存结构 Library cache:当前:当前SQL、
22、PL/SQL的执行计划、文本等的执行计划、文本等 Data dictionary cache:权限信息,:权限信息,Database的结构信息等,的结构信息等,dictionary cache又称为行又称为行cache(row cache) (2)可以通过参数)可以通过参数SHARED_POOL_SIZE改变改变shared pool的尺寸的尺寸 库缓存区库缓存区字典缓存区字典缓存区共享SQL区PL/SQL区区 3.3 3.3 System Global Area25OracleOracleSGA Library Cache Library cache存储最近使用的存储最近使用的SQL、PL/
23、SQL语句的信息。语句的信息。Library cache: (1)允许常用语句共享)允许常用语句共享 当当cache已存在与当前已存在与当前COMMAND相同的相同的SQL语句,则直接调用语句,则直接调用执行结果即可,不需要再次对当前执行结果即可,不需要再次对当前COMMAND进行语法分析、编译和进行语法分析、编译和处理,从而提高了处理,从而提高了SQL语句的执行效率和系统的性能,语句的执行效率和系统的性能,Oracle要求要求Library cache的命中率为的命中率为99%以上,尽可能地不重复编译以上,尽可能地不重复编译SQL COMMAND; (2)由最近最少使用算法)由最近最少使用算
24、法(LRU: Least Recently Used)管理;管理; (3)包含两个结构:共享)包含两个结构:共享SQL区域、共享区域、共享PL/SQL区域区域 注:注:Library cache不可以直接定义大小,必须借助于不可以直接定义大小,必须借助于shared pool size来定义。来定义。 3.3 3.3 System Global Area26OracleOracleSGA Data Dictionary Cache (Row Cache) Data dictionary cache是数据库中最近经常使用的定义集合。是数据库中最近经常使用的定义集合。 (1)它包含关于数据库文件、
25、表、索引、列、用户、权限和其它)它包含关于数据库文件、表、索引、列、用户、权限和其它数据库对象的信息;数据库对象的信息; (2)在解析阶段,服务器进程查看数据字典以获取处理对象名称)在解析阶段,服务器进程查看数据字典以获取处理对象名称和合法访问的信息;和合法访问的信息; (3)将数据字典信息缓存入内存中以提高查询的响应速度;)将数据字典信息缓存入内存中以提高查询的响应速度; (4)data dictionary cache不能直接定义,必须通过不能直接定义,必须通过shared pool size定义。定义。 举例:看以下的执行语句示例举例:看以下的执行语句示例 SQL select * fr
26、om authors; Oracle首先要判断首先要判断authors这个对象是存在,接着判断对象中的列这个对象是存在,接着判断对象中的列是否存在,还要判断当前连接的用户是否有访问这个对象的权限,这是否存在,还要判断当前连接的用户是否有访问这个对象的权限,这些信息都存放在些信息都存放在data dictionary中。中。 3.3 3.3 System Global Area27OracleOracleSGA Database Buffer Cache Database buffer cache存储从数据文件中提取的数据块存储从数据文件中提取的数据块的拷贝。的拷贝。 (1)当获取和更新数据时,
27、允许得到最佳性能;)当获取和更新数据时,允许得到最佳性能; (2)通过最近最少算法来管理)通过最近最少算法来管理database buffer cache; (3)DB_BLOCK_SIZE设定主块尺寸。设定主块尺寸。 Oracle9i以后,允许一个以后,允许一个database buffer中存在多个块中存在多个块尺寸,以前版本只允许一个尺寸,以前版本只允许一个database buffer存在一个块尺寸。存在一个块尺寸。 3.3 3.3 System Global Area28OracleOracleSGA Database Buffer Cache SQL show parameter
28、db; 可以有可以有db_cache_size,也可以有,也可以有db_nk_cache_size,与以前的版本,与以前的版本保持兼容。保持兼容。 另外另外DB_KEEP_CACHE_SIZE、 DB_RECYCLE_CACHE_SIZE根据数据访问的特征而设定,优化系统性能。根据数据访问的特征而设定,优化系统性能。 Oracle使用内存的单位是块大小。使用内存的单位是块大小。Oracle读取数据时,不是读一行读取数据时,不是读一行或多行数据,而是每次读取一个块。块尺寸和缓冲区对应或多行数据,而是每次读取一个块。块尺寸和缓冲区对应 3.3 3.3 System Global Area29Ora
29、cleOracle 3.3 3.3 System Global Area30OracleOracleSGA Database Buffer Cache Database buffer cache可以动态改变尺寸,使用可以动态改变尺寸,使用ALTER SYSTEM扩大扩大 ALTER SYSTEM SET DB_CACHE_SIZE = 96M; 满足所有内存的和不超过满足所有内存的和不超过SGA的尺寸。的尺寸。 注:可以使用注:可以使用db_cache_advice来让来让Oracle给出的不同给出的不同CACHE尺寸建议,告诉用户一些合理的尺寸建议,告诉用户一些合理的CACHE分配分配 。
30、3.3 3.3 System Global Area31OracleOracleSGA Redo Log Buffer Cache Redo log buffer cache记录对数据库数据块所做的所有记录对数据库数据块所做的所有改变。改变。 (1)它的主要目的是恢复;)它的主要目的是恢复; (2)记录改变称为重做条目;)记录改变称为重做条目; (3)重做条目包含重构或重做改变的信息;)重做条目包含重构或重做改变的信息; 3.3 3.3 System Global Area32OracleOracleSGA Large Pool Large pool是一个是一个SGA中的可选内存区域,仅在一个
31、共享服务环境中的可选内存区域,仅在一个共享服务环境中设定。中设定。 (1)它减轻共享池的负担;)它减轻共享池的负担; (2)用于用户会话内存)用于用户会话内存(UGA: User Global Area),I/O slaves,备,备份和恢复操作;份和恢复操作; (3)和)和shared pool不一样,不一样,large pool不使用不使用LRU (Least Recently Used)列表;列表; (4)由)由LARGE_POOL_SIZE设定尺寸设定尺寸 SQL alter system set large_pool_size = 20m; 3.3 3.3 System Global
32、 Area33OracleOracleSGA Java Pool Java pool服务于服务于Java commands的解析需要:的解析需要: (1)当安装和使用)当安装和使用Java时需要;时需要; (2)与)与PL/SQL在数据库表中的存储方式相同;在数据库表中的存储方式相同; (3)使用)使用JAVA_POOL_SIZE设置设置CACHE尺寸。尺寸。 在在Oracle中使用较少。中使用较少。 3.4 3.4 Program Global Area34OracleOracleProgram Global Area (程序全局区域、程序全局区域、PGA) 针对每个连接一个针对每个连接一个
33、Oracle database的用户进程保留的内存称为的用户进程保留的内存称为PGA。服务器类型不同,。服务器类型不同,PGA结构不同。有独占服务器,共享服务器结构不同。有独占服务器,共享服务器两种。两种。 当安装当安装Oracle时会选择安装哪种类型的服务器,从而确定使用的服时会选择安装哪种类型的服务器,从而确定使用的服务器类型,也就确定了务器类型,也就确定了PGA的内存结构。的内存结构。 3.4 3.4 Program Global Area35OracleOracleProcess Structure 一个一个Oracle process是一个程序,根据其类型可以获取信息,执行是一个程序
34、,根据其类型可以获取信息,执行一系列步骤,或执行某一特殊任务。一系列步骤,或执行某一特殊任务。 Oracle使用不同类型的进程:使用不同类型的进程: (1)用户进程:当一个数据库用户请求连接)用户进程:当一个数据库用户请求连接Oracle Server时产生;时产生; (2)服务器进程:连接到)服务器进程:连接到Oracle Instance,且当一个用户建立一,且当一个用户建立一个会话时才产生;个会话时才产生; (3)后台进程:当)后台进程:当Oracle Instance启动时生效。启动时生效。 3.5 3.5 进程结构进程结构36OracleOracleUser Process(用户进程
35、)(用户进程) 一个用户进程是一个请求与一个用户进程是一个请求与Oracle Server交互的程序。交互的程序。 (1)必须首先建立一个连接;)必须首先建立一个连接; (2)它不能直接和)它不能直接和Oracle Server交互,必须通过服务器进程。交互,必须通过服务器进程。 3.5 3.5 进程结构进程结构37OracleOracleServer Process (服务器进程)(服务器进程) 一个服务器进程是一个直接和一个服务器进程是一个直接和Oracle Server交互的程序。交互的程序。 (1)它执行用户进程产生的访问请求并返回结果;)它执行用户进程产生的访问请求并返回结果; (2
36、)可以是独占或共享服务器。)可以是独占或共享服务器。 3.5 3.5 进程结构进程结构38OracleOracleBackground Processes(后台进程)(后台进程) 物理结构和内存结构的关联通过物理结构和内存结构的关联通过Oracle的后台进程被维持和加强。的后台进程被维持和加强。一般后台进程包括:一般后台进程包括:PMONSMONDBWnLGWRARCnCKPTCJQRECO查看系统必需的后台进程查看系统必需的后台进程 SQL select * from v$bgprocess where paddr00; 3.5 3.5 进程结构进程结构39OracleOracleDatab
37、ase Writer (数据库写入器,数据库写入器,DBWn) DBWn执行当:执行当: (1) Checkpoint (2) Dirty buffers threshold reached (3) No free buffers (4) Timeout(3秒钟)秒钟) (5) RAC ping request (6) Tablespace offline (7) Tablespace read only (8) Table DROP or TRUNCATE (9) Tablespace BEGIN BACKUP 3.5 3.5 进程结构进程结构40OracleOracle 完成将完成将Dat
38、abase buffer cache中的脏数据(被改变的数据中的脏数据(被改变的数据)写入到数写入到数据文件中。据文件中。 3.5 3.5 进程结构进程结构41OracleOracle Log Writer (日志写入器,日志写入器,LGWR) LGWR写:写: (1) 事务数据进行提交事务数据进行提交 (2) 重做日志缓存已经填充了重做日志缓存已经填充了1/3 (3) 重做重做日志缓存中的数据量达到日志缓存中的数据量达到1MB (4)每每3秒钟秒钟 (5) 在在 DBWn 之前之前 3.5 3.5 进程结构进程结构42OracleOracle Log Writer (LGWR)将将Redo
39、log buffer中的内容写入到中的内容写入到Redo log files中。写日志优先,任何中。写日志优先,任何情况下写数据前都必须先写日志,这是现代大型数据库的共同特点。情况下写数据前都必须先写日志,这是现代大型数据库的共同特点。 3.5 3.5 进程结构进程结构43OracleOracle System Monitor (系统监视器,系统监视器,SMON)任务:任务:(1) Instance恢复(系统重启时):恢复(系统重启时):(a) 完成完成redo logs中的前向改变中的前向改变(b) 为用户访问打开数据库为用户访问打开数据库(c) 回滚未提交事务回滚未提交事务(2) 每隔每隔
40、3秒整合空闲空间秒整合空闲空间(3) 清空临时段空间清空临时段空间这些在系统启动时都可以完成。这些在系统启动时都可以完成。 3.5 3.5 进程结构进程结构44OracleOracle System Monitor (SMON) 3.5 3.5 进程结构进程结构45OracleOracleProcess Monitor (进程监视器、进程监视器、PMON) 清空被用户强行终止的进程:清空被用户强行终止的进程: (1) 回滚事务回滚事务 (2) 释放锁释放锁 (3) 释放其它资源释放其它资源 (4) 重启死调度器,重启死调度器,(在共享服务器中使用在共享服务器中使用) 3.5 3.5 进程结构进
41、程结构46OracleOracleCheckpoint (检查点,检查点,CKPT):实现同步实现同步任务:任务:(1) 在在checkpoints触发启动触发启动DBWn(2) 使用使用checkpoint信息更新数据文件头,记录同步所需的信息信息更新数据文件头,记录同步所需的信息(3) 使用使用checkpoint信息更新控制文件信息更新控制文件强制系统同步,同步前将脏数据写入到物理文件中。强制系统同步,同步前将脏数据写入到物理文件中。 3.5 3.5 进程结构进程结构47OracleOracleArchiver (归档器、归档器、ARCn) :自动备份在线日志:自动备份在线日志 (1)
42、可选的后台进程可选的后台进程 (2) 当设置当设置ARCHIVELOG模式时自动归档在线模式时自动归档在线redo logs (3) 归档进程自动备份在线日志归档进程自动备份在线日志 3.6 3.6 逻辑结构逻辑结构48OracleOracle 3.6 3.6 逻辑结构逻辑结构49OracleOracleLogical Structure 数据库由一个或多个表空间组成;数据库由一个或多个表空间组成; 表空间表空间(Tablespace)由一个或多个数据文件组成,表空间包含段;由一个或多个数据文件组成,表空间包含段; 段段(Segment)(表、索引等)由一个或多个盘区组成。段存在于表空(表、索
43、引等)由一个或多个盘区组成。段存在于表空间中,但是在表空间中可以有许多数据文件中的数据;间中,但是在表空间中可以有许多数据文件中的数据; 盘区盘区(Extent)是在磁盘上连续的块的组成。一个盘区在一个表空间中,是在磁盘上连续的块的组成。一个盘区在一个表空间中,且在表空间中单一的文件中;且在表空间中单一的文件中; 块块(Block)是数据库中最小的分配单元,也是数据库使用的最小是数据库中最小的分配单元,也是数据库使用的最小I/O单单元。元。 注:每个数据库至少有一个表空间注:每个数据库至少有一个表空间SYSTEM(系统)表空间。用系统)表空间。用于存储数据库中的数据字典,存储全部于存储数据库中
44、的数据字典,存储全部PL/SQL的源代码和编译后的代码。的源代码和编译后的代码。 3.6 3.6 逻辑结构逻辑结构50OracleOracle表空间表空间 Oracle架构的逻辑结构规定数据库的物理空间如何被使用。结构中架构的逻辑结构规定数据库的物理空间如何被使用。结构中存在一个层次,包含表空间、段、盘区和块。存在一个层次,包含表空间、段、盘区和块。 Oracle database中一个一个的逻辑区间,称之为表空间。比如说用中一个一个的逻辑区间,称之为表空间。比如说用不同的表空间存放表数据、索引数据、回滚数据、临时数据等。不同的表空间存放表数据、索引数据、回滚数据、临时数据等。 表空间是用户可
45、以在表空间是用户可以在Oracle系统中使用的最大的逻辑存储单元,用系统中使用的最大的逻辑存储单元,用户在数据库中建立的所有内容都会存储在表空间中。户在数据库中建立的所有内容都会存储在表空间中。 3.6 3.6 逻辑结构逻辑结构51OracleOracle段段 类似表、索引,每个独立的数据对象所占用的空间集合称为段。段类似表、索引,每个独立的数据对象所占用的空间集合称为段。段是用户建立的数据库对象的存储表示。用户建立的每一个表都会有一个是用户建立的数据库对象的存储表示。用户建立的每一个表都会有一个在表空间中存储的逻辑段。在表空间中存储的逻辑段。 在在Oracle系统中,有系统中,有3种类型的段
46、,分别为数据段、临时段和回滚段。种类型的段,分别为数据段、临时段和回滚段。 数据段是存储表、索引、簇和表分区等常规应用数据的地方。数据段是存储表、索引、簇和表分区等常规应用数据的地方。 临时段是临时表空间中的段,可以用于存储临时表和引起内存页交临时段是临时表空间中的段,可以用于存储临时表和引起内存页交换的换的SQL语句等。语句等。 回滚段用于管理数据库中的回滚段用于管理数据库中的undo数据,并为事务处理提供数据库的数据,并为事务处理提供数据库的读取一致性视图。读取一致性视图。 3.6 3.6 逻辑结构逻辑结构52OracleOracle盘区、块盘区、块 盘区是盘区是Oracle中实现空间分配
47、的单位,用来存储段数据逻辑上连续中实现空间分配的单位,用来存储段数据逻辑上连续的数据块。当建立数据库对象时,系统就会建立一个或多个盘区来存储的数据块。当建立数据库对象时,系统就会建立一个或多个盘区来存储数据。在数据。在Oracle系统中,默认的表空间的盘区管理风格是本地化管理,系统中,默认的表空间的盘区管理风格是本地化管理,而不是字典管理。而不是字典管理。 数据块代表数据库中最小的逻辑数据存储层次,数据块代表数据库中最小的逻辑数据存储层次,Oracle最终以块来最终以块来存储数据。借助于盘区,一次分配如存储数据。借助于盘区,一次分配如1M的内存,即包含了若干个块的内存,即包含了若干个块(4KB或或8KB),减少了频繁分配块尺寸小内存的过多的,减少了频繁分配块尺寸小内存的过多的I/O操作。操作。 需要注意的是,盘区是一个分配单位,而块是一个使用单位。需要注意的是,盘区是一个分配单位,而块是一个使用单位。 3.7 3.7 总结总结53OracleOracle总结:总结: 解释了数据库文件:数据文件,控制文件,在线重做日解释了数据库文件:数据文件,控制文件,在线重做日志志 解释了解释了SGA内存结构:数据库缓冲,共享内存结构:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NPI流程及标准文件清单模板
- 建筑工程工商合同范本
- 工程施工合同分账协议
- Unit6SectionAa-e课件人教版英语七年级上册()-1
- 房地中介劳动合同范本
- 报关委托协议合同范本
- 客户代理服务合同范本
- 奶茶店合作的合同范本
- 家居贸易采购合同范本
- 工作服务清洗合同范本
- 2025新疆智慧口岸建设白皮书
- 2025岚图汽车社会招聘(公共基础知识)测试题附答案
- 2026年安全员考试题库300道附完整答案【必刷】
- 医疗纠纷预防与处理流程
- 2025福建德化闽投抽水蓄能有限公司招聘15人模拟试卷附答案
- 销售行业合同范本
- 2026年民用无人机操控员执照(CAAC)考试复习重点题库标准卷
- 英语试卷+答案黑龙江省哈三中2025-2026学年上学期高二学年12月月考(12.11-12.12)
- 运输企业消防安全责任制
- 安徽金轩科技有限公司 年产60万吨硫磺制酸项目环境影响报告书
- 厦深铁路福建段某标段工程投标施工组织设计
评论
0/150
提交评论