




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
表空间管理 任课教师 冯玲 1 表空间管理 表空间概述创建表空间修改表空间删除表空间查看表空间 2 表空间概述 表空间时oracle数据库中最大的逻辑结构Oracle数据库是有一个或多个表空间组成表空间在物理上与磁盘上的数据文件相对应 一个表空间由一个或多个数据文件组成 但一个数据文件只能属于一个表空间 从物理上说数据存放在数据文件中 从逻辑上说数据存放在表空间中 总之 表空间提供一套有效组织数据的方法 可以将表空间看做数据库对象的容器 它被划分成一个一个独立的逻辑段 分别对应地存储数据库中锁创建的一个一个对象 方案对象 3 概念的对应关系 一个大楼里可以安排几个公司 可以搬入公司 也可以搬出公司 一个公司锁占用的面积是它所占用的各个房间面积的总和 每个公司可以占用多个房间 也可以根据业务增减增减或减少房间 但在安排各个公司占用多少房间时最好规划一下在盖大楼时 可以根据使用目的建筑不同风格的房间 如银行 餐厅 舞厅 会议室 健身房等 进驻大楼的公司可以永久的也可以临时的 不同类型的公司一般使用某种风格的房间为了更好的交流 一般应将同一公司的各个房间安排在就近的地方 4 表空间作用 控制数据库所占用的磁盘空间 控制用户所占用的表空间配额 通过不同表的数据 分区表中不同分区的数据放置到不同的表空间中 可以提高数据库的I O性能 并有利于进行部分备份和恢复的管理工作 能够将一个表的数据和这个表的索引数据分别放置到不同的表空间中 同样可以提高数据的I O性能 可以将表空间设置成只读状态而保持大量的静态数据 5 表空间类型 系统表空间 system表空间和sysaux表空间非系统表空间 除system表空间和sysaux表空间以外的表空间 临时表空间 撤销表空间 大文件表空间和小文件表空间 6 表空间的区 段管理方式 7 表空间的区管理方式 字典管理方式 传统的管理方式 是为了与早期版本兼容而保留的区管理方式 该方式是使用数据字典来管理存储空间的分配 使用过程会产生回退信息和重做信息 这是字典管理的特定也是缺点 本地管理方式 推荐方式 使用该管理方式 表空间中区分配与回收的管理信息都被存储在表空间的数据文件中 而与数据字典无关 8 区分配方式 在本地管理方式下 可以有两种区分配方式 统一 uniform 指定表空间中所有区的大小都相同 区的大小默认是1m 也可以指定这个大小 在撤销表空间中不能使用这个选项 自动 autoallocate或system 指定由oracle系统自动管理区的大小 这是默认的设置 说明 在自动区的分配方式下 区的大小随表的大小自动动态改变 他们之间的对应关系为 9 表空间的段管理方式 在本地管理方式的表空间中 除了可以用uniform和autoallocate来指定区的分配方式之外 还可以指定段的管理方式 段管理方式主要是指oracle用来管理段中以用数据块和空闲数据块的机制 在本地管理方式的表空间中 可以用两个关键字来指定段管理方式 Manual 手动 这时oracle将使用空闲列表来管理段的空闲数据块 这是为了与以前的版本相兼容而保留的 Auto 自动 这时oracle将使用位图来管理段的已用数据块和空闲数据块 即通过位图中单元的取值来判断段中的数据块是否可用 例 通过dba tablespaces数据字典视图可以查询当前数据库中各个表空间的区 段空间管理方式 selecttablespace name extent management allocation type segment space management contentsfromdba tablespaces 例 当system表空间的区管理方式是本地管理方式 则不可能创建字典管理的表空间 但可以创建本地管理的表空间 Createtablespacedic tbs01datafile f oracle dic tbs01 dbf size5mExtentmanagementdictionary Createtablespacedic tbs01datafile f oracle dic tbs01 dbf size5mExtentmanagementlocal 10 创建表空间 所有的表空间都应该由sys用户 数据字典的所有者 来创建 以避免出现管理问题 用户必须拥有createtablespace系统权限才能创建表空间临时表空间和撤销表空间是特殊表空间 用户不能在其中创建方案对象 故需指明temporary和undo关键字 11 创建表空间命令格式 CREATETABLESPACEtablespace nameDATAFILE path filename SIZEinteger K M REUSE AUTOEXTEND OFF ON NEXTinteger K M MAXSIZE UMLIMITED integer K M MINIMUMEXTENTinteger K M DEFAULTSTORAGEstorage clause ONLINE OFFLINE LOGGING NOLOGGING PERMANENT TEMPORARY EXTENTMANAGEMENT DICTIONARY LOCAL AUTOALLOCATE UNIFORM SIZEinteger K M 其中 tablespace name 将要创建的表空间的名称 该名称在数据库中是惟一的 并且命名必须符合命名规则 path filename 一个或多个数据文件的存放路径与名称 OFF ON 禁止或允许自动扩展数据文件 NEXT 指定当需要更多盘区时分配给数据文件的磁盘空间 以K或M为单位 MAXSIZEUMLIMITED integer K M 指定允许分配给数据文件的最大磁盘空间 MINMUMEXTENT 指定最小的长度 默认为操作系统和数据库块确定 ONLINE 在创建表空间之后使该表空间立即对授权访问该表空间的用户可用 OFFLINE 在创建表空间之后使该表空间不可用 LOGGING NOLOGGING 指定日志属性 它表示将来的表 索引等是否需要进行日志处理 默认值为LOGGING PERMANENT 指定表空间将用于保存永久对象 这是默认设置 TEMPORARY 指定表空间将用于保存临时对象 EXTENTMANAGEMENT 指定如何管理表空间的盘区 DICTIONARY 指定使用字典表来管理表空间 这是缺省设置 LOCAL 指定本地管理表空间 AUTOALLOCATE 指定表空间由系统管理 用户不能指定盘区尺寸 UNIFORM 指定使用SIZE字节的统一盘区来管理表空间 缺省的SIZE为1M 如果既没指定AUTOALLOCATE又没指定UNIFORM 那么AUTOALLOCATE就是缺省设置 12 创建永久表空间 使用autoallocate区分配方式使用uniform区分配方式在数据文件子句中指定数据文件的扩展方式使用auto段管理方式 13 创建永久表空间 如果不指定permanent temporary undo选项 则创建的表空间是永久表空间 有三种创建永久表空间的方法 使用autoallocate区分配方式 使用uniform区分配方式 使用auto段管理方式 createtablespacetbs01datafile f oracle tbs01 dbf size20muniformsize128k 指定区尺寸为128k 如不指定 区尺寸默认为1m 14 使用autoallocate区分配方式 createtablespacetbs02datafile f oracle tbs02 dbf size2mautoallocate 说明 如果DBA能够预测到表空间中存放的对象所需的区大小会有很大不同 则使用autoallocate区分配方式是较好的选择 在这种方式中 oracle将自动按表空间中不同对象的大小分配相应大小的区 有一个表大小和区大小的对应关系 最小的区为64k Autoallocate区分配方式的缺点是在表空间中可能会造成磁盘空间的浪费 但对于管理员的工作量是相对减少的 15 使用uniform区分配方式 createtablespacetbs03datafile f oracle tbs03 1 dbf size2m f oracle tbs03 2 dbf size2muniformsize128k 说明 如果DBA能够预测到表空间中存放的大部分对象都要求使用相同大小的区 那么使用uniform区分配方式是比较好的选择 在这种方式下 oracle将为表空间中所有对象指定相同大小的区 默认大小为1m Uniform区分配方式的优点是表空间中不会产生磁盘碎片 节约磁盘空间 16 在数据文件子句中指定数据文件的扩展方式 createtablespacetbs04datafile f oracle tbs04 dbf size3mautoextendonnext2mmaxsize12m 说明 使用autoextendon选项的时也应该指定maxsize选项来限制数据文件的最大大小 以免数据文件无限制扩展 给数据库的管理带来困难 否则等到DBA发现数据文件已经过于庞大时 可能其中已经存在数据不能压缩 导致对数据库的安全运行产生影响 17 使用auto段管理方式 createtablespacetbs05datafile f oracle tbs05 dbf size4mreuseuniformsegmentspacemanagementauto 18 创建大文件表空间 createbigfiletablespacemybigtbs01datafile f oracle mybigtbs01 dbf size10msegmentspacemanagementauto 说明 大文件表空间是oracle10g数据库的新特性 而且仅在本地管理的表空间中才支持大文件表空间 这种表空间只能包含一个数据文件 该数据文件可以包含4G个块 创建大文件表空间时可以指定区分配方式 但不能将段管理方式指定为manual方式 19 创建UNDO表空间 撤销表空间只能使用本地管理方式 且不能在其中创建方案对象 表 索引等 createundotablespaceundotbs01datafile f oracle undotbs01 dbf size2mautoallocate 区自动分配createundotablespaceundotbs02datafile f oracle undotbs02 dbf size2mautoextendonnext1mmaxsizeunlimited 允许数据文件自动扩展createundotablespaceundotbs03datafile f oracle undotbs03 dbf size2muniformsize64k 创建undo表空间时不能指定统一区大小的选项 20 创建临时表空间 创建临时表空间temptbs01 采用区本地管理 统一分配方式 createtemporarytablespacetemptbs01tempfile f oracle temptbs01 dbf size4muniformsize64k 创建临时表空间时 区分配方式不能指定为autoallocate方式createsmallfiletemporarytablespacetemptbs02tempfile f oracle temptbs02 dbf size2mautoallocate 从oracle10g开始 允许创建只包含一个临时文件的大文件临时表空间 createbigfiletemporarytablespacetemptbs03tempfile f oracle temptbs03 dbf size4muniformsize64k 创建临时表空间 段管理方式不能指定为auto方式 createtemporarytablespacetemptbs04tempfile f oracle temptbs04 dbf size4msegmentspacemanagementauto 21 修改表空间 扩展表空间 添加数据文件 改变数据文件的大小 允许数据文件自动扩展 修改属性 状态 脱机 联机 只读 读写 修改表空的名称设置 查询默认表空间 设置数据库默认表空间 设置数据库默认临时表空间 查询数据库的默认表空间 22 扩展表空间 1 添加数据文件altertablespacetbs01adddatafile f oracle tbs01 1 dbf size2m 2 改变数据文件的大小alterdatabasedatafile f oracle tbs01 1 dbf resize4m 3 允许数据文件自动扩展alterdatabasedatafile f oracle tbs01 1 dbf autoextendonnext10mmaxsize100m 23 修改属性 状态 1 使表空间脱机altertablespacetbs01offline 2 使表空间联机altertablespacetbs01online 3 使表空间只读 仍可执行drop删除对象操作 altertablespacetbs01readonly 4 使表空间可读写 脱机状态的表空间不能修给其为读写状态 altertablespacetbs01readwrite 查询表空间状态 SQL selecttablespace name statusfromdba tablespaces 注意 system sysaux undo temp表空间不能设为offline状态或只读状态 临时表空间不能脱机 24 修改表空间名称 Altertablespaceoldtablespacerenametonewtablespace 说明 system sysaux temp undotbs1表空间的名称不能修改 表空间名称修改之后相应的数据文件 数据文集的位置和大小没有变化 处于脱机状态的表空间不能修改其名称 25 设置 查询默认表空间 设置数据库的默认表空间 alterdatabasedefaulttablespacemytbs 设置数据库的默认临时表空间 alterdatabasedefaulttemporarytablespacemytemp 查询用户的默认表空间 selectusername default tablespace temporary tablespacefromdba users 26 删除表空间 Oracle数据库的任何表空间都可以删除 除了system sysaux temp 表空间一旦删除就不能恢复 所以删除表空间前最好备份不能删除含任何活动段的表空间 应该使表空间在被删除前脱机删除表空间的用户要拥有droptablespace权限droptablespacetbs 删除空的表空间droptablespacetbsincludingcontentsanddatafiles 删除非空表空间droptablespacetbsincludingcontents 该删除语句只会从数据字典 控制文件中删除表空间信息 而与其有关的数据文件任然存在与磁盘上 但这些数据文件已经失去作用 27 查询表空间信息 例 查询表空间基本信息 获得数据库中各个表空间的名称 区管理方式 区分配方式 段管理方式 类型等基本信息 可以查询dba tablespaces Selecttablespace name extent management allocation type Segment space management status contents 表空间类型 block sizefromdba tablespaces 例 查询表空间及其默认存储参数 查询数据库中各个表空间的名称和默认的存储参数 如initial extent和next extent 可以查询视图dba tablespaces Selecttablespace name initial extent next extent mi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人煤矿出售合同范本
- 入学教育心得体会左右大学五篇
- 文化教育合作协议书
- 娱乐游戏活动策划方案
- 商品购销合同的基本要素
- 环境评价公众参与机制在2025年公众参与评价体系构建中的应用报告
- 病历采集试题及答案
- 2025年数学阅读能力题库及答案
- 视唱模拟考试试题及答案
- 2025年食品科学与工程考公务员面试题(附答案+解析)
- 小学数学五年级上册《轴对称的再认识(一)》课件
- 2023柔性棚洞防护结构技术规程
- 浙江工业大学学生综合测评分细则
- 英语初高中衔接音标
- 第十四章滚动轴承相关设计
- 第1章 数据与统计学-统计学
- GB/T 2059-2000铜及铜合金带材
- GB/T 14456.1-2017绿茶第1部分:基本要求
- 远离电子烟主题班会课件
- 设备维护保养手册
- ZYHZYHC系列自控远红外电焊条烘干炉使用说明书
评论
0/150
提交评论