Oracle数据库系统空间管理

上传人:高校教****PT 文档编号:370190630 上传时间:2023-11-28 格式:PPT 页数:36 大小:1.68MB
返回 下载 相关 举报
Oracle数据库系统空间管理_第1页
第1页 / 共36页
Oracle数据库系统空间管理_第2页
第2页 / 共36页
Oracle数据库系统空间管理_第3页
第3页 / 共36页
Oracle数据库系统空间管理_第4页
第4页 / 共36页
Oracle数据库系统空间管理_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《Oracle数据库系统空间管理》由会员分享,可在线阅读,更多相关《Oracle数据库系统空间管理(36页珍藏版)》请在金锄头文库上搜索。

1、第六章:Oracle的空间管理学习目标6.1.数据库创建与配置6.2.表空间的管理6.3.段的管理6.4.区的管理6.5.块的管理6.1数据库创建与配置可用如下的方法来创建一个可用如下的方法来创建一个Oracle数据库数据库:1、使用DataBaseConfigurationAssistant工具创建数据库。2、使用DBCA以静默方式创建数据库3、手工创建、手工创建1、使用DataBaseConfigurationAssistant工具创建数据库2、使用DBCA以静默方式创建数据库-silent:指定以静默的方式执行dbca命令。-createDatabase:指定以dbca命令创建数据库。-

2、templateName:指定用来创建数据库模板的名称,这里指定为General_Purpose.dbc,即一般用途的数据库模板。使用此参数相当于在图新界面中创建一般用途的数据库。-gdbname:指定创建的全局数据库名称,这里指定名称为test。-sid:指定数据库系统标识符,这里指定为test,与数据库同名。-responseFile:指定按住响应文件,NO_VALUE表示没有指定响应文件。-characterSet:指定数据库使用的字符集,这里指定为AL32UTF8.-memoryPercentage:指定用于Oracle的物理内存的百分比,这里指定为30%。-emConfigurati

3、on:指定Enterprise Manager的管理选择。LOCAL表示数据库有Enterprise Manager本地管理,CENTRAL表示数据库有Enterprise Manager集中管理,NOEMAIL表示数据库不启用邮件通知功能,NONE表示不使用Enterprise Manager管理数据库。3、使用SQL语句手动创建数据库 命令行安装数据库比通过命令行安装数据库比通过DBCADBCA安装更加可控,也适用于图安装更加可控,也适用于图形界面无法启动的主机环境,研究命令行安装能比较清楚形界面无法启动的主机环境,研究命令行安装能比较清楚的了解创建数据库的来龙去脉。的了解创建数据库的来龙

4、去脉。提示安装Oracle软件时,建议在基础版本上打上最新的补丁(包括PSU补丁)。创据库时,首先需要预先考虑的是不可更改或者更改影响范围大的设置,如数据字、字符集、数据块大小、数据库的连接方式。6.2表空间的管理1、表空间管理方式2、表空间管理3、还原表空间4、临时表空间5、用户与表空间6、表空间监控与注意事项表空间相关概念表空间管理是DBA的工作重点之一。首先回顾一下表空间、数据文件、段、以及数据库的关系逻辑结构逻辑结构物理结构物理结构数据库数据库表空间表空间Oracle数据库块数据库块段段区区硬盘硬盘操作系统文件操作系统文件操作系统块操作系统块表空间从逻辑上是多个段的结合,在物理上是多个

5、数据文件的集合,相当于在段和数据文件的对应中加入了一个中间层来解决这种多对多的关系。建议:很多DBA喜欢在建库之初就给数据库分配很多空闲空间,这种方法虽然可以避免数据库空间不足,但会导致数据库的空闲空间很大,而过大的空闲空间可能会带来很多副作用。如:加数据库的管理成本、影响数据库的打开和关闭时间、增加数据库的迁移难度等。基于以上考虑,我们一般建议给数据库预留够用的剩余空间即可。一套运行良好的数据库是用心管理出来的,而不是空间预分配出来的。6.2.1表空间管理方式1.字典管理方式(DMT)使用数据字典管理存储空间的分配,当表空间分配新的区,或者回收已分配的区时,Oracle会对数据字典对应的表进

6、行查询、更新,且使用单线程、速度慢,并且产生回退和重做信息。2.本地管理方式(LMT)表空间中区分配和区回收的管理信息都被存储在表空间的数据文件中,而与数据字典无关。表空间为每个数据文件维护一个位图结构,用于记录表空间的区分配情况。当表空间分配新的区,或者回收已分配的区时,Oracle会对文件中的位图进行更新,所以不会产生回滚和重做信息。1、创建表空间create tablespace tablespace_namedatafile filename size n autoextend on next n1 max size m/off permanentextent management l

7、ocal/dictionarySQLcreatetablespacetest2datafileDORACLE19CORADATANEWORCLTEST01DBF3size25mautoextendonnext1280kmaxsize1000m4DORACLE19CORADATANEWORCLTEST02DBF5size25mautoextendonnext1280kmaxsize1000m6extentmanagementlocaluniformsize64k表空间已创建2、查看表空间如何查看数据库有哪些表空间?如何查看表空间对应的数据文件?包含数据库中所有表空间的描述信息SELECT*FRO

