管理表空间课件_第1页
管理表空间课件_第2页
管理表空间课件_第3页
管理表空间课件_第4页
管理表空间课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、Oracle数据库应用技术第四章管理表空间主讲内容:表空间及管理主要内容表空间基础知识管理表空间其他表空间一. 表空间基础知识在创建数据库时,Oracle会自动地创建多个表空间,如system、users等表空间;例1:SELECT tablespace_name FROM dba_tablespaces; SELECT file_name, tablespace_name FROM dba_data_files WHERE tablespace_name =SYSTEM; 表空间用于存储数据库用户的所有模式对象,用户可以使用这些表空间进行数据操作;Oracle数据库中最大的逻辑存储结构,与操

2、作系统中的数据文件相对应。ORACLE数据库中的一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间;在Oracle系统里,表空间和数据文件是一对不能分开的概念,也就是创建表空间时必须创建数据文件,增加数据文件时必须指定表空间。表空间说 明system存储数据字典,包括表、视图和存储过程的定义等users存储数据库用户创建的数据库对象temp存储sql语句处理的表和索引的信息example如果安装时选择“实例方案”,则此表空间是各样例帐户的对象sysauxSystem表空间的辅助空间,一些选件的对象都存放在此表空间内以减少system表空间的负荷undotbs1存储撤销信息用的

3、表空间system表空间Oracle系统的每个版本都一直要使用system表空间存放内部数据和数据字典,system表空间主要存放sys用户各个对象和其他用户的少量对象;可以从dba_segments数据字典中查询到某个表空间所存储的对象类型。例2,查询system表空间内存放的对象及对象拥有者;SQL select owner, tablespace_name from dba_segments where tablespace_name=SYSTEM order by owner, segment_type但是,在实际应用中,如果用户都使用系统自动创建的这几个表空间,将会严重影响I/O性能

4、;因此,需要根据实际情况创建不同的表空间,这样既可以减轻系统表空间的负担,又可以使得数据库中的数据分布更清晰。二、管理表空间创建表空间维护表空间删除表空间1、创建表空间建立表空间是DBA经常要做的工作之一,在创建表空间时,应该基于以下几点进行考量:创建临时表空间还是撤销表空间(默认为永久性)数据文件是否自动扩展(默认为off)表空间的状态在线还是不在线(默认online)数据库对象的任何操作是否产生日志(默认logging)首先要拥有create tablespace权限的用户,比如sys;语法格式Create temporary | undo TableSpace tablespace_na

5、meDatafile /path/filename size integer k/m reuse ,. ONLINE | OFFLINE LOGGING | NOLOGGING FORCE LOGGING DEFAULT STORAGE storage COMPRESS | NOCOMPRESS 例3,创建一个永久性表空间tbs_1,初始大小为10MB,自动增长,每次增长5MB,最大为100MB;SQL Create Tablespace tbs_1datafile file_1.dbf size 10MAutoextend on next 5MMaxsize 100M;2、维护表空间维护表空

6、间是一项必须做的工作,一般包括对应用系统表空间、system表空间及sysaux表空间的维护。改变表空间的状态;改变表空间名称;管理表空间文件;设置默认表空间;删除表空间;(1) 改变表空间状态设置表空间为只读方式,从而保证表空间数据的完整,一般在进行数据库的备份与恢复操作、历史数据的完整性保护等情况下,可将相应的表空间设置为只读表空间;例4,将tbs_1表空间设置为只读方式alter tablespace tbs_1 read only;例5,将tbs_2表空间设置为可读写方式;alter tablespace tbs_2 read write;备注:将某个表空间设置为只读,该表空间除了表的

7、数据不能进行insert、update和delete操作外,某些对象还是可以删除的,如索引和目录仍可以被删除。表空间状态属性ALTER TABLESPACE tablespace_name READ ONLY;ALTER TABLESPACE tablespace_name READ WRITE; ALTER TABLESPACE tablespace_name ONLINE;ALTER TABLESPACE tablespace_name OFFLINE parameter;(2) 修改表空间名称Oracle 11g的新功能之一是可以对表空间名称进行重新命名,需要提醒的是,DBA只能对一般的

