Oracle数据库讲义(第四章)课件_第1页
Oracle数据库讲义(第四章)课件_第2页
Oracle数据库讲义(第四章)课件_第3页
Oracle数据库讲义(第四章)课件_第4页
Oracle数据库讲义(第四章)课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

讲义Oracle数据库2009.3李明俊讲义Oracle数据库2009.3李明俊1第四章Oracle数据库体系结构

第四章Oracle数据库体系结构

2本章内容4.1Oracle数据库的逻辑结构4.2Oracle数据库的物理结构4.3数据字典4.4Oracle的内存结构

本章内容4.1Oracle数据库的逻辑结构34.1Oracle数据库的逻辑结构从逻辑上看,Oracle数据库可以划分为表空间、段、区和块,以有效管理、存储、检索数据。4.1Oracle数据库的逻辑结构从逻辑上看,Oracl4Oracle数据库结构数据库表空间用户表空间索引表空间临时表空间回退表空间段数据段索引段临时段回退段区空闲区使用区数据文件用户文件索引文件临时文件回退文件数据块Oracle数据库结构数据库表空间用户表空间索引表空间临时表54.1.1表空间(TABLESPACE)1.表空间及其作用逻辑上来说,Oracle数据库划分为表空间,一个表空间通常将相关的逻辑结构组织在一起。一个数据库通常由一个或多个表空间组成,表空间可分为系统(SYSTEM)表空间和非系统表空间。数据库的数据逻辑上存储在表空间上,实际上存储在表空间所对应的物理数据文件上。4.1.1表空间(TABLESPACE)62.表空间类型数据字典管理表空间—Oracle8以下版本采用。本地化管理表空间—Oracle8i以上版本采用。Oracle8i-Oracle9iRelease1两种方法都可采用。Oracle9iRelease2完全采用本地化管理表空间。两种管理方法的区别:--数据字典管理表空间当空间需要扩充时必须通过查询数据字典来查找空闲块,对磁盘碎片不能自动合并。--本地化管理表空间使用位图的方法查找空闲空间,产生的磁盘碎片可以自动合并。目前安装的数据库是Oracle9iRelease2版,可通过查询DBA_TABLESPACES了解表空间的状态。2.表空间类型7表空间用户表空间系统表空间数据库磁盘驱动器1

磁盘驱动器2

数据文件1数据文件2数据文件3表空间用户表空间系统表空间数据库磁盘磁盘数据文件1数据文件28一个表空间中的数据文件的个数与操作系统有关,一般来说是1022个;一个数据库中的数据文件的最大个数是65533。使用CREATEDATABASE或CREATECONTROLFILE语句中的MAXDATAFILES参数会限制每一个数据库的数据文件个数。数据库的表空间个数没有限制,但数据库只允许65533个数据文件,一个表空间至少有一个数据文件,因此数据库的表空间数不能超过65533个。

一个表空间中的数据文件的个数与操作系统有关,一般来说是1029数据库管理员(DBA)可利用表空间完成下列工作:控制数据库数据的磁盘分配。将确定的空间份额分配给数据库用户。通过使单个表空间联机或脱机,控制数据的可用性。执行部分数据库后备或恢复操作。为提高性能,跨越设备分配数据存储。数据库管理员(DBA)可利用表空间完成下列工作:103.建立表空间下列命令建立一个表空间的格式:CREATETABLESPACEtablespaceDATAFILEdatafileSIZEnnnM【autoxtendonnextnnnMmaxsizennnnM|unlimited】EXTENTMANAGEMENTLOCALUNIFORMSIZEnnnM|AUTOALLOCATE;tablespace—表空间datafile--数据文件autoxtendonnext—文件空间自动增加EXTENTMANAGEMENTLOCAL—代表本地化表空间UNIFORM–区大小相同AUTOALLOCATE–区大小系统动态自动分配3.建立表空间下列命令建立一个表空间的格式:11下列命令建立一个USER_DATA本地化管理表空间,尺寸为100M。CREATETABLESPACEUSER_DATADATAFILE´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000mEXTENTMANAGEMENTLOCALUNIFORMsize500k;

