ORACLE-ppT讲解教学讲解课件_第1页
ORACLE-ppT讲解教学讲解课件_第2页
ORACLE-ppT讲解教学讲解课件_第3页
ORACLE-ppT讲解教学讲解课件_第4页
ORACLE-ppT讲解教学讲解课件_第5页
已阅读5页,还剩267页未读 继续免费阅读

下载本文档

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

文档简介

ORACLE1、ORACLE概述2、ORACLE的体系结构3、ORACLE的物理结构4、ORACLE的逻辑结构ORACLE1、ORACLE概述1Oracle概述1Oracle概述数据库系统的发展第一代数据库:20世纪70年代广为流行的是层次和网状数据库,层次数据库按层次组织数据。只能处理1:1和1:N的关系。代表产品是IBM在1969年研制的IMS。第二代数据库:20世纪80年代是关系数据库发展的鼎盛时期。代表产品是IBM的DB2,Oracle公司的Oracle,第三代数据库:20世纪80年代以来,从不同的计算机应用领域对数据库提出了许多非传统的应用,如CAD等,计算机辅助软件工程(CASE)等,这些应用领域要求DBMS能存储多媒体数据,时态数据,复杂对象,图形图像等。数据库系统的发展第一代数据库:20世纪70年代广为流行的是层ORACLE概述七十年代初IBM研究人员E·F·Code发表了一篇里程碑的论文,“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL,这是第一次有人用全面一致的方案管理数据信息。根据这篇论文,1977年,33岁的埃里森(LarryEllison)与Bob

Miner,Ed

