




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011 01 27 通过 dba free space 视 图查看表空间的空间分配过程 分类 Oracle 工作总结 2011 01 27 18 382647 人阅读评论 0 收藏举报 oracle10g 数据库 oracle 扩展 一 一 dba free spacedba free space 的说明 的说明 dba free space 显示的是有显示的是有 free 空间的空间的 tablespace 如果一个 如果一个 tablespace 的的 free 空间不连续 那每段空间不连续 那每段 free 空间都会在空间都会在 dba free space 中存在一条记录 如果一个中存在一条记录 如果一个 tablespace 有好几条记录 有好几条记录 说明表空间存在碎片 当采用字典管理的表空间碎片超过说明表空间存在碎片 当采用字典管理的表空间碎片超过 500 就需要对表空就需要对表空 间进行碎片整理 间进行碎片整理 二 关于二 关于 dba free spacedba free space 的疑问 的疑问 根据如下查询 根据如下查询 SQL selectSQL select tablespace nametablespace name fromfrom dba free space dba free space 根据查询结果可发现 出现了多个相同的表空间名 为什么呢 这个问题可根根据查询结果可发现 出现了多个相同的表空间名 为什么呢 这个问题可根 据据 dba free spacedba free space 的说明得到解答 的说明得到解答 dba free space 显示的是有显示的是有 free 空间的空间的 tablespace 如果一个 如果一个 tablespace 的的 free 空间不连续 那每段空间不连续 那每段 free 空间都会在空间都会在 dba free space 中存在一条记录 如果一个中存在一条记录 如果一个 tablespace 有好几条记录 说明表空间存在碎片 当采用字典管理的表空间有好几条记录 说明表空间存在碎片 当采用字典管理的表空间 碎片超过碎片超过 500 就需要对表空间进行碎片整理 就需要对表空间进行碎片整理 根据如下查询语句可发现 根据如下查询语句可发现 SQL selectSQL select fromfrom dba free space dba free space 一个表空间有两个不连续的一个表空间有两个不连续的 block idblock id 正是因为这样才会导致一个表空间在 正是因为这样才会导致一个表空间在 dba free space 视图中存在两条记录 视图中存在两条记录 三 关于三 关于 dba free space 视图的问题视图的问题 看下面的例子 请高手解释一下好吗 看下面的例子 请高手解释一下好吗 一开始 一开始 环境 环境 WindowsWindows xp Oraclexp Oracle 10g10g 10 2 0 10 2 0 数据库 数据库 PAXDBPAXDB 表空间 表空间 TEST TABLESPACE test tablespace createtest tablespace create tablespacetablespace test tablespacetest tablespace datafiledatafile D oracle ORADATA D oracle ORADATA test datafile dbf test datafile dbf sizesize 300M300M extentextent managermentmanagerment locallocal uniformuniform sizesize 40K 40K 用户 用户 test managertest manager 说明 新建立的表空间说明 新建立的表空间 test tablespace 对应的数据文件大小是对应的数据文件大小是 300m 所在的数据库的数据 所在的数据库的数据 块大小是块大小是 8192 byte 所以对于刚建立的表空间来说 由于数据文件头部占据了所以对于刚建立的表空间来说 由于数据文件头部占据了 0 8 共共 9 个数据块 个数据块 从下面的查询从下面的查询 block id 9 我们可以看出 我们可以看出 oracle 保留了数据文件前保留了数据文件前 面面 9 个个 block block 0 8 所以刚开始查询表空间的空闲空间时 数据块 所以刚开始查询表空间的空闲空间时 数据块 bloci idbloci id 是从是从 9 开始的 总共的字节数是开始的 总共的字节数是 314490880 总共有 总共有 314490880 8192 38390 个数据块 共个数据块 共 314490880 1024 1024 299 921875m 总共总共 使用的空间数目是使用的空间数目是 8192 9 1024 1024 0 0703125m 下面我们来看看这下面我们来看看这 9 个个 block 的具体情况 的具体情况 block 0 OS header block 1 datafile header block 2 bitmapped file space header block 3 8 Head portion of bitmap blocks 至于如何看某个至于如何看某个 block 的结构 用的结构 用 bbed 再方便不过了 那下面我们就用再方便不过了 那下面我们就用 bbed 来看看这来看看这 9 个个 block 是什么样的是什么样的 SQL SQL select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 得到 得到 然后在然后在 TEST TABLESPACETEST TABLESPACE tablespace 中建一表 中建一表 create table cba cba number 20 初始为 初始为 40k SQL SQL select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 说明 在表空间初始化建立时指定了说明 在表空间初始化建立时指定了 uniformuniform 参数 说明该表空间里所有的参数 说明该表空间里所有的 segment 的的 extent 大小都相同为大小都相同为 40k 所以当在该表空间里建立一个表时 该表所对应的段的扩展 所以当在该表空间里建立一个表时 该表所对应的段的扩展 extent 一次为一次为 40k 即 即 40 1024 8192 5 个数据块 所以建立一个表后该表空间的空闲空间个数据块 所以建立一个表后该表空间的空闲空间 的数据块的数据块 block id 从原来的从原来的 9 增加增加 5 后递增到后递增到 14 开始 开始 再再 drop 它它 drop table cba 再查询 再查询 SQL SQL select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 得到 得到 此处就多了一条记录 此处就多了一条记录 然后再建一表然后再建一表 create table abc abc number 20 初始为 初始为 40k 查询 查询 select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 得到 得到 再再 drop drop table abc 再查询 再查询 select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 得到 得到 然后建一个初始值为然后建一个初始值为 80k 的表 的表 create table abc abc number 10 storage initial 80k next 80k 再查询 再查询 select from dba free space where tablespace name TEST TABLESPACETEST TABLESPACE 得到 得到 解答 解答 SQL descSQL desc dba free space dba free space TABLESPACE NAME Name of the tablespace containing the extent FILE ID ID number of the file containing the extent BLOCK ID Starting block number of the extent BYTES Size of the extent in bytes BLOCKS Size of the extent in ORACLE blocks RELATIVE FNO Relative number of the file containing the extent 你建的表 占据了数据文件中的一部分 你建的表 占据了数据文件中的一部分 而而 dba free space 记录的是某个数据文件 从某一个记录的是某个数据文件 从某一个 block BLOCK ID 开始 连续的 开始 连续的 多少字节 多少字节 BYTES 同时也换算成多少 同时也换算成多少 block BLOCKS 是空闲的 是空闲的 所以你新建一个表后 由于表占据了数据文件的中间一部分 空闲区域被分成两块 你看所以你新建一个表后 由于表占据了数据文件的中间一部分 空闲区域被分成两块 你看 到的记录也是两条了到的记录也是两条了 建表后建表后 dba free space 视图中的记录并未变成视图中的记录并未变成 2 条 而是在将该表条 而是在将该表 drop 后变后变 成成 2 条了 而且一条记录的条了 而且一条记录的 block id 为为 89701 blocks 为为 5 而另一条记录的而另一条记录的 block id 为为 89706 这样看来的 这两块空闲空间应该是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年股份质押借款经营活动合同范本
- 2025年建筑工程总包合同关键条款综述
- 2025关于企业用工合同模板
- 2025年高压电工基础理论模拟试题及答案解析
- 2025年:从合同签订到实际用工的转变
- 2025年煤炭生产经营单位机电运输安全管理人员考试题库及答案
- 氟康唑氯化钠注射液临床应用考核试题
- 2025年护士执业资格考试题库外科护理学专项及答案
- 2025年电气工程及其自动化规划测试试题及答案
- 2025年咖啡师职业技能测试卷:咖啡师饮品命名与创意设计试题
- 森林消防队森林火灾扑救知识培训考试题库题库(附含答案)
- 湖南美术出版社二年级上册美术教学计划
- 2025年西藏自治区事业单位招聘考试综合类专业能力测试试卷(新闻类)押题卷
- VOCs治理设备培训
- 答案时代:AI顾问式电商崛起
- 算力中心能源管理与优化方案
- 中医护理学试题库及答案
- 闪送员考试25题目及答案
- 卒中后抑郁的中西医治疗
- 劳保穿戴安全知识培训课件
- 超薄磨耗层施工技术交底
评论
0/150
提交评论