其中:´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000m是对数据文件的描述,而下面的子句是对表空间的描述。EXTENTMANAGEMENTLOCALUNIFORMsize500k;下列命令建立一个USER_DATA本地化管理表空间,尺寸为112下列命令建立一个USER_DATA本地化管理表空间,尺寸为300M,DATAFILE从句指定多个数据文件,并用逗号隔开,以建立大容量的数据文件。CREATETABLESPACEUSER_DATADATAFILE´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000m,´f:\oracle\oradata\test\user2_data.dbf´SIZE100mautoxtendonnext100mmaxsizeunlimited,´f:\oracle\oradata\test\user3_data.dbf´SIZE100mEXTENTMANAGEMENTLOCALUNIFORMsize500k;下列命令建立一个USER_DATA本地化管理表空间,尺寸13下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更加有效,以改进性能。临时表空间内不能驻留永久数据。只能为临时段指定临时表空间。CreatetemporaryTablespaceTEMP2Tempfile'D:\oracle\oradata\test\Temp01.dbf'Size500MEXTENTMANAGERMENTLOCALUniformSize5M;下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更144.修改表空间1.修改表空间的数据文件,给表空间增加数据文件ALTERTABLESPACEUSER_DATAADDDATAFILE´f:\oracle\oradata\user01.dbf´SIZE30M;2.修改表空间的可用性,将表空间联机ALTERTABLESPACEUSER_DATAONLINE;3.修改表空间的非可用性,将表空间脱机ALTERTABLESPACEAPPL_DATAOFFLINE;4.修改表空间管理只读模式ALTERTABLESPACEUSER_DATAREADONLY;5.修改表空间管理只读写模式ALTERTABLESPACEUSER_DATAREADWRITE;4.修改表空间155.查询表空间信息有关表空间的信息,可以查询DBA_TABLESPACES、DBA_DATA_FILES、DBA_FREE_SPACE、V$TABLESPACE、V$SORT_USAGE、V$DATAFILE等数据字典和视图。DBA_TABLESPACES包含了数据库中所有表空间的信息(表空间名字、默认的存储参数、类型、状态、是否永久/临时等),而USER_TABLESPACES包含了用户拥有的表空间的信息。查询DBA_DATA_FILES返回表空间数据文件信息(表空间名、表空间的数据文件、数据文件尺寸),是否自动扩展设置信息。SELECTFILE_NAME,TABLESPACE_NAME,BYTES,AUTOEXTENTSIBLE,MAXBYTESFROMDBA_DATA_FILES;5.查询表空间信息有关表空间的信息,可以查询DBA_TABL16查询DBA_FREE_SPACE返回所有表空间中可用的自由区,查询一个表空间总的自由空间;USER_FREE_SPACE显示当前用户拥有的表空间中的自由区。SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACE FROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;查询该视图从控制文件获得表空间名。SELECT*FROMV$TABLESPACE;Oracle数据库讲义(第四章)课件17V$DATAFILE,这是动态性能视图,包含数据文件名字、尺寸、数据文件所在的表空间名、数据文件的状态(OFFLINE、ONLINE、READWRITE、READONLY)。其他视图DBA_SEGMENTS、ALL_SEGMENTS、USER_SEGMENTS:包含段的类型、段的尺寸、表空间相关的存储参数。DBA_EXTENTS、ALL_EXTENTS、USER_EXTENTS:包含区的尺寸、与区相关的段和表空间信息。DBA_TEMP_FILES:包含本地化管理的临时表空间的临时文件。DBA_USERS:包含为用户指定的默认表空间和临时表空间。V$TEMP_EXTENT_MAP:包含一个本地化管理的临时表空间的所有区的信息V$DATAFILE,这是动态性能视图,包含数据文件名字186.UNDO表空间

UNDO表空间Oracle9i中引入的全新的概念,它自动对回退段进行管理,当一个回退段不足时,一个事务可以使用多个回退段,Oracle会自动使用其他回退段,不终止事务的运行。6.UNDO表空间194.1.2段(SEGMENT)段是表空间中指定类型的逻辑存储结构,是为表、索引等逻辑结构分配的区(extent)的集合。Oracle的段主要有5种类型。数据段:用于存储表、分区的数据。每建立一张表,就分配一个段。索引段:存储索引数据。每建立一个索引,就分配一个索引段。临时段:数据库执行排序或子查询时需要临时工作区,系统自动建立临时段,操作执行结束自动释放临时段。回退段:当用户对数据库执行修改操作时,系统将修改前的数据存入回退段,在执行回退命令rollback时,回退段中的数据用于撤消所作的修改。4.1.2段(SEGMENT)段是表空间中指定类型的逻辑存204.1.3区(EXTENT)区是分配空间的最小单位。一个区由一组连续的逻辑块组成。一个段至少包含一个区。当一段中所有空间已使用完,Oracle为该段分配一个新的区。区的分配和回收是系统自动完成的。4.1.3区(EXTENT)区是分配空间的最小单位。一个区214.1.4块(BLOCK)块是Oracle内最小的逻辑单元,是I/O的最小单位。一个数据块对应一个或多个操作系统物理块。块的大小是在数据库建立时,使用参数DB_BLOCK_SIZE决定(系统缺省值为8K)。该参数在数据库建立后不能更改,除非重建数据库。4.1.4块(BLOCK)块是Oracle内最小的逻辑单元224.2Oracle数据库的物理结构数据库的物理结构是数据库中操作系统文件的集合。