Oates创立“软件开发实验室”(SoftwareDevelopmentLabs),埃里森以此造出可商用的关系型数据库管理系统(RDBMS新数据库,1983年更名为Oracle。ORACLE(字典里的解释有“神谕,预言”之意)是一切智慧的源泉。ORACLE概述七十年代初IBM研究人员E·F·CodeOracle公司简介Oracle公司是全球最大和最成功的数据库软件公司之一,总部位于美国加州的红木滩(RedwoodShores),2013年收入278亿美元。目前,Oracle公司是业界领先的数据库企业和世界第二大独立软件公司,仅次于Microsoft,是世界软件企业排名前5名的国际大企业,向世界145个国家和地区销售其产品和服务。Oracle数据库产品是当前市场占有率最高的数据库产品,约为34%。Oracle数据库客户遍布于工业、金融、商业、保险等各个领域。在当今世界500强企业中,70%企业使用的是Oracle数据库。《财富》100强企业中有98家使用Oracle产品。Oracle公司简介Oracle公司是全球最大和最成功的数据Oracle数据库发展史从1978年Oracle数据库产品Oracle2的发布,到今天Oracle12C的推出,Oracle功能不断完善和发展,性能不断提高,其安全性、稳定性也日趋完善。特别是从Oracle8开始使用Java语言作为开发语言,使得Oracle数据库产品具有优良的跨平台特性,可以适用于各种不同的操作系统,这也是Oracle数据库产品比IBMDB2、MicrosoftSQLServer应用更广泛的原因之一。Oracle数据库发展史从1978年Oracle数据库产品OOracle数据库发展史1.1979年,Oracle公司推出了世界上第一个基于SQL标准的关系数据库系统Oracle2,它是基于汇编语言开发的,当时并没有引起太多的关注。2.1983年3月,Oracle公司发布了Oracle3,该版本采用C语言开发。4.1985年,Oracle公司发布了Oracle55.1988年,Oracle公司发布了Oracle66.1992年,Oracle公司发布了基于Unix版本的Oracle7,Oracle正式向Unix进军7.1997年6月,Oracle公司发布了基于Java的Oracle88.1998年8月,Oracle公司正式发布了Oracle8i9.2000年12月,Oracle公司发布了Oracle9i10.2004年1月,Oracle公司发布了基于网格计算的Oracle10g11.2007年7月,Oracle公司发布了Oracle11g,根据用户的需求实现了信息生命周期管理(InformationLifecycleManagement)等多项创新。12.

2013年6月26日,Oracle12c版本正式发布

Oracle数据库发展史1.1979年,Oracle公司推出Oracle系统的特点支持大数据库、多用户的高性能的事务处理。ORACLE支持大数据库,支持大量用户同时在同一数据上执行各种数据应用,并使数据争用最小,保证数据一致性。系统维护具有高的性能,ORACLE每天可连续24小时工作,正常的系统操作(后备或个别计算机系统故障)不会中断数据库的使用。ORACLE遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。美国标准化和技术研究所(NIST)对ORACLE7SERVER进行检验,100%地与ANSI/ISOSQL89标准的二级相兼容。实施安全性控制和完整性控制。ORACLE为限制各监控数据存取提供系统可靠的安全性。ORACLE实施数据完整性,为可接受的数据指定标准。支持分布式数据库和分布处理。分布式系统像集中式数据库一样具有透明性和数据一致性。具有可移植性、可兼容性和可连接性。由于ORACLE软件可在许多不同的操作系统上运行,以致ORACLE上所开发的应用可移植到任何操作系统,只需很少修改或不需修改。ORACLE软件同工业标准相兼容,包括许多工业标准的操作系统,所开发应用系统可在任何操作系统上运行。Oracle系统的特点支持大数据库、多用户的高性能的事务处理

2Oracle系统的体系结构

2Oracle系统的体系结构

实例

数据缓冲区

日志缓冲区

共享池

大型池

Java池

其他

SGA

后台进程

数据文件

控制文件

重做日志文件

归档文件

LGWR

CKPT

ARCH

数据库

用户进程

服务器进程

SMON

PMON

DBWR

其它

Oracle体系结构实例数据缓冲区日志缓冲区共享池大型池Java池Oracle体系结构Oracle服务器由Oracle实例(instance)和Oracle数据库(database)组成。一个实例只对应一个数据库,但是一个数据库可以对应多个实例(在集群环境下)。所谓实例是一种存取和控制数据库的机制,它由内存结构和一些后台进程组成。它的内存结构也称为系统全局区(systemglobalarea,SGA),后台进程中有五个是必需的,分别是SMON,PMON,DBWR,LGWR和CKPT。每一次在数据库服务器上启动一数据库时,一块系统全局区(SGA)内存区(简称SGA)被分配,有一个或多个ORACLE进程被启动。启动数据库时,Oracle首先要在内存中获取,划分,保留各种用途的区域,运行各种用途的后台进程,即创建一个实例(instance),然后再由该实例装载(mount),打开(open)数据库,最后由这个实例来访问和控制数据库的各种物理结构.当用户连接到数据库并使用数据库时,实际上是连接到该数据库的实例,通过实例来连接,使用数据库.所以,实例是用户和数据库之间的中间层.Oracle体系结构Oracle服务器由Oracle实例(iOracle的内存结构ORACLE在内存存储下列信息:执行的程序代码。连接的会话信息程序执行期间所需数据和共享的信息存储在外存储上的缓冲信息。ORACLE具有下列基本的内存结构:软件代码区系统全局区(SGA),包括数据库缓冲存储区、日志缓冲区和共享池.程序全局区(PGA),包括栈区和数据区.Oracle的内存结构ORACLE在内存存储下列信息:SGA(1)共享池(SharedPool)(2)数据库高速缓存(DatabaseBufferCache)(3)重做日志缓存(RedoLogBufferCache)(4)Java池(JavaPool)(5)大池(LagerPool)主要由五部分组成:SGA(1)共享池(SharedPool)主要由五部分组成共享池存储了最近使用并且执行的SQL语句和最近使用的数据定义,包含库高速缓存器和数据字典缓存器这两个性能相关的内存结构。其大小通过初始化参数文件(init.ora)中的SHARED_POOL_SIZE决定。共享池是活动非常频繁的内存结构,设置不当会产生大量的内存碎片,所以必须确保它尽可能大。共享池存储了最近使用并且执行的SQL语句和最近使用的数据定义数据库高速缓存(1)包含共享SQL区和共享PL/SQL区两个组件区(2)在提交SQL时,利用最近最少使用(LRU)(Leastrecentlyused)算法检查缓存中是否存在相同的内容,若有则使用原有的分析树和执行路径。(3)可以有效的改善响应时间,它的大小由共享池的大小决定。(4)其大小主要由DB_BLOCK_SIZE决定。(5)由DB_CACHE_SIZE,DB_KEEP_CACHE_SIZE,DB_RECYCLE_CACHE_SIZE独立的子缓存器构成,同时它能动态地增长或收缩。数据库高速缓存(1)包含共享SQL区和共享PL/SQL区两个重做日志缓存(1)当执行INSERT,UPDATE,DELETE语句对表进行修改时,或执行CREATE,ALTER,DROP等语句创建方案对象时,Oracle都会为这些操作生成重做记录.重做日志高速缓存就是用于重做记录缓存.(2)大小由LOG_BUFFER参数决定重做日志缓存(1)当执行INSERT,UPDATE,DELEJAVA池安装使用JAVA后,才出现的一个组件,可选的。其大小由JAVA_POOL_SIZE初始化参数决定。JAVA池安装使用JAVA后,才出现的一个组件,可选的。大池1、大池用于为需要大内存的操作提供相对独立的内存空间,以便提高这些操作的性能.大池是一个可选的内存结构,DBA可以根据实际需要来决定是否在SGA区中创建大池.

需要大内存的操作:

1,数据库备份和恢复

2,具有大量排序操作的SQL语句

3,并行化的数据库操作2、由large_pool_size参数大池1、大池用于为需要大内存的操作提供相对独立的内存空间,以程序全局区PGA保存每一个用户连接到数据库的信息,包括:会话信息、排序信息和游标信息。分为:排序区、会话区、游标区、堆栈区程序全局区PGA保存每一个用户连接到数据库的信息,进程结构用户进程启动客户端连接创建一个用户进程Oracle进程服务进程解析并执行用户所提交的SQL语句搜索SGA区的数据库缓存,决定时候读取数据文件将查询或执行后形成的数据返回给用户后台进程进程结构用户进程1、写数据DatabaseWriter(DBWN)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)Oracle的进程结构1、写数据DatabaseWriter(DBWN)Oracl写数据(DBWN)负责将数据从数据高速缓存写入磁盘上。写数据进程活动的条件如下:1、服务进程无法发现可用缓存。2、检查点出现。3、重写块到达极限。4、超时。5、表空间脱机。6、表空间只读。7、表丢弃或表截断。8、表空间开始备份。用参数DB_WRITER_PROCESSES指定DBWN进程的序号,最大值为20。写数据(DBWN)负责将数据从数据高速缓存写入磁盘上。写日志(LGWR)将日志从缓存区写到磁盘日志文件中。写日志在下列条件下活动:1、在COMMIT中2、缓存器使用达到三分之一的时候3、缓存器使用达到1MB时4、每隔3秒5、在DBWN活动之前。写日志(LGWR)将日志从缓存区写到磁盘日志文件中。检查点进程(CKPT)1、负责向DBWN发送信号,并用检查点的信息更新数据文件头和控制文件信息。2、该进程可以减少LGWR的工作量。3、通过初始化参数CHECKPOINT_PROCESS为TRUE或FALSE来确定是否使用检查点进程。4、通过LOG_CHECKPOINT_INTERVAL和LOG_CHECKPOINT_TIMEOUT来改变检查点出现的频率。检查点进程(CKPT)1、负责向DBWN发送信号,并用检查点系统监视进程(SMON)具有一定的周期性,作用如下:1、在实例启动中视需要执行恢复。2、重新分配临时段。3、每隔3秒合并表空间中相邻的自由区。4、根据需要将表空间或数据文件恢复到联机状态。5、对于应用集群系统,执行恢复一个失败的CPU或Oracle实例。系统监视进程在数据库系统实例启动时如果出现故障,那么数据库系统将无法开始工作。系统监视进程(SMON)具有一定的周期性,作用如下:进程监视进程(PMON)负责在下列过程失败后释放相关对象:1、事务回退。2、释放相关锁。3、释放相关资源。4、重新分配发生错误的调度。周期性地检查调度状态和服务进程,并重新使除Oracle有意终止以外的已停止的进程运行。如果这个进程出现故障,则数据库系统无法工作。进程监视进程(PMON)负责在下列过程失败后释放相关对象:归档进程(ARCn)1、可选的后台进程,在实例运行在归档模式时出现。2、负责在日志文件切换时将所有重做日志信息复制到指定的设备文件中。3、一个ORACLE数据库实例最多可以拥有10个(ARC0和ARC9)归档进程。归档进程(ARCn)1、可选的后台进程,在实例运行在归档模式恢复进程(RECO)恢复进程负责自动解决分布式数据库系统中陷于失败的分布式事务。(分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,并提供了有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它分布在地理分散的各个结点上。)恢复进程(RECO)恢复进程负责自动解决分布式数据库系统中陷3Oracle的物理结构3Oracle的物理结构Oracle的体系结构Oracle数据库拥有者模式1表视图123序列………用户视图物理文件

表空间

逻辑结构数据段区间

数据块

物理块物理结构数据文件控制文件联机日志文件索引段……段Oracle的体系结构Oracle数据库拥有者模式1表数据库存储结构数据库存储结构物理存储结构的构成物理存储结构的构成数据文件:用于存储数据库中所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的修改操作;初始化参数:用于设置数据库启动时参数初始值;跟踪文件:用于记录用户进程、数据库后台进程的运行情况;归档文件:用于保存已经写满的重做日志文件;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令。数据文件:用于存储数据库中所有数据;数据文件.DBF控制文件.CTL重做日志文件.LOG参数文件:.ORA归档文件:.ARC数据文件.DBF数据文件及其管理数据文件概述数据文件的管理数据文件及其管理数据文件概述数据文件概述数据文件的内容用于保存数据库中数据的文件系统数据、数据字典数据、临时数据、索引数据、应用数据等都物理的存储在数据文件中。数据文件与表空间的关系一个表空间可以包含几个数据文件一个数据文件只能对应一个表空间数据文件概述数据文件的内容数据文件的存储策略由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件进行频繁的读写操作。为了提供I/O效率,应该合理的分配数据文件的存储位置。把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问数据,提高系统读写的效率。初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数据库。数据文件的存储策略数据文件的管理创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称和位置查询数据文件的信息数据文件的管理创建数据文件创建数据文件数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。语法ALTERTABLESPACE…ADDDATAFILEALTERTABLESPACE…ADDTEMPFILE创建数据文件数据文件依附于表空间而存在,创建数据文件就是向表向ORCL数据库的USERS表空间中添加一个大小为10MB的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\Oracle\oradata\orcl\userdata02.dbf'SIZE10M;向ORCL数据库的TEMP表空间添加一个大小为5MB的临时数据文件。ALTERTABLESPACETEMPADDTEMPFILE'D:\Oracle\oradata\orcl\temp02.dbf‘SIZE5M;向ORCL数据库的USERS表空间中添加一个大小为10MB的修改数据文件大小方法设置数据文件为自动增长方式。手工改变数据文件的大小。设置数据文件为自动增长方式创建时设置数据文件为自动增长创建后修改数据文件为自动增长AUTOEXTENDONNEXT…MAXSIZE…|UNLIMITED手工改变数据文件的大小ALTERDATABASEDATAFILE…RESIZE…修改数据文件大小方法为ORCL数据库的USERS表空间添加一个自动增长的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\Oracle\oradata\orcl\userdata03.dbf'SIZE10MAUTOEXTENDONNEXT512KMAXSIZE250M;修改ORCL数据库USERS表空间的数据文件userdata02.dbf为自动增长。ALTERDATABASEDATAFILE'D:\Oracle\oradata\orcl\userdata02.dbf'

AUTOEXTENDONNEXT512KMAXSIZEUNLIMITED;为ORCL数据库的USERS表空间添加一个自动增长的数据文件取消ORCL数据库USERS表空间的数据文件userdata02.dbf的自动增长。ALTERDATABASEDATAFILE'D:\Oracle\oradata\orcl\userdata02.dbf'

AUTOEXTENDOFF;将ORCL数据库USERS表空间的数据文件userdata02.dbf大小设置为8MB。ALTERDATABASEDATAFILE'D:\Oracle\oradata\orcl\userdata02.dbf'RESIZE8M取消ORCL数据库USERS表空间的数据文件userdata改变数据文件的可用性ALTERDATABASEDATAFILE…ONLINE|OFFLINE改变数据文件的状态时,数据库必须运行在归档模式下改变数据文件的可用性改变同一个表空间的数据文件Step1.表空间脱机ALTERTABLESPACEtablespace_name…OFFLINEStep2.修改操作系统中文件名称或位置Step3.执行ALTER语句ALTERTABLESPACEtablespace_name…RENAMEDATAFILE…TOStep4.表空间联机ALTERTABLESPACEtablespace…ONLINE改变同一个表空间的数据文件Step1.表空间脱机更改ORCL数据库USERS表空间的userdata02.dbf和userdata03.dbf文件名为userdata002.dbf和userdata003.dbf将包含数据文件的表空间置为脱机状态。ALTERTABLESPACEUSERSOFFLINE;在操作系统中重命名数据文件或移动数据文件到新的位置。分别将userdata02.dbf和userdata03.dbf文件重命名为userdata002.dbf和userdata003.dbf。重新连接数据库,使用ALTERTABLESPACE…RENAMEDATAFILE…TO语句进行操作。更改ORCL数据库USERS表空间的userdata02.dCONNECTsys/sys@ORCLASSYSDBAALTERTABLESPACEUSERSRENAMEDATAFILE'D:\Oracle\oradata\orcl\userdata02.dbf','D:\Oracle\oradata\orcl\userdata03.dbf'TO'D:\Oracle\oradata\orcl\userdata002.dbf,'D:\Oracle\oradata\orcl\userdata003.dbf';将表空间联机ALTERTABLESPACEusersONLINE;CONNECTsys/sys@ORCLASSYSDB改变属于多个表空间的数据文件Step1.关闭数据库SHUTDOWNIMMEDIATEStep2.修改操作系统文件名称或位置Step3.启动数据库到MOUNT状态STARTUPMOUNTStep4.执行ALTER语句ALTERDATABASERENAMEFILE…TO…Step5.打开数据库ALTERDATABASEOPNE改变属于多个表空间的数据文件Step1.关闭数据库更改ORCL数据库USERS表空间的userdata002.dbf文件位置和修改TOOLS表空的tools01.dbf文件名关闭数据库SHUTDOWN在操作系统中,将要改动的数据文件复制到新位置或改变它们名称。将USERS表空间的userdata002.dbf文件复制到一个新的位置,如D:\Oracle\oradata\userdata002.dbf;修改TOOLS表空间的数据文件tools01.dbf名为tools001.dbf更改ORCL数据库USERS表空间的userdata002.启动数据库到MOUNT状态STARTUPMOUNT执行ALTERDATABASERENAMEFILE…TO语句更新数据文件名称或位置。ALTERDATABASERENAMEFILE'D:\Oracle\oradata\orcl\userdata02.dbf','D:\Oracle\oradata\orcl\tools01.dbf'TO'D:\Oracle\oradata\userdata02.dbf','D:\Oracle\oradata\orcl\tools001.dbf';打开数据库。ALTERDATABASEOPEN;启动数据库到MOUNT状态查询数据文件信息数据文件信息DBA_DATA_FILESV$DATAFILE临时文件信息DBA_TEMP_FILESV$TEMPFILE查询数据文件信息数据文件信息查询数据文件动态信息SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE

查询数据文件的增长方式SELECTTABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES

查询临时数据文件信息SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROMDBA_TEMP_FILES;查询数据文件动态信息利用OEM管理数据文件查询数据文件信息创建数据文件修改数据文件利用OEM管理数据文件查询数据文件信息控制文件控制文件概述控制文件管理控制文件控制文件概述控制文件概述控制文件的性质控制文件是一个很小的二进制文件在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。控制文件描述了整个数据库的结构。控制文件主要包括数据文件和重做日志文件的位置、数据库名称、需要恢复的信息等内容。控制文件是不需DBA编辑的二进制文件。在数据库运行期间,控制文件始终在不断更新,以便记录数据文件和重做日志文件的变化每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。复合控制文件,Oracle同时维护多个控制文件,这些文件之间是镜像的。分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。showparametercontrol;

showparameterpfile;控制文件概述控制文件的性质控制文件的内容数据库名称和标识数据库创建的时间表空间名称数据文件和重做日志文件的名称和位置当前重做日志文件的序号检查点的信息回退段的开始和结束重做日志的归档信息备份信息数据库恢复所需要的同步信息控制文件的内容控制文件的管理创建控制文件备份控制文件查看控制文件的信息控制文件的管理创建控制文件创建控制文件创建控制文件的情形创建数据库时,需要创建控制文件;控制文件全部丢失或损坏;需要修改某个永久性数据库结构参数,如数据库名称、MAXLOGFILES、MAXLOGMEMBERS、MAXDATAFILES、MAXINSTANCES等。创建控制文件的基本步骤

列出数据库中所有的数据文件和重做日志文件的名称和路径如果数据库仍然处于运行状态,则关闭数据库在操作系统级别备份所有的数据文件和联机重做日志文件创建控制文件创建控制文件的情形启动实例,STARTUPNOMOUNT利用前面得到的文件列表,执行CREATECONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份修改初始化的参数文件中CONTROL_FILES参数,指向新的控制文件。如果需要,对数据库进行恢复;重新打开数据库启动实例,STARTUPNOMOUNT编辑初始化参数CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=…SCOPE=SPFILE;关闭数据库SHUTDOWNIMMEDIATE;拷贝一个原有的控制文件到新的位置,并重新命名重新启动数据库

STARTUP编辑初始化参数CONTROL_FILES编辑初始化参数CONTROL_FILES。ALTERSYSTEMSETCONTROL_FILES='D:\ORACLE\ORADATA\ORCL\CONTROL01.CTL','D:\ORACLE\ORADATA\ORCL\CONTROL02.CTL','D:\ORACLE\ORADATA\ORCL\CONTROL03.CTL','D:\ORACLE\ORADATA\CONTROL04.CTL'SCOPE=SPFILE;注意:前3个控制文件是原有的控制文件,最后一个控制文件是将要添加的。关闭数据库SHUTDOWNIMMEDIATE;拷贝一个原有的控制文件到新的位置,并重新命名。拷贝D:\ORACLE\ORADATA\CONTROL01.CTL文件到D:\ORACLE\ORADATA目录下,并重命名为CONTROL04.DBF。重新启动数据库STARTUP编辑初始化参数CONTROL_FILES。备份控制文件将控制文件备份为二进制文件ALTERDATABASEBACKUPCONTROLFILETO…将控制文件备份为文本文件ALTERDATABASEBACKUPCONTROLFILETOTRACE(ORACLE_BASE\admin\<SID>\udump)备份控制文件将控制文件备份为二进制文件将控制文件备份为二进制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\ORADATA\CONTROL.BKP';将控制文件备份为文本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;将控制文件备份为二进制文件。查询控制文件的信息V$CONTROLFILE列出了与实例有关的所有控制文件的名称和状态V$PARAMETER列出了所有参数的状态和位置.V$CONTROLFILE_RECORD_SECTION提供控制文件记录区的信息.SHOWPARAMETERSCONTROL_FILES列出控制文件的名称、状态和位置查询控制文件的信息V$CONTROLFILE利用OEM管理控制文件查看控制文件信息备份控制文件

利用OEM管理控制文件查看控制文件信息重做日志文件重做日志文件概述重做日志文件的管理重做日志文件重做日志文件概述重做日志文件概述重做日志文件的概念重做日志文件,保存了用户对数据库所作的更新操作(插入、删除或修改),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。重做日志文件概述重做日志文件的概念重做日志文件的工作过程每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。重做日志文件工作流程重做日志文件的工作过程为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。为了保证LGWR进程的正常进行,通常采用重做日志文件组(GR重做日志文件的管理

添加重做日志文件组

添加重做日志文件组成员文件

改变重做日志文件组成员文件的名称和位置

删除重做日志文件组成员删除重做日志文件组

重做日志文件切换

清空重做日志文件组

查看重做日志文件信息

重做日志文件的管理添加重做日志文件组添加重做日志文件组语法ALTERDATABASEADDLOGFILE……示例ALTERDATABASEADDLOGFILEGROUP4('D:\ORACLE\ORADATA\ORCL\REDO4a.LOG','D:\ORACLE\ORADATA\ORCL\REDO4b.LOG')SIZE1M;REDO2b.LOGREDO1b.LOGGroup1Group2Group3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup4REDO4b.LOGREDO4a.LOG添加重做日志文件组语法REDO2b.LOGREDO1b.LO添加重做日志文件组成员语法ALTERDATABASEADDLOGFILEMEMBER…TOGROUP…示例添加重做日志文件组成员语法ALTERDATABASEADDLOGFILEMEMBER'D:\ORACLE\ORADATA\ORCL\REDO1c.LOG'TOGROUP1,'D:\ORACLE\ORADATA\ORCL\REDO4c.LOG'TOGROUP4;Group1REDO1c.LOGREDO1b.LOGREDO1a.LOGGroup4REDO4a.LOGREDO4b.LOGREDO4c.LOGALTERDATABASEADDLOGFILEMEM改变重做日志文件组成员名称和位置语法ALTERDATABASERENAMEFILE…TO注意只能更改处于INACTIVE或UNUSED状态的重做日志文件组的成员文件的名称或位置。步骤关闭数据库SHUTDOWNIMMEDIATE在操作系统中重新命名重做日志文件或将重做日志文件复制到新的位置(删除原有文件)重新启动实例STARTUPMOUNT使用ALTERDATABASE

语句修改数据库

ALTERDATABASERENAMEFILE…TO…打开数据库ALTERDATABASEOPEN改变重做日志文件组成员名称和位置语法将重做日志文件REDO02.LOG重命名为REDO002.LOG,将REDO4C.LOG移到D:\ORACLE\ORADATA目录下。检查要修改的成员文件所在的重做日志文件组状态。SELECTgroup#,statusFROMv$log;在操作系统中重命名重做日志文件或将重做日志文件移到新位置。打开D:\ORACLE\ORADATA\ORCL文件夹,将REDO02.LOG更名为REDO002.LOG,同时将REDO4C.LOG移到D:\ORACLE\ORADATA文件夹下。执行ALTERDATABASERENAMEFILE…TO语句ALTERDATABASERENAMEFILE'D:\ORACLE\ORADATA\ORCL\REDO022.LOG','D:\ORACLE\ORADATA\ORCL\REDO4C.LOG'TO'D:\ORACLE\ORADATA\ORCL\REDO002.LOG','D:\ORACLE\ORADATA\REDO4C.LOG';将重做日志文件REDO02.LOG重命名为REDO002.L删除重做日志文件组成员文件语法ALTERDATABASEDROPLOGFILEMEMBER注意事项只能删除状态为INACTIVE的重做日志文件组中成员;若要删除状态为CURRENT的重做日志文件组中成员,需执行一次手工日志切换。如果数据库处于归档模式下,在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中的最后一个可用的成员文件则无法删除。删除重做日志文件组成员文件语法ALTERDATABASEDROPLOGFILEMEMBER'C:\ORACLE\ORADATA\REDO4C.LOG';Group4REDO4a.LOGREDO4b.LOGREDO4c.LOGALTERDATABASEDROPLOGFILEME删除重做日志文件组语法ALTERDATABASEDROPLOGFILEGROUP注意事项无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。如果数据库处于归档模式下,在删除重做日志文件组之前,必须确定该组已经被归档。只能删除处于INACTIVE状态的重做日志文件组,若要删除状态为CURRENT的重做日志文件组,则需执行一次手工日志切换。删除重做日志文件组语法示例ALTERDATABASEDROPLOGFILEGROUP4;REDO2a.LOGREDO1a.LOGGroup1Group2Group3REDO3a.LOGGroup4REDO4a.LOGREDO4b.LOG示例REDO2a.LOGREDO1a.LOGGroup1G重做日志文件组切换如果需要将当前处于CURRENT状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换ALTERSYSTEMSWITCHLOGFILE切换后日志文件信息可检索动态性能视图来查SELECT*FROMV$LOGFILE;重做日志文件组切换如果需要将当前处于CURRENT状态的重清空重做日志文件

清空重做日志文件就是将重做日志文件中的内容全部初始化,相当于删除该重做日志文件,然后再重新建立它。

ALTERDATABASECLEARLOGFILEGROUP3;

如果要清空的重做日志组尚未归档,则必须使用UNARCHIVED子句,避免对这个重做日志组进行归档,但是其中保存的重做记录暂时不会丢失。

ALTERDATABASECLEARUNARCHIVEDLOGFILEGROUP3;

清空重做日志文件清空重做日志文件就是将重做日志文件中的内容查看重做日志文件信息V$LOGSELECTgroup#,sequence#,bytes,members,statusFROMv$log;V$LOGFILE

SELECT*FROMV$LOGFILE;V$LOG_HISTORY查看重做日志文件信息V$LOG归档重做日志文件重做日志文件归档概述数据库归档模式管理归档重做日志文件重做日志文件归档概述重做日志文件归档概述归档模式ARCHIVELOG非归档模式重做日志文件归档概述归档模式ARCHIVELOG归档模式与非归档模式比较归档模式的作用数据库恢复

一个数据库的备份,与在线和归档的重做日志文件一起来保证所有已经提交的事物完全恢复数据库备份能够在数据库打开时进行备份归档模式与非归档模式比较数据库归档模式管理数据库归档/非归档模式设置归档模式下归档方式的选择归档路径的设置设置可选或强制归档目标

查询归档信息数据库归档模式管理数据库归档/非归档模式设置设置归档/非归档模式关闭数据库SHUTDOWNIMMEDIATE启动数据库到MOUNT状态STARTUPMOUNT使用ALTERDATABASEARCHIVELOG语句将数据库设置为归档模式。ALTERDATABASEARCHIVELOG;或使用ALTERDATABASENOARCHIVELOG语句将数据库设置为非归档模式。ALTERDATABASENOARCHIVELOG;打开数据库ALTERDATABASEOPEN;设置归档/非归档模式关闭数据库%T关闭数据库,编辑初始化参数启动数据库于MOUNT状态修改数据库为归档模式打开数据库SQL>SHUTDOWNIMMEDIATE;SQL>STARTUPMOUNT;SQL>ALTERDATABASEARCHIVELOG;SQL>ALTERDATABASEOPEN;%T关闭数据库,编辑初始化参数SQL>SHUTDOWNIM设置非归档模式关闭数据库,编辑初始化参数启动数据库到MOUNT状态修改数据库为非归档模式打开数据库SQL>SHUTDOWNIMMEDIATE;SQL>STARTUPMOUNT;SQL>ALTERDATABASENOARCHIVELOG;SQL>ALTERDATABASEOPEN;设置非归档模式关闭数据库,编辑初始化参数SQL>SHUTDO在归档模式下启动或禁用

自动归档功能

在实例启动时启用或禁用自动归档功能,需要在初始化文件中设置:LOG_ARCHIVE_START=TRUE|FALSE在实例启动后启动或禁用自动归档功能

ALTERSYSTEMARCHIVELOGSTART|STOP

在归档模式下启动或禁用

自动归档功能在实例启动时启用或禁用在归档模式下手工归档ALTERSYSTEMARCHIVELOGALLALTERSYSTEMARCHIVELOGNEXT

在归档模式下手工归档ALTERSYSTEMARCHIVE设置归档位置LOG_ARCHIVE_DEST指明归档日志文件的路径位置LOG_ARCHIVE_DUPLEX_DEST指明归档日志文件的第二个路径LOG_ARCHIVE_DEST_n指明归档日志文件的路径位置,最多可有5个LOG_ARCHIVE_MIN_SUCCEED_DEST指明归档日志进程写在线重做日志文件的最小成功数目LOG_ARCHIVE_MAX_PROCESSES当数据库启动时,指定归档进程的最大启动数目设置归档位置LOG_ARCHIVE_DEST设置归档位置(一)使用参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DESTLOG_ARCHIVE_DEST指明归档日志文件的路径位置LOG_ARCHIVE_DUPLEX_DEST指明归档日志文件的第二个路径例如:LOG_ARCHIVE_DEST=‘d:\archive_log’LOG_ARCHIVE_DUPLEX_DEST=‘d:\archive_log1’设置归档位置(一)使用参数LOG_ARCHIVE_DEST和设置归档位置(二)使用参数使用参数LOG_ARCHIVE_DEST_nLOG_ARCHIVE_DEST_n指明归档日志文件的路径位置,最多可有5个例如:LOG_ARCHIVE_DEST_1=‘d:\archive_log1’LOG_ARCHIVE_DEST_2=‘d:\archive_log2’设置归档位置(二)使用参数使用参数LOG_ARCHIVE_D设置可选或强制归档目标

设置最小成功归档目标数及启动最大归档进程数

LOG_ARCHIVE_MIN_SUCCESS_DESTLOG_ARCHIVE_MAX_PROCESSES设置强制归档目标和可选归档目标使用LOG_ARCHIVE_DEST_n参数时通过使用OPTIONAL或MANDATORY关键字指定可选或强制归档目标。LOG_ARCHIVE_DEST_1='LOCATION=e:\backup\arc'MANDATORYLOG_ARCHIVE_DEST_2='SERVICE=standby1'OPTIONAL

设置可选或强制归档目标设置最小成功归档目标数及启动最大归档归档信息查询以SYS登录,使用命令ARCHIVELOGLIST查询数据库工作模式ARCHIVELOGLIST查询V$ARCHIVE_PROCESSES显示归档日志进程的运行状况SELECT*FROMV$ARCHIVE_PROCESSES;归档信息查询以SYS登录,使用命令ARCHIVELOGL4逻辑存储结构4逻辑存储结构Oracle的逻辑存储结构表空间数据块区段Oracle的逻辑存储结构逻辑存储结构概述逻辑结构单元类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TABLESPACE数据库的存储层次数据库逻辑存储结构之间的关系逻辑存储结构概述逻辑结构单元类型DatabaseLogicalPhysicalTablespaceDatafileOSblockOracle

blockSegmentExtentDatabaseLogicalPhysicalTablesp表空间数据段………区间数据块(段片)表空间数据段………区间数据块(段片)表空间表空间概述表空间的管理表空间表空间概述表空间概述表空间概念是Oracle数据库的一个主要逻辑组织结构,Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。表空间概述表空间概念数据库、表空间、数据文件、数据库对象之间的关系数据库、表空间、数据文件、数据库对象之间的关系表空间的分类SYSTEM表空间每个Oracle数据库必须具有一个默认系统表空间,即SYSTEM表空间,该表空间是在创建数据库时自动创建的。SYSTEM表空间主要用于存储下列信息数据库的数据字典。PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等。数据库对象的定义,如表、视图、序列、同义词等。开发者不应把模式对象(如表等)存放在SYSTEM表空间,以免影响数据库的稳定性与执行效率。表空间的分类非SYSTEM表空间撤消表空间专门进行回退信息的自动管理临时表空间:保存SQL语句在执行过程中所产生的临时数据(主要是在排序时产生的临时数据)用户表空间保存用户数据非SYSTEM表空间表空间管理策略系统表空间主要用于存储数据字典等Oracle自身对象和数据,并建议将所有的用户对象和数据保存在其他表空间中,因此需要为数据库创建非系统表空间。使用多个表空间将数据字典与用户数据分离

将回滚数据与用户数据分离

将表空间的数据文件分散保存到不同的硬盘上

能够将表空间设置为脱机状态或联机状态将表空间设置为只读状态

能够为某种特殊用途专门设置一个表空间

能够更加灵活的为用户设置表空间配额

表空间管理策略表空间的管理(本地管理方式)表空间的创建表空间的修改表空间的备份表空间的删除表空间信息查询表空间的管理(本地管理方式)表空间的创建创建表空间在创建本地管理方式下的表空间时,首先应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式。表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等;表空间的类型包括普通表空间、临时表空间和撤销表空间;表空间中区的分配方式包括自动扩展(AUTOALLOCATE)和定制(UNIFORM)两种;段的管理包括自动管理(AUTO)和手动管理(MANUAL)两种。创建表空间在创建本地管理方式下的表空间时,首先应该确定表空创建永久表空间创建表空间使用CREATETABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的一个或多个数据文件。EXTENTMANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENTSPACEMANAGEMENT:设定段的管理方式,其取值为MANUAL(默认)或AUTO。创建永久表空间创建表空间使用CREATETABLESPA创建表空间示例为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;AUTOALLOCATE

SEGMENTSPACEMANAGEMENT

MANUAL为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS2_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENT

MANUAL创建表空间示例为ORCL数据库创建一个永久性的表空间,区自动为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式。CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50M

SEGMENTSPACEMANAGEMENTAUTO;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTAUTO;为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自创建临时表空间使用CREATETEMPORARYTABLESPACE语句创建临时表空间,用TEMPFILE子句设置临时数据文件。需要注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。为ORCL数据库创建一个临时表空间。CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;创建临时表空间使用CREATETEMPORARYTABL创建撤销表空间可以使用CREATEUNDOTABLESPACE语句创建撤销表空间,但是在该语句中只能指定DATAFILE和EXTENTMANAGEMENTLOCAL两个子句,而不能指定其他子句。为ORCL数据库创建一个撤销表空间。CREATEUNDOTABLESPACEORCLUNDO1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLUNDO1_1.DBF'SIZE20M;如果要在数据库使用该撤销表空间,需要设置参数UNDO_MANAGEMENT=AUTO和参数UNDO_TABLESPACE=ORCLUNDO1。创建撤销表空间可以使用CREATEUNDOTABLESP修改表空间扩展表空间为表空间添加数据文件可以通过ALTERTABLESPACE…ADDDATAFILE语句为永久表空间添加数据文件,通过ALTERTABLESPACE…ADDTEMPFILE语句为临时表空间添加数据文件。为ORCL数据库的ORCLTBS1表空间添加一个大小为10M的新的数据文件。

ALTERTABLESPACEORCLTBS1ADDDATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS1_2.DBF'SIZE10M;为ORCL数据库的ORCLTEMP1表空间添加一个大小为10M的临时数据文件。

ALTERTABLESPACEORCLTEMP1ADDTEMPFILE'D:\ORACLE\ORADATA\ORCL\ORCLTEMP1_2.DBF'SIZE10M;

修改表空间扩展表空间改变数据文件的大小可以通过改变表空间已有数据文件的大小,达到扩展表空间的目的。将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20M。ALTERDATABASEDATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLTBS1_2.DBF'

RESIZE20M;改变数据文件的大小改变数据文件的扩展方式如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTENDON选项,则该文件的大小是固定的。如果为数据文件指定了AUTOEXTENDON选项,当数据文件被填满时,数据文件会自动扩展,即表空间被扩展了。将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF设置为自动扩展,每次扩展5M空间,文件最大为100M。ALTERDATABASEDATAFILE'C:\ORACLE\ORADATA\ORCL\ORCLTBS1_2.DBF'AUTOEXTENDONNEXT5MMAXSIZE100M;改变数据文件的扩展方式修改表空间可用性语法ALTERTABLESPACEtablespace_nameONLINE|OFFLINE离线状态的表空间是不能进行数据访问的一些表空间必须是在线状态:SYSTEM表空间存放在线回退信息的撤销表空间临时表空间修改表空间可用性修改表空间读写性

语法ALTERTABLESPACEtbs_nameREADONLY|READWRITE表空间只有满足下列要求才可以转换为只读状态:表空间处于联机状态;表空间中不能包含任何活动的回退段;如果表空间正在进行联机数据库备份,则不能将它设置为只读状态。因为联机备份结束时,Oracle更新表空间数据文件的头部信息。表空间的备份修改表空间读写性表空间的备份语法ALTERTABLESPACEtablespace_nameBEGIN|ENDBACKUP在数据库进行热备份(联机备份)时,需要分别对表空间进行备份。对表空间进行备份基本步骤为:使用ALTERTABLESPACE…BEGINBACKUP语句将表空间设置为备份模式。在操作系统中备份表空间所对应的数据文件。使用ALTERTABLESPACE…ENDBACKUP语句结束表空间的备份模式。表空间的备份语法表空间删除语法DROPTABLESPACEtablespace_name如果表空间非空,应带有子句:INCLUDINGCONTENTS若要删除操作系统下的数据文件,应带有子句:ANDDATAFILES示例DROPTABLESPACEuserdataINCLUDINGCONTENTSANDDATAFILES;表空间删除语法查询表空间信息表空间信息:DBA_TABLESPACESV$TABLESPACE数据文件信息:DBA_DATA_FILESV$DATAFILE临时文件信息:DBA_TEMP_FILESV$TEMPFILE查询表空间信息表空间信息:数据块(BLOCK)数据块概述数据块结构数据块的管理数据块(BLOCK)数据块概述数据块概述最小的I/O单元包括一个或者多个OSBLOCK在数据库创建时设置,不可更改DB_BLOCK_SIZE参数是缺省值分为标准块和非标准块数据块概述最小的I/O单元数据库块结构HeaderFreespaceData包含块头部、表目录行目录等数据库块结构HeaderFreespaceData包含块头Header:包括块头部,表目录,行目录,事务条目等 块头部:块类型及地址信息:物理地址,段类型 表目录:数据块所存储的表的相关信息 行目录:保存表中数据(记录)的相关信息Freespace:尚未使用的存储空间Data:已经使用的空间,保存数据库对象的数据空闲空间和行空间共同构成存储区数据库块结构Header:包括块头部,表目录,行目录,事务条目等数据库块数据块的存储空间管理避免发生行链接和行迁移当向表格中插入数据时,如果行的长度大于块的大小,行的信息无法存放在一个块中,需要使用多个块存放行信息,称为行链接。当表格数据被更新时,如果更新后的数据长度大于块长度,Oracle将整行的数据从原数据块迁移到新的数据块中,只在原数据块中留下一个指针指向新数据块,称为行迁移。块管理分为自动和手动两种(表空间的管理方式)数据块的存储空间管理避免发生行链接和行迁移手动管理块存储参数PCTFREEPCTFREE参数指定块中必须保留的最小空闲空间比例。当数据块的自由空间百分率低于PCTFREE时,此数据块被标志为USED,此时在数据块中只可以进行更新操作,而不可以进行插入操作。该参数默认为10。PCTUSEDPCTUSED参数指定可以向块中插入数据时块已使用的最大空间比列。当数据块使用空间低于PCTUSED时,此块标志为FREE,可以对数据块中数据进行插入操作;反之,如果使用空间高于PCTUSED,则不可以进行插入操作。该参数默认为10。INITRANS可以同时对此数据块进行DML操作的事务的个数。MAXTRANS可以同时对此数据块进行DML操作的最多事务的个数。手动管理块存储参数BLOCK空间使用举例80%80%40%Inserts1234InsertsPCTFREE=20

PCTUSED=40Insert(onfreelist)Inserts(offfreelist)BLOCK空间使用举例80%80%40%Inserts12区(EXTENT)区的概念由一组连续的数据块构成,是存储分配的最小单位。区的管理区的分配在本地管理方式的表空间中,系统可以根据需要,自动进行区的分配。可以通过使用UNIFORM选项指定所有段的初始区和后续区具有统一大小,也可以使用AUTOALLOCATE选项指定由Oracle自动决定后续区大小。用户不能通过其他参数来干预区的分配。

区(EXTENT)区的概念AUTOALLOCATE(默认设置)EXTENTMANAGEMENTLOCALAUTOALLOCAT由Oracle负责对区的分配进行自动管理,表空间中最小的区为64kBUNIFORMEXTENTMANAGEMENTLOCALUNIFORMSIZEn表空间中所有的区必须具有统一的大小若没有指定SIZE参数的值,则为默认值1MBAUTOALLOCATE(默认设置)段段概述回退段段段概述段概述段的概述段是由一个或多个扩展区组成的逻辑存储单元。

数据库模式对象在逻辑上是以段来占据表空间的大小。段代表特定数据类型的数据存储结构。段的类型:数据段数据段用来存储表或簇的数据,可以细分为表数据段、索引表数据段、分区表数据段及簇数据段四种。段概述段的概述索引段用来存放索引信息,主要包括存储ROWID和索引键。索引段与其相应的表段经常会被同时访问,为了减少硬盘访问的冲突,索引段与表段可以放到处于不同物理位置的表空间中。。临时段当用户进行排序查询时,如果在指定的内存无法完成排序,Oracle将自动从用户默认的临时表空间中指派临时段进行排序。会话结束,数据将从临时段中自动删除。回退段用于存放数据修改之前的值(包括数据修改之前的位置和值),利用回滚段恢复被回滚事务对数据库所做的修改,或者为事务提供读一致性保证。一个事务只能使用一个回滚段存放它的回滚信息,但一个回滚段可以存放多个事务的回滚信息。索引段TableClusterTable

partitionIndex-organized

tableTableClusterTable

partitionInIndex

partitionUndo

segmentTemporary

segmentIndexIndex

partitionUndo

segmentTeORACLE1、ORACLE概述2、ORACLE的体系结构3、ORACLE的物理结构4、ORACLE的逻辑结构ORACLE1、ORACLE概述1Oracle概述1Oracle概述数据库系统的发展第一代数据库:20世纪70年代广为流行的是层次和网状数据库,层次数据库按层次组织数据。只能处理1:1和1:N的关系。代表产品是IBM在1969年研制的IMS。第二代数据库:20世纪80年代是关系数据库发展的鼎盛时期。代表产品是IBM的DB2,Oracle公司的Oracle,第三代数据库:20世纪80年代以来,从不同的计算机应用领域对数据库提出了许多非传统的应用,如CAD等,计算机辅助软件工程(CASE)等,这些应用领域要求DBMS能存储多媒体数据,时态数据,复杂对象,图形图像等。数据库系统的发展第一代数据库:20世纪70年代广为流行的是层ORACLE概述七十年代初IBM研究人员E·F·Code发表了一篇里程碑的论文,“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL,这是第一次有人用全面一致的方案管理数据信息。根据这篇论文,1977年,33岁的埃里森(Larr

温馨提示

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

评论

0/150

提交评论