第二章 Oracle体系结构_第1页
第二章 Oracle体系结构_第2页
第二章 Oracle体系结构_第3页
第二章 Oracle体系结构_第4页
第二章 Oracle体系结构_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、Oracle体系结构Oracle数据库的配置,一、体系结构,Oracle系统具有可扩充性、可靠性、可管理性等优点,这些能力与Oracle的体系结构密切相关。 体系结构指:组成Oracle系统的主要组成部分,这些部分之间的关系,以及这些部分的工作方式。 学习体系结构的目的:可以在各种不同的应用环境中高效的利用Oracle的各种资源。,记忆+理解 oracle的结构和它的主要组件 各组件的功能 用户和oracle实例连接用到的结构 Oracle数据库的逻辑结构 数据字典,主要组件,Instance,SGA,Redo logbuffer cache,Shared pool,Data Dict.cac

2、he,Library cache,DBWR,SMON,PMON,CKPT,LGWR,Others,Userprocess,Serverprocess,PGA,Control files,Data files,Archived log files,Parameter file,Password file,Redo log files,Database,Databasebuffer cache,Oracle Server= 实例+数据库,Oracle实例(instance),是用户访问物理数据库的手段。 组成: 系统全局区 + 后台进程 SGA(system global area) backgr

3、ound process 一个instance只能操作一个数据库,它们通常是1:1的关系,在并行数据库中是n:1。,Background structures,Memory structures,SGA,Redo logbuffer cache,Database buffer cache,Shared pool,DBWR,SMON,PMON,CKPT,LGWR,Others,Data Dictionarycache,Library cache,Instance,主要组件,Instance,SGA,Redo logbuffer cache,Shared pool,Data Dict.cache,

4、Library cache,DBWR,SMON,PMON,CKPT,LGWR,Others,Userprocess,Serverprocess,PGA,Control files,Data files,Archived log files,Parameter file,Password file,Redo log files,Database,Databasebuffer cache,Oracle Server= 实例+数据库,Database(物理结构),Database是数据的集合 data file(数据文件)、Control file(控制文件)、Redo Log file(重做日志文

5、件) 三种文件都可能是多个的,是必须的 其他: 参数文件、口令文件、归档日志文件,Control files,Data files,Archived log files,Parameter file,Password file,Redo log files,Oracle Database,数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据(包括系统数据)。通常为后缀名为.dbf格式的文件。 一个数据文件只属于一个数据库。 DBWn将数据从数据库缓冲区高速缓存写入到数据文件,数据文件,日志文件(又称重做日志文件),用于记录数据库所做的全部变更,这些修改信息可能是DML语句,如(In

6、sert,Update,Delete),或DDL语句,如(Create,Alter,Drop等),以便在系统发生故障时,用它对数据库进行恢复。 名字通常为Redo*.log格式 LGWR从重做日志缓冲区将事务的重做日志写到日志文件中。,日志文件,一个数据库至少有两个重做日志文件,循环写入。,redo1.log redo2.log,备份文件,每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构:数据库名,数据库的数据文件、日志文件的名字和位置等。 名字通常为Control*.ctl格式,控制文件,控制文件中的内容只能够由Oracle本

7、身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时复用多个控制文件,但是一个控制文件只能属于一个数据库。 控制文件损坏或丢失,有可能导致无法打开数据库或导致数据库崩溃。 建议:在多个磁盘保存控制文件的备份。,文件信息查询,select name from v$datafile; select name from v$controlfile; select * from v$logfile;,配置文件-参数文件Pfile,-初始参数文件是一个ASCII文本文件initsid.ora,记录Oracle数据库运行时的一些重要参数。其中的参数值决定数据库和实例的特性。 initsid.

8、ora放在Oraclehomeadminorcl子目录中 -可以打开文件,修改参数,做的改动在Oracle重启之后生效。,Oracle9i新引入一个服务器参数文件(SPFILE)。 服务器参数文件是二进制文件, 保存在E:oracleproduct10.2.0db_1dbs子目录, 名字为spfilesid.ora,不能使用文本编辑器修改。Oracle提供了浏览和查看相关参数的另外接口。 Oracle实例启动读取参数文件的顺序: Spfilesid.ora initsid.ora(pfile),服务器参数文件SPFILE,用命令修改spfilesid.ora中的参数值,Alter system

9、 set timed_statistics=false scope=memory;当前立即生效,下次重启oracle,恢复到以前值 Alter system set timed_statistics=false scope=spfile; 下次重启oracle 开始生效。 Alter system set timed_statistics=false scope=both;当前立即生效,重启也有效.,物理结构小结,Oracle文件一般包括: 数据文件数据库的数据重做日志文件存日志项控制文件数据库的结构参数文件 控制内存/实例 口令文件 database中 警告和追踪日志文件 bdump中,实例