Oracle数据库文件数据库数据文件控制文件重做日志重做日志参数文件口令文件归档的日志文件4.2Oracle数据库的物理结构数据库的物理结构是数据234.2.1数据文件

数据文件有如下特点:每个数据库至少有一个数据文件。每个数据文件只与一个表空间、一个数据库相关。在数据库中建立的表、索引等对象只能存储在一个表空间中。但这些对象的物理存储可以在该表空间的不同数据文件上。一般的做法是将表数据与索引数据存放在不同的数据文件上,将回退信息与临时数据存放在不同的数据文件上。4.2.1数据文件数据文件有如下特点:24对象1对象2对象3表空间1表空间2数据文件1数据文件2数据文件3对象4对象5

对象1对象2对象3表空间1表空间2数据文件1数据文件2数据文25创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建立一300M的数据文件。 CREATETABLESPACEAPPL_DATADATAFILE´f:\oracle\oradata\test\appl_data.dbf´SIZE300M;也可以给已经存在的表空间增加数据文件。 ALTERTABLESPACEUSERSADDDATAFILE ´f:\oracle\oradata\test\appl_data.dbf´SIZE25M;查询数据文件 通过V$DATAFILE,V$TEMPFILE,DBA_DATA_FILES,DAB_EXTENTS等数据字典和视图可以查询数据文件的相应信息。例如查询数据文件中的状态,名字。其中system01.dbf文件的状态为system,表明该文件是系统表空间的一部分。创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建26调整数据文件的尺寸建立文件时设置AUTOEXTEND,使得数据文件尺寸自动扩展,或使用ALTERDATABASE设置自动扩展; CREATETABLESPACEAPPL_DATA DATAFILE´f:\oracle\oradata\test\appl_data.dbf´ SIZE500MAUTOEXTENDONNEXT100MMAXSIZE2000M; ALTERDATABASEDATAFILE ´f:\oracle\oradata\test\appl_data.dbf´ AUTOEXTENDONNEXT100MMAXSIZE2000M;另一方法是手工操作,执行命令ALTERDATABASEDATAFILE的RESIZE从句来调整数据文件尺寸。 ALTERDATABASEDATAFILE´f:\oracle\oradata\test\appl_data.dbf´RESIZE1500M;调整数据文件的尺寸274.2.2重做日志Oracle数据库的重做日志(redolog),也称为事务日志(transactionlog),是数据库的重要组成部分,用于保护所有已提交事务的工作。日志文件分为联机重做日志文件和归档日志文件。日志文件的工作模式分为归档模式(Archivelog)和非归档模式(NoArchivelog)两种。

数据库的重做日志是存储在硬盘上的一组系统数据文件。

