- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 表空间与数据文件管理 内容提要 表空间的创建与管理维护 一个Oracle数据库是大量数据的集合,这些数据物理上存储于一个个数据文件中,而逻辑上却存储于一个个的表空间中。由此可见,表空间与数据文件之间有着非常紧密的联系,有着明确的对应关系,两者只是从不同角度看到的但却是同一个数据库的不同的组成部分。表空间是Oracle数据库的逻辑构成,数据文件则是Oracle数据库的物理组成。 作为DBA,在需要的时候应该创建出更多的表空间,以分离不同类型的数据,比如,如果将表数据与索引数据存储在不同的表空间将有利于性能的提高。另外,随着数据的不断增长,表空间的空闲空间会慢慢变少,这将要求:DBA要对表空问的空间使用情况进行经常性监控,发现空间不足时及时进行扩展。 7.1 表空间 Oracle数据库通过表空间来组织数据库数据。一个数据库逻辑上由一个或多个表空间组成,一个表空间由一或多个段组成,一个段由一或多个区组成,一个区由多个连续的数据库块组成。 而表空间物理上是由一个或多个数据文件组成的,并且一个数据文件只能属于一个表空间。表空间的空间大小是所有从属于它的数据文件大小的总和。如果一个表空问的空间不够用,可以通过添加数据文件的办法来增加表空问的大小。一旦数据文件加入到某个表空间之后,就不能从该表空间中删除该数据文件了。 逻辑结构图示 数据库中的对象如表、索引及其数据必须存储于表空间中。而且表空间上数据的可用性是可以控制的。如果允许用户或应用程序访问,那么该表空间必须要处于联机状态(ONLINE),脱机(OFFLINE)状态下的表空间,其数据是不可用的。SYSTEM表空间必须联机。 Oracle根据区的管理方式,将表空间分为字典管理(DICTIONARY)和本地管理(LOCAL)的表空间两种。如果将表空间中区的使用与空闲信息记录在数据字典中,就称为字典管理的表空间。如果区的使用与空闲信息是记录在了表空问对应的每个数据文件内的位图中,则称为本地管理的表空间。 但是从0racle9i R2开始,字典管理方式已经废弃。因为与字典管理方式相比,本地管 理的表空问具有明显优点:一方面,由于本地管理表空间的“自由空间”信息没有被记录 到数据字典,所以分配和释放区避免了访问数据字典,从而降低了在数据字典上的冲突; 另外,本地管理表空间会自动跟踪并合并相邻空闲空问,而字典管理表空间则可能需要手工合并空间碎片。 7.2创建表空间 当建立数据库时会自动建立SYSTEM表空间,该表空间用于存放数据字典对象。尽管SYSTEM表空间也可以存放用户数据,但Oracle建议用户数据应存放在另外的表空问中。 因此,建立数据库之后,DBA应该建立其他表空间,以存放不同类型的数据。 1.命令常用选项 建立表空间的用户需具有CREATE TABLESPACE系统权限,使用CREATE TABLESPACE命令建立。该命令的常用格式如下: CREATE TABLESPACE tablespace_name DATAFILE ‘[path]file_name’SIZE n[k| M] [,’[path]file_name’SIZE n[k|M],...] [ONLINE l OFFLINE] [EXTENT MANAGEMENT DICTIONARY | LOCAL [AUTOALLOCATE |UNIFORM[SIZE n[K l M]]]] (1)tablespace name:为表空间定义唯一的名字。 (2)DATAFILE必须指定,列出表空间对应的每一个物理文件的信息,包括文件名称、路径以及大小。 (3)ONLINE:联机,表示表空间创建后立即可以使用;OFFLINE脱机,表空间创建后不能使用。默认值为ONLINE。 (4)EXTENT MANAGEMENT:指定表空间是字典管理的还是本地管理的,从oracle9i开始,默认为本地管理。如果是本地管理的表空间,则还可以继续指定区的大小情况:AUTOALLOCATE表示由系统管理,用户无法指定区大小,这是默认设置;UNIFORM表示区使用统一大小,大小由SIZE指定,默认SIZE则大小为1MB。 2.创建表空间示例 以下举例说明各种表空间的创建方法与命令。 【例7-1】 建立本地管理表空间test,文件位于D磁盘当前目录下,名字为test01.dbf, 200MB大小。 SQLCREATE TABLESPACE test DATAFILE。D:test01.dbf。SIZE 200M EXTENT MANAGEMENT LOCAL; 最后一行的
文档评论(0)