您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第四章表空间及数据文件管理
Oracle10g数据库基础教程第四章Oracle数据库体系结构Oracle10g数据库基础教程本章内容Oracle数据库体系结构表空间数据文件控制文件重做日志文件归档重做日志文件Oracle10g数据库基础教程本章要求理解Oracle数据库的体系结构掌握表空间的概念及其管理掌握数据文件的管理掌握控制文件的作用及其管理掌握重做日志文件的工作方式及其管理掌握数据库归档模式设置及归档管理Oracle10g数据库基础教程4.1Oracle数据库体系结构Oracle数据库由数据库实例和物理存储结构组成。Oracle10g数据库基础教程Oracle数据库的存储结构包括物理存储结构和逻辑存储结构。物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系,可以在数据字典中查到。Oracle10g数据库基础教程表空间段区块OS块数据文件逻辑结构数据库控制文件重做日志文件物理结构Oracle10g数据库基础教程数据库、表空间、数据文件、数据库对象之间的关系数据库表空间1数据文件1数据库对象1数据文件2数据库对象3数据库对象2表空间2数据文件3数据库对象4数据文件4数据库对象5数据库对象6Oracle10g数据库基础教程4.2表空间及其管理(1)表空间的分类系统表空间SYSTEM表空间,主要存储:数据库的数据字典;PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等;数据库对象的定义,如表、视图、序列、同义词等。SYSAUX表空间SYSAUX表空间是Oracle10g新增的辅助系统表空间,主要用于存储数据库组件等信息,以减小SYSTEM表空间的负荷。在通常情况下,不允许删除、重命名及传输SYSAUX表空间。Oracle10g数据库基础教程非系统表空间撤销表空间专门进行回滚信息的自动管理,由UNDO_TABLESPACE参数设置。临时表空间专门进行临时数据管理的表空间在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据,这些临时数据将保存在数据库临时表空间中。默认临时表空间用户表空间保存用户数据Oracle10g数据库基础教程大文件表空间与小文件表空间大文件表空间(BigfileTablespace):只包含一个大数据文件,该文件的最大尺寸为128TB(数据块大小为32KB)或只32TB(数据块大小为8KB)。与大文件表空间相对应,系统默认创建的表空间称为小文件表空间(SmallfileTablespace),如SYSTEM表空间、SYSAUX表空间等。小文件表空间可以包含多达1024个数据文件。小文件表空间的总容量与大文件表空间的容量基本相似。Oracle10g数据库基础教程(2)创建永久表空间创建永久表空间使用CREATETABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的数据文件。EXTENTMANAGEMENT:指定表空间的区管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENTSPACEMANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。Oracle10g数据库基础教程为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;Oracle10g数据库基础教程为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50MSEGMENTSPACEMANAGEMENTMANUAL;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;Oracle10g数据库基础教程(3)创建临时表空间使用CREATETEMPORARYTABLESPACE语句创建临时表空间,用TEMPFILE子句设置临时数据文件。需要注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。为ORCL数据库创建一个临时表空间ORCLTEMP1。CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;Oracle10g数据库基础教程指定临时表空间组为ORCL数据库创建一个临时表空间ORCLTEMP2,并放入临时表空间组temp_group1。同时,将临时表空间ORCLTEMP1也放入该temp_group1中。CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP2_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;Oracle10g数据库基础教程(4)创建撤销表空间在Oracle10g中引入了撤销表空间的概念,专门用于回滚段的自动管理。如果数据库中没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。如果数据库中包含多个撤销表空间,那么一个实例只能使用一个处于活动状态的撤销表空间,可以通过参数UNDO_TABLESPACE来指定;如果数据库中只包含一个撤销表空间,那么数据库实例启动后会自动使用该撤销表空间。Oracle10g数据库基础教程可以使用CREATEUNDOTABLESPACE语句创建撤销表空间,但是在该语句中只能指定DATAFILE和EXTENTMANAGEMENTLOCAL两个子句,而不能指定其他子句。为ORCL数据库创建一个撤销表空间。CREATEUNDOTABLESPACEORCLUNDO1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLUNDO1_1.DBF'SIZE20M;如果要在数据库使用该撤销表空间,需要设置参数UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=ORCLUNDO1Oracle10g数据库基础教程(5)扩展表空间为表空间添加数据文件通过ALTERTABLESPACE…ADDDATAFILE语句为永久表空间添加数据文件,通过ALTERTABLESPACE…ADDTEMPFILE语句为临时表空间添加临时数据文件。例1为ORCL数据库的ORCLTBS1表空间添加一个大小为10MB的新数据文件。ALTERTABLESPACEORCLTBS1ADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'SIZE10M;例2为ORCL数据库的ORCLTEMP1表空间添加一个大小为10MB的临时数据文件。ALTERTABLESPACEORCLTEMP1ADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_2.DBF'SIZE20M;Oracle10g数据库基础教程改变数据文件的大小及扩展方式将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'RESIZE20M;将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF设置为自动扩展,每次扩展5MB空间,文件最大为100MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'AUTOEXTENDONNEXT5MMAXSIZE100M;Oracle10g数据库基础教程(6)修改表空间可用性离线状态的表空间是不能进行数据访问的,所对应的所有数据文件也都处于脱机状态。一些表空间必须是在线状态:SYSTEM表空间存放在线回滚信息的撤销表空间临时表空间语法ALTERTABLESPACEtablespace_nameONLINE|OFFLINE示例ALTERTABLESPACEORCLTBS1OFFLINE;ALTERTABLESPACEORCLTBS1ONLINE;Oracle10g数据库基础教程(7)设置默认表空间在Oracle10g数据库中,默认表空间为USERS表空间,默认临时表空间为TEMP表空间。设置数据库的默认表空间ALTERDATABASEDEFAULTTABLESPACE设置数据库的默认临时表空间ALTERDATABASEDEFAULTTEMPORARYTABLESPACE示例ALTERDATABASEDEFAULTTABLESPACEORCLTBS1;ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP;ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group1;Oracle10g数据库基础教程(8)删除表空间删除ORCL数据库的ORCLTBS1表空间及其所有内容。DROPTABLESPACEORCLTBS1INCLUDINGCONTENTS;删除ORCL数据库的ORCLUNDO1表空间及其所有内容,同时删除其所对应的数据文件。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES;删除ORCL数据库的ORCLUNDO1表空间及其所有内容,同时删除其所对应的数据文件,以及其他表空间中与ORCLUNDO1表空间相关的参照完整性约束。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;Oracle10g数据库基础教程创建大文件表空间的语句CREATEBIGFILETABLESPACE示例:创建一个大文件表空间ORCLTBS5。CRE
本文标题:第四章表空间及数据文件管理
链接地址:https://www.777doc.com/doc-1065910 .html