日志文件组日志文件组归档的事务日志日志切换日志切换4.2.2重做日志Oracle数据库的重做日志(redo28归档日志模式(Archivelog)当联机重做日志文件写满一个后开始写另一个联机重做日志文件之前,把要开始写的日志转存到归档日志文件中,然后再写该日志,这种方式为归档模式。非归档日志模式(NoArchivelog)当联机重做日志文件写满一个后直接覆盖写另一个联机重做日志文件,进行循环覆盖写联机重做日值,会丢失最早的日志,这种方式为非归档模式。查看联机重做日志文件信息 在V$Logfile、V$Log、V$Log_History等数据字典中,可以查看日志文件的组、状态、名称等信息。

归档日志模式(Archivelog)294.2.3控制文件控制文件用于记录和维护数据库的全局物理结构,是成功启动和操作数据库必须的二进制文件,以“.CTL”为文件后缀。一个数据库至少需要一个控制文件,每个控制文件只与一个数据库相关联。控制文件包含如下信息:数据库名数据库建立时间数据库中所有数据文件和日志文件的文件名和路径表空间名称当前重做日志文件序号检查点信息备份信息日志历史记录4.2.3控制文件控制文件用于记录和维护数据库的全局物理结30记录控制文件名和路径的参数在init.ora的control_files中。control_files=("F:\oracle\oradata\test\CONTROL01.CTL","F:\oracle\oradata\test\CONTROL02.CTL", "F:\oracle\oradata\test\CONTROL03.CTL")查看V$CONTROLFILE,得到控制文件的名称和状态。查看V$PARAMETER,得到所有初始化参数文件中的所有值、状态等信息。查看V$CONTROLFILE_RECORD_SECTION,获得控制文件的记录段的信息。通过OEM导航树来查看。3.控制文件的信息查看记录控制文件名和路径的参数在init.ora的control314.2.4参数文件参数文件确定存储结构的大小,设置数据库的默认值,设置数据库的各种物理属性,优化数据库性能。参数文件定义了Oracle实例(Instance)的特性,在建立数据库或启动实例时必须访问参数文件。参数文件是一文本文件,可直接使用任何文本编辑器进行编辑。在修改该文件前必须关闭数据库。修改的参数在重启数据库时才生效。

4.2.4参数文件参数文件确定存储结构的大小,设置数据库的32参数文件包含有实例配置参数,这些参数置成特殊值,用于初始Oracle实例的许多内存和进程设置,该参数文件包含:一组实例参数的值;一个实例所启动的数据库名字;在SGA中存储结构使用多少内存;如何处理联机日志文件;数据库控制文件的名称和位置;回退段的信息。参数文件包含有实例配置参数,这些参数置成特殊值,用于初始Or334.2.5其他Oracle文件其他Oracle文件主要有:口令文件,用于存放用户口令的加密文件归档文件,包含恢复所需的库结构和数据文件的副本警告文件,存放Oracle数据库运行当中出现的各种消息、警告和错误信息。跟踪文件,用于存储后台进程和服务器进程的跟踪信息,包括后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件,以“.TRC”为文件后缀服务器进程跟踪文件,主要跟踪SQL语句,通过它了解SQL语句的性能,并进行相应的调整。4.2.5其他Oracle文件其他Oracle文件主要有:344.3数据字典数据字典是由一组拥有数据库元数据的表和视图组成,用于存储Oracle数据库的结构信息。数据字典一般在创建数据库时建立,没有数据字典,PL/SQL就没法执行。数据字典分为静态字典和动态字典。4.3.1静态数据字典静态数据字典主要是表和视图。一般来说,数据字典中的表是不能被访问的。可以访问的是数据字典中的视图。静态数据字典中的视图分为3类,分别有3个前缀构成。user_*、all_*、dba_*4.3.2动态数据字典动态视图提供有关内存和磁盘的运行情况,用户只能读动态视图,不能写。动态视图以V$为前缀,例如V$logfile、V$session、V$active_instances、V$context等。4.3数据字典数据字典是由一组拥有数据库元数据的表和视图组354.4Oracle的内存结构4.4.1系统全局区:SystemGlobalArea—SGA数据块缓冲区—与数据文件进行数据交换重做日志缓冲区—与日志文件进行数据交换SQL共享池—处理SQL语句的内存空间,由库缓冲、数据字典缓冲以及用户全局区;4.4.2程序全局区:ProgramGlobalArea—PGA是非共享区,存储用户SQL语句中的变量、数组等;4.4.3排序区:存放用户排序数据,当数据量超出排序区大小时,将占用磁盘临时段。内存结构图在下页。4.4Oracle的内存结构36Oracle内存结构用户进程程序区PGAProgramGlobalArea排序区共享区SQL数据缓存区日志缓存过程.包库缓冲字典缓冲用户全局区全局区(SystemGlobalArea—SGA)LGWRARCHDBWR服务器进程数据文件日志文件归档日志文件Oracle内存结构用户进程程序区共享区SQL374.4.4后台进程后台进程用于处理并行用户请求所需的通用功能,它们不会损害系统的完整性和性能。它们把为每个用户运行的多个Oracle程序所处理的功能统一起来。后台进程执行I/O并监控其他Oracle进程以增加并行性,从而使性能和可靠性更加优越。每个例程至少包括5个基本的后台进程:DBWR—DatabaseWriter数据写入进程;LGWR—LOGWriter日志写入进程;SMON—SystemMonitor系统监控进程PMON—ProcessMonitor进程监控进程;CKPT—CheckPoint检查点进程。4.4.4后台进程后台进程用于处理并行用户请求所需的通用功38数据库写进程(DBWR)负责将更新的数据从数据库缓冲区高速缓存写入数据文件。日志写进程(LGWR)将重做日志缓冲区中注册的更改写入重做日志文件。系统监控进程(SMON)系统监控程序在数据库启动时,负责检查数据库的一致性,对数据库进行恢复操作过程监视进程(PMON)是一个被定时唤醒的后台进程,负责在一个Oracle进程失败时清理资源检查点进程(CKPT)-当日志文件切换时产生,检查内存数据是否完整写入当前文件。归档进程(ARCH)-在归档模式下,把重做日志文件写入归档日志文件。数据库写进程(DBWR)394.5小结Oracle数据库的体系结构包括物理结构、逻辑结构和例程。逻辑结构代表Oracle数据库中表、索引等可见部分;物理结构代表Oracle内部使用的存储方式,如数据文件、控制文件。从逻辑上看,Oracle数据库可以划分为表空间、段、区和块,以有效管理、存储、检索数据。一个数据库由若干个表空间组成。一个表空间由若干个相同或不同类型的段组成。在建立一个段时,至少包含一个区,区由连续的数据块组成。随着段的增长,区的个数会增加。数据块是Oracle读写的基本单元。一个数据块不同于物理文件块,一个数据块对应一个或多个物理文件的物理块。从逻辑上看,Oracle数据库可以划分为表空间、段、区和块,以有效管理、存储、检索数据。4.5小结Oracle数据库的体系结构包括物理结构、逻辑结40数据库的物理结构是数据库中操作系统文件的集合。Oracle数据库主要有数据文件、控制文件、重做日志文件、初始化参数文件和其他Oracle物理文件。数据字典是由一组拥有数据库元数据的表和视图组成,用于存储Oracle数据库的结构信息。数据字典用来描述数据的组织方式,用户不能直接更新数据字典,当用户执行相应操作时,Oracle自动更新数据字典,数据字典对用户和DBA是只读的。Oracle服务器有一个Oracle例程和一个Oracle数据库组成。Oracle例程可以分为后台进程和内存结构两部分。必须启动例程才能访问数据库,启动例程时,会分配系统全局区SGA,并启动Oracle后台进程。SGA是用于存储数据库信息的内存区,该信息为数据库进程所共享。后台进程执行I/O并监控其他Oracle进程。Oracle数据库用于存储和检索信息,是数据的集合。数据库的物理结构是数据库中操作系统文件的集合。Oracle数41内存结构是Oracle使用计算机内存存储Oracle运行所需的数据和程序,可以分为SGA区(系统全局区)和PGA区(程序全局区)两部分。Oracle是一个海量数据管理系统,为运行优化,Oracle创建和使用了不同的内存缓冲区,以减少磁盘输入/输出次数,并提高服务器性能,主要有高速缓存区、共享池和程序全局区。服务器进程是指运行在服务器上的程序,接受用户进程发出的请求,根据请求与数据库通信,完成与数据库的连接操作和I/O访问。用户进程是指在客户机上运行的程序,如SQLPlus、企业管理器等,用户进程向服务器进程请求信息。后台进程是Oracle数据库例程启动时自动建立,用来管理数据库的读写、恢复和监视工作,后台进程是服务器进程和用户进程之间通讯的桥梁。

内存结构是Oracle使用计算机内存存储Oracle运行所需42

讲义Oracle数据库2009.3李明俊讲义Oracle数据库2009.3李明俊43第四章Oracle数据库体系结构

第四章Oracle数据库体系结构

44本章内容4.1Oracle数据库的逻辑结构4.2Oracle数据库的物理结构4.3数据字典4.4Oracle的内存结构

本章内容4.1Oracle数据库的逻辑结构454.1Oracle数据库的逻辑结构从逻辑上看,Oracle数据库可以划分为表空间、段、区和块,以有效管理、存储、检索数据。4.1Oracle数据库的逻辑结构从逻辑上看,Oracl46Oracle数据库结构数据库表空间用户表空间索引表空间临时表空间回退表空间段数据段索引段临时段回退段区空闲区使用区数据文件用户文件索引文件临时文件回退文件数据块Oracle数据库结构数据库表空间用户表空间索引表空间临时表474.1.1表空间(TABLESPACE)1.表空间及其作用逻辑上来说,Oracle数据库划分为表空间,一个表空间通常将相关的逻辑结构组织在一起。一个数据库通常由一个或多个表空间组成,表空间可分为系统(SYSTEM)表空间和非系统表空间。数据库的数据逻辑上存储在表空间上,实际上存储在表空间所对应的物理数据文件上。4.1.1表空间(TABLESPACE)482.表空间类型数据字典管理表空间—Oracle8以下版本采用。本地化管理表空间—Oracle8i以上版本采用。Oracle8i-Oracle9iRelease1两种方法都可采用。Oracle9iRelease2完全采用本地化管理表空间。两种管理方法的区别:--数据字典管理表空间当空间需要扩充时必须通过查询数据字典来查找空闲块,对磁盘碎片不能自动合并。--本地化管理表空间使用位图的方法查找空闲空间,产生的磁盘碎片可以自动合并。目前安装的数据库是Oracle9iRelease2版,可通过查询DBA_TABLESPACES了解表空间的状态。2.表空间类型49表空间用户表空间系统表空间数据库磁盘驱动器1

磁盘驱动器2

数据文件1数据文件2数据文件3表空间用户表空间系统表空间数据库磁盘磁盘数据文件1数据文件250一个表空间中的数据文件的个数与操作系统有关,一般来说是1022个;一个数据库中的数据文件的最大个数是65533。使用CREATEDATABASE或CREATECONTROLFILE语句中的MAXDATAFILES参数会限制每一个数据库的数据文件个数。数据库的表空间个数没有限制,但数据库只允许65533个数据文件,一个表空间至少有一个数据文件,因此数据库的表空间数不能超过65533个。

一个表空间中的数据文件的个数与操作系统有关,一般来说是10251数据库管理员(DBA)可利用表空间完成下列工作:控制数据库数据的磁盘分配。将确定的空间份额分配给数据库用户。通过使单个表空间联机或脱机,控制数据的可用性。执行部分数据库后备或恢复操作。为提高性能,跨越设备分配数据存储。数据库管理员(DBA)可利用表空间完成下列工作:523.建立表空间下列命令建立一个表空间的格式:CREATETABLESPACEtablespaceDATAFILEdatafileSIZEnnnM【autoxtendonnextnnnMmaxsizennnnM|unlimited】EXTENTMANAGEMENTLOCALUNIFORMSIZEnnnM|AUTOALLOCATE;tablespace—表空间datafile--数据文件autoxtendonnext—文件空间自动增加EXTENTMANAGEMENTLOCAL—代表本地化表空间UNIFORM–区大小相同AUTOALLOCATE–区大小系统动态自动分配3.建立表空间下列命令建立一个表空间的格式:53下列命令建立一个USER_DATA本地化管理表空间,尺寸为100M。CREATETABLESPACEUSER_DATADATAFILE´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000mEXTENTMANAGEMENTLOCALUNIFORMsize500k;

其中:´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000m是对数据文件的描述,而下面的子句是对表空间的描述。EXTENTMANAGEMENTLOCALUNIFORMsize500k;下列命令建立一个USER_DATA本地化管理表空间,尺寸为154下列命令建立一个USER_DATA本地化管理表空间,尺寸为300M,DATAFILE从句指定多个数据文件,并用逗号隔开,以建立大容量的数据文件。CREATETABLESPACEUSER_DATADATAFILE´f:\oracle\oradata\test\userl_data.dbf´SIZE100mautoxtendonnext100mmaxsize1000m,´f:\oracle\oradata\test\user2_data.dbf´SIZE100mautoxtendonnext100mmaxsizeunlimited,´f:\oracle\oradata\test\user3_data.dbf´SIZE100mEXTENTMANAGEMENTLOCALUNIFORMsize500k;下列命令建立一个USER_DATA本地化管理表空间,尺寸55下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更加有效,以改进性能。临时表空间内不能驻留永久数据。只能为临时段指定临时表空间。CreatetemporaryTablespaceTEMP2Tempfile'D:\oracle\oradata\test\Temp01.dbf'Size500MEXTENTMANAGERMENTLOCALUniformSize5M;下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更564.修改表空间1.修改表空间的数据文件,给表空间增加数据文件ALTERTABLESPACEUSER_DATAADDDATAFILE´f:\oracle\oradata\user01.dbf´SIZE30M;2.修改表空间的可用性,将表空间联机ALTERTABLESPACEUSER_DATAONLINE;3.修改表空间的非可用性,将表空间脱机ALTERTABLESPACEAPPL_DATAOFFLINE;4.修改表空间管理只读模式ALTERTABLESPACEUSER_DATAREADONLY;5.修改表空间管理只读写模式ALTERTABLESPACEUSER_DATAREADWRITE;4.修改表空间575.查询表空间信息有关表空间的信息,可以查询DBA_TABLESPACES、DBA_DATA_FILES、DBA_FREE_SPACE、V$TABLESPACE、V$SORT_USAGE、V$DATAFILE等数据字典和视图。DBA_TABLESPACES包含了数据库中所有表空间的信息(表空间名字、默认的存储参数、类型、状态、是否永久/临时等),而USER_TABLESPACES包含了用户拥有的表空间的信息。查询DBA_DATA_FILES返回表空间数据文件信息(表空间名、表空间的数据文件、数据文件尺寸),是否自动扩展设置信息。SELECTFILE_NAME,TABLESPACE_NAME,BYTES,AUTOEXTENTSIBLE,MAXBYTESFROMDBA_DATA_FILES;5.查询表空间信息有关表空间的信息,可以查询DBA_TABL58查询DBA_FREE_SPACE返回所有表空间中可用的自由区,查询一个表空间总的自由空间;USER_FREE_SPACE显示当前用户拥有的表空间中的自由区。SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACE FROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;查询该视图从控制文件获得表空间名。SELECT*FROMV$TABLESPACE;Oracle数据库讲义(第四章)课件59V$DATAFILE,这是动态性能视图,包含数据文件名字、尺寸、数据文件所在的表空间名、数据文件的状态(OFFLINE、ONLINE、READWRITE、READONLY)。其他视图DBA_SEGMENTS、ALL_SEGMENTS、USER_SEGMENTS:包含段的类型、段的尺寸、表空间相关的存储参数。DBA_EXTENTS、ALL_EXTENTS、USER_EXTENTS:包含区的尺寸、与区相关的段和表空间信息。DBA_TEMP_FILES:包含本地化管理的临时表空间的临时文件。DBA_USERS:包含为用户指定的默认表空间和临时表空间。V$TEMP_EXTENT_MAP:包含一个本地化管理的临时表空间的所有区的信息V$DATAFILE,这是动态性能视图,包含数据文件名字606.UNDO表空间

UNDO表空间Oracle9i中引入的全新的概念,它自动对回退段进行管理,当一个回退段不足时,一个事务可以使用多个回退段,Oracle会自动使用其他回退段,不终止事务的运行。6.UNDO表空间614.1.2段(SEGMENT)段是表空间中指定类型的逻辑存储结构,是为表、索引等逻辑结构分配的区(extent)的集合。Oracle的段主要有5种类型。数据段:用于存储表、分区的数据。每建立一张表,就分配一个段。索引段:存储索引数据。每建立一个索引,就分配一个索引段。临时段:数据库执行排序或子查询时需要临时工作区,系统自动建立临时段,操作执行结束自动释放临时段。回退段:当用户对数据库执行修改操作时,系统将修改前的数据存入回退段,在执行回退命令rollback时,回退段中的数据用于撤消所作的修改。4.1.2段(SEGMENT)段是表空间中指定类型的逻辑存624.1.3区(EXTENT)区是分配空间的最小单位。一个区由一组连续的逻辑块组成。一个段至少包含一个区。当一段中所有空间已使用完,Oracle为该段分配一个新的区。区的分配和回收是系统自动完成的。4.1.3区(EXTENT)区是分配空间的最小单位。一个区634.1.4块(BLOCK)块是Oracle内最小的逻辑单元,是I/O的最小单位。一个数据块对应一个或多个操作系统物理块。块的大小是在数据库建立时,使用参数DB_BLOCK_SIZE决定(系统缺省值为8K)。该参数在数据库建立后不能更改,除非重建数据库。4.1.4块(BLOCK)块是Oracle内最小的逻辑单元644.2Oracle数据库的物理结构数据库的物理结构是数据库中操作系统文件的集合。

Oracle数据库文件数据库数据文件控制文件重做日志重做日志参数文件口令文件归档的日志文件4.2Oracle数据库的物理结构数据库的物理结构是数据654.2.1数据文件

数据文件有如下特点:每个数据库至少有一个数据文件。每个数据文件只与一个表空间、一个数据库相关。在数据库中建立的表、索引等对象只能存储在一个表空间中。但这些对象的物理存储可以在该表空间的不同数据文件上。一般的做法是将表数据与索引数据存放在不同的数据文件上,将回退信息与临时数据存放在不同的数据文件上。4.2.1数据文件数据文件有如下特点:66对象1对象2对象3表空间1表空间2数据文件1数据文件2数据文件3对象4对象5

对象1对象2对象3表空间1表空间2数据文件1数据文件2数据文67创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建立一300M的数据文件。 CREATETABLESPACEAPPL_DATADATAFILE´f:\oracle\oradata\test\appl_data.dbf´SIZE300M;也可以给已经存在的表空间增加数据文件。 ALTERTABLESPACEUSERSADDDATAFILE ´f:\oracle\oradata\test\appl_data.dbf´SIZE25M;查询数据文件 通过V$DATAFILE,V$TEMPFILE,DBA_DATA_FILES,DAB_EXTENTS等数据字典和视图可以查询数据文件的相应信息。例如查询数据文件中的状态,名字。其中system01.dbf文件的状态为system,表明该文件是系统表空间的一部分。创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建68调整数据文件的尺寸建立文件时设置AUTOEXTEND,使得数据文件尺寸自动扩展,或使用ALTERDATABASE设置自动扩展; CREATETABLESPACEAPPL_DATA DATAFILE´f:\oracle\oradata\test\appl_data.dbf´ SIZE500MAUTOEXTENDONNEXT100MMAXSIZE2000M; ALTERDATABASEDATAFILE ´f:\oracle\oradata\test\appl_data.dbf´ AUTOEXTENDONNEXT100MMAXSIZE2000M;另一方法是手工操作,执行命令ALTERDATABASEDATAFILE的RESIZE从句来调整数据文件尺寸。 ALTERDATABASEDATAFILE´f:\oracle\oradata\test\appl_data.dbf´RESIZE1500M;调整数据文件的尺寸694.2.2重做日志Oracle数据库的重做日志(redolog),也称为事务日志(transactionlog),是数据库的重要组成部分,用于保护所有已提交事务的工作。日志文件分为联机重做日志文件和归档日志文件。日志文件的工作模式分为归档模式(Archivelog)和非归档模式(NoArchivelog)两种。

数据库的重做日志是存储在硬盘上的一组系统数据文件。

日志文件组日志文件组归档的事务日志日志切换日志切换4.2.2重做日志Oracle数据库的重做日志(redo70归档日志模式(Archivelog)当联机重做日志文件写满一个后开始写另一个联机重做日志文件之前,把要开始写的日志转存到归档日志文件中,然后再写该日志,这种方式为归档模式。非归档日志模式(NoArchivelog)当联机重做日志文件写满一个后直接覆盖写另一个联机重做日志文件,进行循环覆盖写联机重做日值,会丢失最早的日志,这种方式为非归档模式。查看联机重做日志文件信息 在V$Logfile、V$Log、V$Log_History等数据字典中,可以查看日志文件的组、状态、名称等信息。

归档日志模式(Archivelog)714.2.3控制文件控制文件用于记录和维护数据库的全局物理结构,是成功启动和操作数据库必须的二进制文件,以“.CTL”为文件后缀。一个数据库至少需要一个控制文件,每个控制文件只与一个数据库相关联。控制文件包含如下信息:数据库名数据库建立时间数据库中所有数据文件和日志文件的文件名和路径表空间名称当前重做日志文件序号检查点信息备份信息日志历史记录4.2.3控制文件控制文件用于记录和维护数据库的全局物理结72记录控制文件名和路径的参数在init.ora的control_files中。control_files=("F:\oracle\oradata\test\CONTROL01.CTL","F:\oracle\oradata\test\CONTROL02.CTL", "F:\oracle\oradata\test\CONTROL03.CTL")查看V$CONTROLFILE,得到控制文件的名称和状态。查看V$PARAMETER,得到所有初始化参数文件中的所有值、状态等信息。查看V$CONTROLFILE_RECORD_SECTION,获得控制文件的记录段的信息。通过OEM导航树来查看。3.控制文件的信息查看记录控制文件名和路径的参数在init.ora的control734.2.4参数文件参数文件确定存储结构的大小,设置数据库的默认值,设置数据库的各种物理属性,优化数据库性能。参数文件定义了Oracle实例(Instance)的特性,在建立数据库或启动实例时必须访问参数文件。参数文件是一文本文件,可直接使用任何文本编辑器进行编辑。在修改该文件前必须关闭数据库。修改的参数在重启数据库时才生效。

4.2.4参数文件参数文件确定存储结构的大小,设置数据库的74参数文件包含有实例配置参数,这些参数置成特殊值,用于初始Oracle实例的许多内存和进程设置,该参数文件包含:一组实例参数的值;一个实例所启动的数据库名字;在SGA中存储结构使用多少内存;如何处理联机日志文件;数据库控制文件的名称和位置;回退段的信息。参数文件包含有实例配置参数,这些参数置成特殊值,用于初始Or754.2.5其他Oracle文件其他Oracle文件主要有:口令文件,用于存放用户口令的加密文件归档文件,包含恢复所需的库结构和数据文件的副本警告文件,存放Oracle数据库运行当中出现的各种消息、警告和错误信息。跟踪文件,用于存储后台进程和服务器进程的跟踪信息,包括后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件,以“.TRC”为文件后缀服务器进程跟踪文件,主要跟踪SQL语句,通过它了解SQL语句的性能,并进行相应的调整。4.2.5其他Oracle文件其他Oracle文件主要有:764.3数据字典数据字典是由一组拥有数据库元数据的表和视图组成,用于存储Oracle数据库的结构信息。数据字典一般在创建数据库时建立,没有数据字典,PL/SQL就没法执行。数据字典分为静态字典和动态字典。4.3.1静态数据字典静态数据字典主要是表和视图。一般来说,数据字典中的表是不能被访问的。可以访问的是数据字典中的视图。静态数据字典中的视图分为3类,分别有3个前缀构成。user_*、all_*、dba_*4.3.2动态数据字典动态视图提供有关内存和磁盘的运行情况,用户只能读动态视图,不能写。动态视图以V$为前缀,例如V$logfile、V$session、V$active_instances、V$context等。4.3数据字典数据字典是由一组拥有数据库元数据的表和视图组774.4Oracle的内存结构4.4.1系统全局区:SystemGlobalArea—SGA数据块缓冲区—与数据文件进行数据交换重做日志缓冲区—与日志文件进行数据交换SQL共享池—处理SQL语句的内存空间

温馨提示

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

评论

0/150

提交评论