8、MDBA_TABLESPACES包含当前用户的表空间的描叙信息SELECT*FROMUSER_TABLESPACES包含从控制文件中获取的表空间名称和编号信息SELECT*FROMV$TABLESPACE;包含数据文件以及所属的表空间的描述信息SELECT*FROMDBA_DATA_FILES包含临时数据文件以及所属的表空间的描述信息SELECT*FROMDBA_TEMP_FILES包含从控制文件中获取的数据文件的基本信息,包括它所属的表空间名称、编号等SELECT*FROMV$DATAFILE包含所有临时数据文件的基本信息SELECT*FROMV$TEMPFILE3、调整表空间1)重置表空间

9、大小)重置表空间大小如果是本地管理的表空间,则表空间的存储设置是不能改变的。但是用户可以用以下两个方法来增加表空间的大小。方法1:使用ALTERTABLESPACE语句增加数据文件。ALTERDATABASEDATAFILEAdd/dropdatafilefilename方法2:改变数据文件的大小ALTERDATABASEDATAFILEfilenameautoextendonnextn1;-重新设置数据文件自动扩展参数ALTERDATABASEDATAFILEfilenameRESIZEn1;-重置数据文件大小3、调整表空间2)移动表空间)移动表空间有时某个磁盘I/O可能过于繁忙,这可能影响

10、数据库整体性能,此时可以将一个或多个数据文件移动到其他的磁盘上以平衡I/O。ALTERDATABASEtablespace_namerenameoldfilenameTOnewfilename;3)删除表空间)删除表空间当一个表空间不再需要时,就可使用命令将其删除。但是有两种表空间不可以随意删除。第一种是系统表空间,第二种是有活动段的表空间。删除表空间的语法如下所示。DROPTABLESPACEtablespace_nameINCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;4、维护表空间(1)表空间脱机与联机ALTERTABLESPACEtable

11、space_nameOFFLINEIMMEDIATE;ALTERTABLESPACEtablespace_nameONLINE;(2)表空间只读与读写ALTERTABLESPACEtablespace_nameREADYONLY;ALTERTABLESPACEtablespace_nameREADWRITE;(3)表空间自动扩展开启与关闭ALTERDATABASEDATAFILEfilenameAUTOEXTENDON;ALTERDATABASEDATAFILEfilenameAUTOEXTENDOFF;6.2.3 还原表空间 还原undo一词在以前的版本中被称为回滚(rollback)。还原

12、表空间用来自动管理还原(回滚)数据的。还原表空间用来存储还原段,不能包含任何其它对象。SQLshow parameter undoNAME TYPE VALUE-temp_undo_enabled boolean FALSEundo_management stringAUTOundo_retentioninteger900undo_tablespace string UNDOTBS11、Undo表空间管理参数1 1UNDO_TABLESPACEUNDO_TABLESPACE确定Undo表空间的管理方式,如果该参数设置为“AUTO”,表示系统使用自动undo管理;如果设置为“MANUAL”,表示

13、使用手动undo管理,以回滚段方式启动数据库。2 2UNDO_MANAGEMENTUNDO_MANAGEMENT表示使用自动undo管理时,系统默认undo表空间名,默认名为undotbs。3 3UNDO_RETENTIONUNDO_RETENTION决定undo数据的维持时间,即用户事务结束后,undo的保留时间,默认值为900秒。以SYS用户SYSDBA身份登录SQL*Plus,使用SHOW命令可以查询undo参数的设置情况:SQL SHOW parameter undo2、还原表空间创建1.通过CREATEDATABASE命令中加入一个子句,在创建数据库到时候建立还原表空间。2.在创建数

14、据库之后,使用createundotablespace命令。create database database_name.undo tablespace tablespace_namedatafile filename size n1autoextend oncreate undo tablespace tablespace_namedatafile filenamesize n3 3、修改还原表空间、修改还原表空间使用使用 ALTER TABLESPACE 命令可以修改还原表空间命令可以修改还原表空间下面的例子为还原表空间增加一额外的数据文件下面的例子为还原表空间增加一额外的数据文件:alte

15、r tablespace tablespace_nameadd datafile filenamesize n1autoextend on4、还原表空间的维护在Oracle中,允许创建多个Undo表空间,但是同一时间同一时间只能激活一个一个undo表空间还原表空间之间的切换删除还原表空间只有在一个还原表空间当前没有被使用时,才可以将它只有在一个还原表空间当前没有被使用时,才可以将它删除删除可用以下的方法删除一个活动的还原表空间可用以下的方法删除一个活动的还原表空间:切换到一个新的还原表空间切换到一个新的还原表空间等所有当前的事物完成后删除该还原表空间等所有当前的事物完成后删除该还原表空间ALT

16、ER SYSTEM SET UNDO_TABLESPACE=tablespace_name;DROP TABLESPACE tablespace_name;5、还原信息相关的动态视图数据字典。通过查询以下的视图可获取有关还原段的信息通过查询以下的视图可获取有关还原段的信息:DBA_ROLLBACK_SEGS 动态性能视图:动态性能视图:V$ROLLNAMEV$ROLLSTATV$UNDOSTATV$SESSIONV$TRANSACTION6.2.4 临时表空间用做排序操作,如用做排序操作,如order by,group by可以由多个用户共享可以由多个用户共享不能包含任何永久对象不能包含任何永久对象如果在创建数据库的时候没有使用如果在创建数据库的时候没有使用TEMPORARY TABLESPACE子句,那么默认使用子句,那么默认使用SYSTEM表空表空间作为排序区,这样会降低数据库系统的效率。间作为排序区,这样会降低数据库系统的效率。默认表空间既可以在创建数据库时创建,也可以在数据库默认表空间既可以在创建数据库时创建,也可以在数据库创建执行后单独创建。创建执行后单独创建。在数据库创建后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号