10、,系统全局区 + 后台进程 SGA(system global area) background process,Background structures,Memory structures,SGA,Redo logbuffer cache,Database buffer cache,Shared pool,DBWR,SMON,PMON,CKPT,LGWR,Others,Data Dictionarycache,Library cache,Instance,系统全局区,系统全局区(SGA,System Global Area.) 是实例的主要部分,也是Oracle内存结构的主要组成部分。是O

11、racle为一个实例分配的一组共享内存缓冲区。 保存着Oracle系统与所有数据库用户的共享信息,包括共享数据、SQL语句分析,重做日志管理等。 SGA:数据库缓冲区高速缓存+重做日志缓存+共享池+ Java池+大池fixed pool 自动/手动调整。,数据库缓冲区存放用户进程发布SQL语句后从数据文件检索到的数据。 好处: 1、改善对相同数据重复执行select的语句性能。 2、使Oracle用户能够在内存中对数据进行快速更改。,1数据库缓冲区高速缓存(database buffer cache),数据库缓冲区的大小更改方法: 1、 DB_BLOCK_SIZE 决定数据库块的大小 DB_B

12、LOCK_BUFFERS 包含数据库块的数目 2、直接由初始化参数DB_CACHE_SIZE指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。,ALTER SYSTEM SET DB_CACHE_SIZE = 96M;,对数据库执行语句生成的重做项临时存放到重做日志缓冲区(Redo Log Buffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件。 重做项即在进行insert、update、delete、create、alter和drop语句进行数据库更改时,oracle为了重构或重做保存的信息 其大小(以字节为

13、单位)由LOGBUFFER参数决定,2重做日志缓冲区,共享池,共享池(Shared Buffer)存放最近执行的sql语句和最近使用的数据定义。 包括:库高速缓存 数据字典高速缓存 其他可选结构。(跟服务器采用专用/共享有关) SHARED_POOL_SIZE定义其大小,ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;,库高速缓存(Library cache),存储最近用过的SQL和PL/SQL语句 有利于常用语句的共享(已经分析过了) 采用LRU(Least Recently Used)算法来更新 包括两个结构:共享SQL区和共享PL/SQL区,字典缓冲区(d

14、ictionary cache),字典缓冲区保存最近存取的Oracle数据字典中的信息,诸如表和列定义、用户名、口令、权限等。 采用LRU(Least Recently Used)算法来更新 缓存数据字典信息可以提高查询响应时间。 其大小由共享池的大小决定,SGA查询,select * from v$sga; SQL show sga Total System Global Area 251658240 bytes -240M Fixed Size 1248380 bytes -1.19M Variable Size 92275588 bytes -88M Database Buffers 1

15、55189248 bytes -148M Redo Buffers 2945024 bytes -2.8M,测试sql语句分析所用的时间,测试sql语句分析时间 oracle处理查询及DML的过程,后台进程,维持实例跟物理文件之间联系 必须的: DBWnPMONCKPT LGWRSMONRECO 可选的: ARCnLMONSnnn QMNnLMDn CJQ0Pnnn LCKnDnnn,Database Writer (DBWn),DBWn 写把 database buffer cache的数据写到数据文件中,写入时机 : 检查点发生 脏数据达到一个阈值 没有空闲的缓冲区 超时等,Databas

16、e,Instance,SGA,DBWn,Redo log buffer,Log Writer (LGWR),LGWR 把Redo log buffer的日志项写到日志文件中,写入时机: commit 提交 1/3满 1 MB 重做日志 每3秒 Before DBWn writes,Control files,Data files,Redo log files,LGWR,Database,Instance,SGA,SMON,System Monitor (SMON),负责: 启动时实例恢复 每三秒连结空闲的表空间 回收临时段,Control files,Data files,Redo log f

17、iles,Instance,SGA,SMON,Database,Process Monitor (PMON),在服务器进程出现故障时进行进程的恢复。 回滚事务 释放资源 重新启动死掉的进程,PGA area,Instance,SGA,DBWn,LGWR,CKPT,Control files,Data files,Redo log files,Checkpoint (CKPT,检查点),能保证数据缓冲区中修改的数据能写到数据文件中。 检查点时通知 DBWn 写 检查点时更新数据文件头 检查点时更新控制文件头,Archiver (ARCn),可选的后台进程 当被设置成归档模式时,自动备份在线重做日

18、志文件。 保存所有的数据库更改记录,Control files,Data files,Redo log files,Archived Redo log files,ARCn,Oracle其它内存结构,进程全局区(Process Global Area,PGA):当服务器进程启动的时候被分配。是进程专有的,其他进程/线程不能访问。只有其服务进程本身才能够访问它自己的PGA区。 存储诸如绑定变量值、排序区及游标处理等信息,帮助执行用户进程。,用户全局区(User Global Area),UGA:这个内存区与特定的会话相关联。它可能在SGA中分配,也可能在PGA中分配,这取决于是用共享服务器还是用

19、专用服务器来连接数据库。如果使用共享服务器,UGA就在SGA中分配;如果使用专用服务器,UGA就会在PGA(即进程全局区)中。,用户进程:当用户运行一个应用程序时,系统就为它建立一个用户进程。用户进程执行的是一个应用程序或Oracle工具程序的代码,以完成用户所指定的任务。,Oracle其它进程,服务器进程处理与应用程序相连的用户进程的请求,它与用户进程相通讯,服务于相连的用户进程的请求。,专用服务器和共享服务器,专用服务器:为每一个用户进程创建一个服务器进程。1:1 共享服务器:多个用户进程共享若干个服务器进程,如果用户很多,需要等待。,共享服务器模式,如图所示,客户连接向调度器发送一个请求

20、。调度器首先将这个请求放在SGA中的请求队列中 。第一个可用的共享服务器从请求队列中取出这个请求并处理。共享服务器的处理结束后,再把响应(返回码、数据等)放到响应队列中,接下来调度器拿到这个响应,传回给客户。,用户和oracle实例连接,专用服务器模式下的连接,共享服务器模式下的连接,监听器,Oracle监听器进程监听通过网络连接到数据库的用户。 一旦监听器进程将用户连接交给了专用服务器进程或调度进程,那么在连接中就不再涉及它了,它将返回以便为新到来的连接服务。,小结,能够解释oracle物理结构 能够解释SGA内存结构:数据库缓冲区高速缓存、重做日志缓冲区、共享池 了解主要的后台进程: DB

21、Wn, LGWR, CKPT, PMON, SMON, and ARCn 用户和oracle实例建立连接的过程,表空间(tablespace),段(segment),区(extent),数据库块(block),逻辑结构,表空间、段、区、数据库块,是oracle逻辑磁盘资源的重要的组成成分。 数据库的逻辑结构支配一个数据库如何使用系统的物理空间。 数据库从逻辑上由一个或多个表空间组成。每个表空间由段组成,一个段由一组区组成,一个区由一组连续的数据库块组成。一个数据库块对应硬盘上的一个或多个物理块。,Database,Logical,Physical,Tablespace,Data file,OS

22、 block,Oracle block,Segment,Extent,Database Storage Hierarchy,表空间:Oracle逻辑存储结构的最高层,一个数据库通常由若干个表空间组成,每个表空间可以对应若干个数据文件。,表空间,数据库,表空间,数据文件,表、索引,如果表空间只对应一个数据文件,该表空间中所有的对象都存储在此数据文件中。 如果表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。,表空间中对象的存储,段,表空间中的空间以段为单位进行分配。 段是为某个逻辑结构分配的一组区。 例如:通常,每

23、个表都有一个数据段 段由区组成。每个段在创建时都会分配一定数目的初始区(主区) 当主区用完,自动为段分配新区。,当数据库对象用光了段中的空间还需要增加更多的数据时,以区的形式分配更多的空间。 区是由连续的数据库块组成的数据库存储空间。区的大小可能不同,可以是一个Oracle数据块,也可以大到2 GB。 区是分配的单位。,区,区又进一步由块组成。块(block)是Oracle中最小的空间分配单位。数据行、索引条目或临时排序结果就存储在块中。通常Oracle从磁盘读写的就是块。Oracle中块的常见大小有4种:2 KB、4 KB、8 KB或16 KB,数据库块,段、区和数据库块,Oracle中除了

24、用户创建的存放数据对象的数据表空间外,还有以下类型的表空间: (1)System表空间,存系统数据,包括数据字典。 (2)回滚表空间(RollBack TableSpace) (3)临时表空间(Temp TableSpace),表空间的分类,在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的IO冲突。 (2)能够将回滚数据与用户数据分离开来,避免由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬盘上,平均分布物理IO操作。,使用表空间的优点,(4)能够将某个表空间设置为脱机状态

25、或联机状态,以便对数据库的一部分进行备份和恢复。 (5)能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。 (6)能够为某种特殊用途专门设置一个表空间,比如临时表空间等,以优化表空间的使用效率。 (7)能够更加灵活地为用户设置表空间限额。,1数据段:保存的是表中的记录。 2索引段:保存索引中的索引条目。 3临时段:当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据。 4回滚段:用于存放数据修改之前的值(包括数据修改之前的位置和值)。,段种类,逻辑结构小结,表空间、段、区、数据库块之间的关系 它们的用途 表空间

26、与数据文件的关系 表空间分类、段的分类,数据字典是Oracle数据库的核心组件,它随着数据库的产生而产生, 随着数据库的变化而变化. 数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。我们不能手工修改数据字典里的信息。 数据字典由sys拥有,在system表空间中。,数据字典,数据库所有对象的定义(表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等) 为对象如何分配和使用空间 列的默认值 完整性约束信息 数据库安全信息,包括用户、权限、角色等 审计信息,数据字典包括:,数据字典的结构,基础表 动态性能视图 数据字典视图 ALL视图,USE

27、R视图和DBA视图。,1基础表,存储相关数据库信息的表,这些数据库的信息包括表、索引、约束,以及所有其他数据库对象结构的信息。是Oracle系统的核心。System表空间的X$表 非常重要。要避免以sys身份登录破坏基表。决不能给其他用户直接访问基表的权力。,2动态性能视图,Oracle维护了一种表的集合,记录当前数据库的活动。这些表称为动态性能表。在这些表上面创建的视图被称为动态性能视图(dynamic performance view)。 V$LOG,LOGFILE V$DATAFILE V$CONTROLFILE V$DATABASE 数据库的常规信息 V$SYSSTAT -数据库性能信

28、息 V$SESSION, V$SESSTAT 会话信息、性能,ALL视图:当前用户所拥有的,或者虽然不拥有但是可以访问的数据库对象。,数据字典视图,USER视图:前缀为USER,当前用户模式下所有对象的信息。,DBA视图:前缀为DBA,在DBA数据字典视图中包含着全部数据库对象的信息。对于带有DBA前缀的视图,显示了整个数据库的情况。因此,它们只能被数据库管理员查询。授予系统权限SELECT ANY TABLE的用户都能查询带有DBA前缀的视图。,USER_TABLES:视图范围_视图主题 视图范围:,视图主题: (前缀:USER_ ALL_ DBA_) OBJECTS、TABLES、INDE

29、XES、VIEWS、SEQUENCES、USERS、CONSTRAINTS、CONS_COLUMNS、IND_COLUMNS、TAB_COLUMNS、ROLES、TAB_PRIVS、SYS_PRIVS、SOURCE、TRIGGERS ROLE_TAB_PRIVS 、ROLE_SYS_PRIVS、ROLE_ROLE_PRIVS、DBA_TABLESPACES、DBA_TS_QUOTAS、DBA_DATAFILES、DBA_SEGMENTS、DBA_EXTENTS、DBA_FREE_SPACE、DBA_PROFILES,数据字典的查询,Select * from user_tables; Desc

30、ribe dba_source列出表的结构、都有哪些字段、什么类型。 select * from dba_source where owner=SCOTT;查看字段的值,数据字典小结,数据字典包含了从所建立的数据库表到数据库性能信息等各方面的信息。 数据字典由表和视图组成。可查询数据字典视图获得数据库的信息。 数据字典由sys拥有,在system表空间中。,数据库管理,创建数据库/删除数据库 启动和关闭数据库,创建新的数据库/配置em/设置专用、共享服务器/删除数据库 :数据库配置助手(DBCA),数据库配置,创建数据库准备工作,需要: 相应的权限:操作系统 足够的内存来开启实例 足够的磁盘空

31、间来存放数据库 计划: 数据库文件的位置、每种文件的大小、个数。 至少两个控制文件,不同的磁盘存放 多个重做日志文件,组成员分布到不同磁盘上,手工创建数据库,crdbdb01.sql SQL create database db01 2 logfile 3 GROUP 1 (/u01/oradata/db01/log_01_db01.rdo) SIZE 15M, 4 GROUP 2 (/u01/oradata/db01/log_02_db01.rdo) SIZE 15M, 5 GROUP 3 (/u01/oradata/db01/log_03_db01.rdo) SIZE 15M 6 datafile /u01/oradata/db01/system_01_db01.dbf SIZE 100M 7 undo tablespace UNDO 8 datafile /u01/oradata/db01/undo_01_db01.dbf SIZE 40M 9 default temporary tablespace TEMP 10 tempfile /u01/oradata/db01/temp_01_db01.dbf S

温馨提示

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

评论

0/150

提交评论