8、表空间进行更名,不能对system和sysaux表空间进行更名,也不能对处于offline状态的表空间进行更名;语法格式SQL Alter Tablespace old_name Rename to new_name;查询表空间和对应的数据文件;SQL select tablespace_name,file_name from dba_data_files;例6,对tab1表空间进行更名; SQL Alter Tablespace tab1 Rename to tab2;(3) 管理表空间中的数据文件修改数据文件的大小增加新的数据文件到表空间删除无数据的数据文件修改数据文件的大小语法格式(简化

9、): Alter Database Datafile file_name Resize newsize K | M ;查看表空间的数据文件信息:SELECT tablespace_name , file_name , bytes FROM dba_data_files WHERE tablespace_name = name;例7,修改tbs_1表空间对应的数据文件的大小;ALTER DATABASE DATAFILE E:APPADMINISTRATORORADATAORCL tbs_1.DBF RESIZE 40M; 增加新的数据文件到表空间当某个表空间被设置为非自动扩展而且目前该表空间的

10、自由空间不能满足新的扩展时,DBA要对表空间追加新的数据文件,以满足对象扩展的需要;语法格式(简化) :Alter Tablespace tablespace_nameAdd datafile /path/file_name.dbf size K | M;例8,为tbs_1表空间增加两个新的数据文件;SQL ALTER TABLESPACE tbs_1 2 ADD DATAFILE 3 E:appAdministratororadataorcltbs_1_02.dbf 4 SIZE 10M 5 AUTOEXTEND ON NEXT 5M MAXSIZE 40M, 6 E:appAdminist

11、ratororadataorcltbs_1_03.dbf 7 SIZE 10M 8 AUTOEXTEND ON NEXT 5M MAXSIZE 40M;上述语句为在表空间tbs_1目录下增加了两个数据文件,名称分别为tbs_1_02.dbf和tbs_1_03.dbf。 删除无数据的数据文件从Oracle 11g R2开始,允许从表空间中删除无数据的数据文件。语法格式:ALTER TABLESPACE tablespace_nameDROP DATAFILE file_name; 例9,删除tbs_1表空间的数据文件tbs_1_03.dbf;SQL ALTER TABLESPACE tbs_1

12、DROP DATAFILE E:appAdministratororadataorcltbs_1_03.dbf;4、设置默认表空间建立用户时,如果不指定表空间,则默认的临时表空间是Temp,默认的永久表空间是System;为避免应用系统与Oracle系统竞争system表空间,Oracle 11g系统允许dba将非temp临时表空间设置为临时表空间,并将非system表空间设置为默认永久表空间。例10,将临时表空间temp2设置为默认的临时表空间;SQL alter database default temprory tablespace temp2;例11,将表空间users设置为默认表空间

13、,并查询默认表空间的信息;SQL alter database default tablespace users;5、删除表空间一般具有DBA或者具有drop tablespace权限的用户都可进行表空间的删除操作;当Oracle不采用Managed Files(OEM)管理文件时,删除表空间实际上仅从数据字典和控制文件上将该表空间的有关信息去掉,并没有真正删除该表空间所对应的物理文件;因此,要想通过删除表空间来释放磁盘空间的话,在删除表空间后,还要手工用操作系统命令删除与任何表空间无关的物理数据文件。语法格式:DROP TABLESPACE tablespace_name including contents-删除表空间同时删除数据cascade constraints-删除表空间同时删除完整性限制,如主键及唯一索引等;例12,删除表空间及其所有内容;DROP TABLESPACE tbs1including contents cascade constraints;三、其他表空间临时表空间撤销表空间1、临时表空间临时表空间是一个磁盘空间

温馨提示

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

最新文档

评论

0/150

提交评论