《表格模板-第四章表空间及数据文件管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-第四章表空间及数据文件管理 精品.ppt(63页珍藏版)》请在第一文库网上搜索。
1、第四章第四章 Oracle数据库体系结构数据库体系结构本章内容本章内容pOracle数据库体系结构p表空间p数据文件p控制文件p重做日志文件p归档重做日志文件本章要求本章要求p理解Oracle数据库的体系结构p掌握表空间的概念及其管理p掌握数据文件的管理p掌握控制文件的作用及其管理p掌握重做日志文件的工作方式及其管理p掌握数据库归档模式设置及归档管理 4.1 Oracle数据库体系结构数据库体系结构pOracle 数据库由数据库实例和物理存储结构组成。 pOracle数据库的存储结构包括物理存储结构物理存储结构和逻逻辑存储结构辑存储结构。n物理存储结构主要用于描述物理存储结构主要用于描述Ora
2、cle数据库外部数据的数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;的操作系统有关;n逻辑存储结构主要描述逻辑存储结构主要描述Oracle数据库内部数据的组织数据库内部数据的组织和管理方式,与操作系统没有关系,可以在数据字典和管理方式,与操作系统没有关系,可以在数据字典中查到。中查到。p数据库、表空间、数据文件、数据库对象之间的关系 数据库 表空间 1 数据文件 1 数据库对象 1 数据文件 2 数据库对象 3 数据库对象 2 表空间 2 数据文件 3 数据库对象 4 数据文件 4 数据库对象 5 数据库对象 6 4
3、.2 表空间及其管理表空间及其管理(1)表空间的分类)表空间的分类p系统表空间 nSYSTEM 表空间,主要存储:p数据库的数据字典;pPL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等;p数据库对象的定义,如表、视图、序列、同义词等。 nSYSAUX表空间 pSYSAUX表空间是Oracle 10g新增的辅助系统表空间,主要用于存储数据库组件等信息,以减小SYSTEM表空间的负荷。p在通常情况下,不允许删除、重命名及传输SYSAUX表空间。p非系统表空间非系统表空间 n撤销表空间 p专门进行回滚信息的自动管理,由UNDO_TABLESPACE参数设置。 n临时表空间p专门进
4、行临时数据管理的表空间 p在数据库实例运行过程中,执行排序等在数据库实例运行过程中,执行排序等SQL语句时语句时会产生大量的临时数据,这些临时数据将保存在数会产生大量的临时数据,这些临时数据将保存在数据库临时表空间中。据库临时表空间中。 p默认临时表空间 n用户表空间 p保存用户数据p大文件表空间与小文件表空间大文件表空间与小文件表空间 n大文件表空间(大文件表空间(Bigfile Tablespace):):只包含一只包含一个大数据文件个大数据文件,该文件的最大尺寸为,该文件的最大尺寸为128 TB(数据(数据块大小为块大小为32 KB)或只)或只32 TB(数据块大小为(数据块大小为8 K
5、B)。)。n与大文件表空间相对应,系统默认创建的表空间称为与大文件表空间相对应,系统默认创建的表空间称为小文件表空间(小文件表空间(Smallfile Tablespace),如),如SYSTEM表空间、表空间、SYSAUX表空间等。小文件表空表空间等。小文件表空间可以包含间可以包含多达多达1024个数据文件个数据文件。小文件表空间的总。小文件表空间的总容量与大文件表空间的容量基本相似。容量与大文件表空间的容量基本相似。 (2)创建永久表空间)创建永久表空间 p创建永久表空间使用CREATE TABLESPACE语句来实现,该语句包含以下几个子句:nDATAFILE:设定表空间对应的数据文件。
6、:设定表空间对应的数据文件。nEXTENT MANAGEMENT:指定表空间的区管理方:指定表空间的区管理方式,取值为式,取值为LOCAL(默认)或(默认)或DICTIONARY。nAUTOALLOCATE(默认)或(默认)或UNIFORM:设定区:设定区的分配方式。的分配方式。nSEGMENT SPACE MANAGEMENT:设定段的管:设定段的管理方式,其取值为理方式,其取值为MANUAL或或AUTO (默认)(默认) 。p为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式nCREATE TABLESPACE ORCLTBS1 DATAFILE nD:ORACLEPR
7、ODUCT10.2.0ORADATAORCLnORCLTBS1_1.DBF SIZE 50M;p为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。nCREATE TABLESPACE ORCLTBS2 DATAFILEn D:ORACLEPRODUCT10.2.0ORADATAORCLnORCLTBS2_1.DBF SIZE 50M nEXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;p为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。nCREATE TABLESPACE ORCLTBS3 DATAFILEnD:OR
8、ACLEPRODUCT10.2.0ORADATAORCLnORCLTBS3_1.DBF SIZE 50M nSEGMENT SPACE MANAGEMENT MANUAL;p为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。nCREATE TABLESPACE ORCLTBS4 DATAFILEnD:ORACLEPRODUCT10.2.0ORADATAORCLnORCLTBS4_1.DBF SIZE 50MnEXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;(3)创建临时表空
9、间)创建临时表空间p使用CREATE TEMPORARY TABLESPACE 语句创建临时表空间,用TEMPFILE子句设置临时数据文件。p需要注意的是临时表空间中区的分配方式只能是临时表空间中区的分配方式只能是UNIFORM,而不能是,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。p为ORCL数据库创建一个临时表空间ORCLTEMP1。nCREATE TEMPORARY TABLESPACE ORCLTEMP1 nTEMPFILE D:ORACLEPRODUCT10.2.0nORADATAORCLORCLTEMP1_1.DBF SIZE 20M nEX
10、TENT MANAGEMENT LOCAL UNIFORM SIZE 16M;指定临时表空间组指定临时表空间组p为ORCL数据库创建一个临时表空间ORCLTEMP2,并放入临时表空间组temp_group1。同时,将临时表空间ORCLTEMP1也放入该temp_group1中。nCREATE TEMPORARY TABLESPACE ORCLTEMP2 TEMPFILE D:ORACLEPRODUCT10.2.0 nORADATAORCLORCLTEMP2_1.DBF SIZE 20M nEXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M nTABLESPACE
11、GROUP temp_group1;nALTER TABLESPACE ORCLTEMP1 TABLESPACE GROUP temp_group1;(4)创建撤销表空间)创建撤销表空间p在Oracle 10g中引入了撤销表空间撤销表空间的概念,专门用于回专门用于回滚段的自动管理滚段的自动管理。如果数据库中没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。p如果数据库中包含多个撤销表空间,那么一个实例只能使用一个处于活动状态的撤销表空间,可以通过参数通过参数UNDO_TABLESPACE来指定来指定;如果数据库中只包含一个撤销表空间,那么数据库实例启动后会自动使用该撤销表空间。p可
12、以使用CREATE UNDO TABLESPACE语句创建撤销表空间,但是在该语句中只能指定DATAFILE和EXTENT MANAGEMENT LOCAL两个子句,而不能指定其他子句。p为ORCL数据库创建一个撤销表空间。nCREATE UNDO TABLESPACE ORCLUNDO1 nDATAFILE D:ORACLEORADATAORCLnORCLUNDO1_1.DBF SIZE 20M;p如果要在数据库使用该撤销表空间,需要设置参数nUNDO_MANAGEMENT=AUTOnUNDO_TABLESPACE= ORCLUNDO1(5)扩展表空间)扩展表空间p为表空间添加数据文件为表空
13、间添加数据文件n通过ALTER TABLESPACEADD DATAFILE语句为永久表空间添加数据文件,通过ALTER TABLESPACE ADD TEMPFILE语句为临时表空间添加临时数据文件。n例1 为ORCL数据库的ORCLTBS1表空间添加一个大小为10 MB的新数据文件。pALTER TABLESPACE ORCLTBS1 ADD DATAFILEp D:ORACLEPRODUCT10.2.0ORADATApORCLORCLTBS1_2.DBF SIZE 10M;n例2 为ORCL数据库的ORCLTEMP1表空间添加一个大小为10 MB的临时数据文件。pALTER TABLES
14、PACE ORCLTEMP1 ADD TEMPFILEpD:ORACLEPRODUCT10.2.0ORADATAORCLpORCLTEMP1_2.DBF SIZE 20M; p改变数据文件的改变数据文件的大小及扩展方式大小及扩展方式n将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20MB。pALTER DATABASE DATAFILEpD:ORACLEPRODUCT10.2.0ORADATApORCLORCLTBS1_2.DBF RESIZE 20M;n将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF设置为自动扩展,每次
15、扩展5 MB空间,文件最大为100 MB。pALTER DATABASE DATAFILE pD:ORACLEPRODUCT10.2.0ORADATAORCLpORCLTBS1_2.DBFpAUTOEXTEND ON NEXT 5M MAXSIZE 100M;(6)修改表空间可用性)修改表空间可用性 p离线状态的表空间是不能进行数据访问的,所对应的所有数据文件也都处于脱机状态。 p一些表空间必须是在线状态:nSYSTEM表空间表空间n存放在线回滚信息的撤销表空间存放在线回滚信息的撤销表空间n临时表空间临时表空间p语法nALTER TABLESPACE tablespace_name ONLIN
16、E|OFFLINEp示例示例nALTER TABLESPACE ORCLTBS1 OFFLINE; nALTER TABLESPACE ORCLTBS1 ONLINE;(7)设置默认表空间)设置默认表空间p在Oracle10g数据库中,默认表空间为默认表空间为USERS表空间表空间,默默认临时表空间为认临时表空间为TEMP表空间表空间。p设置数据库的默认表空间nALTER DATABASE DEFAULT TABLESPACE p设置数据库的默认临时表空间nALTER DATABASE DEFAULT TEMPORARY nTABLESPACE p示例nALTER DATABASE DEFAULT TABLESPACE ORCLTBS1 ; nALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP; nALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_group1; (8)删除表空间)删除表空间p删除ORCL数据库的ORCLTBS1表空间及其所有内容。nDROP TABLESPACE ORCLTB