Oracle 11g数据库基础教程 第2版 教学课件 作者 张凤荔 王瑛 李晓黎 等 第05章.ppt

Oracle 11g数据库基础教程 第2版 教学课件 作者 张凤荔 王瑛 李晓黎 等 第05章.ppt

  1. 1、本文档共140页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据库存储管理 课程描述 本章将重点介绍Oracle数据库的存储单元和物理文件管理。Oracle数据库的存储单元包括表空间、段、区间和数据块等。而数据库的物理文件则包括控制文件、数据文件、临时文件、重做日志文件和归档重做日志文件等。 本章知识点 5.1 表空间管理 5.2 回滚段管理 5.3 数据库文件管理 5.1 表空间管理 查看表空间信息 统计表空间的使用情况 创建表空间 设置和修改表空间属性 删除表空间 5.1.1 查看表空间信息 1.在Oracle Enterprise Manager中查看表空间信息 2.通过Oracle视图查看表空间信息 1.在Oracle Enterprise Manager中查看表空间信息 以SYSDBA身份登录到Oracle Enterprise Manager,单击“服务器”超链接,打开服务器管理页面,如图5.1所法。 “表空间管理”页面 在“服务器”页面的“存储”栏目中单击“表空间”超链接,打开“表空间管理”页面. 默认的数据库中包含如下表空间 ? 示例表空间EXAMPLE ? 辅助表空间SYSAUX ? 系统表空间SYSTEM ? 临时表空间TEMP ? 还原表空间UNDOTBS1 ? 用户表空间USERS 查看SYSAUX表空间的详细信息 选中一个表空间,单击表格上面的“查看”按钮,可以查看其详细信息。 表空间使用情况 2.通过Oracle视图查看表空间信息 (1)使用V$TABLESPACE视图查看表空间信息 视图V$TABLESPACE可以获取并显示控制文件中的表空间信息。 【例5.1】 使用SYS用户以SYSDBA的身份登录到SQL Plus,执行下面的命令: SELECT * FROM V$TABLESPACE; (2)查看表空间的属性信息 【例5.2】 使用SYS用户以SYSDBA的身份登录到SQL Plus,执行下面的命令: SELECT TABLESPACE_NAME,CONTENTS, STATUS FROM DBA_TABLESPACES; (3)查看表空间组及其所属的表空间信息 (4)查看表空间中所包含的段信息 (5)查看表空间中空闲区间的信息 【例5.3】 使用SYS用户以SYSDBA的身份登录到SQL Plus,执行下面的命令,可以查看当前数据库中所有表空间的空闲区间大小。 SELECT TABLESPACE_NAME, FILE_ID, BYTES, BLOCKS FROM DBA_FREE_SPACE; 5.1.2 统计表空间的使用情况 下面介绍一种使用多个系统视图统计表空间使用情况的方法,涉及的视图如下: ? DBA_DATA_FILES,用于查询所有数据文件的信息。 ? DBA_FREE_SPACE,用于查询表空间的空闲区间信息。 ? DBA_TABLESPACES,用于查询所有表空间的信息。 1.统计所有表空间的总空间大小 SELECT tablespace_name AS表空间名,SUM(bytes) FROM DBA_DATA_FILES GROUP BY tablespace_name; 2.统计所有表空间的空闲空间大小 SELECT a.tablespace_name, NVL(SUM(b.bytes),0) bytes FROM DBA_DATA_FILES a, DBA_FREE_SPACE b WHERE a.tablespace_name = b.tablespace_name (+) AND a.file_id = b.file_id (+) GROUP BY a.tablespace_name; 3.统计表空间使用情况的SELECT语句 SELECT c.tablespace_name 表空间, ROUND(a.bytes/1024/1024,2) 表空间大小, ROUND((a.bytes-b.bytes)/1048576,2) 已使用空间, ROUND(b.bytes/1048576,2) 剩余空间, ROUND(b.bytes/a.bytes * 100,2)||% 剩余百分比 FROM (SELECT tablespace_name,SUM(bytes) bytes FROM DBA_DATA_FILES GROUP BY tablespace_name) a, (SELECT a.tablespace_name, NVL(SUM(b.bytes),0) bytes FROM DBA_DATA_FILES a, DBA_FREE_SPACE b WHERE a.tablespace_name = b

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档