教你查询Oracle中的表空间

上传人:cl****1 文档编号:564366435 上传时间:2023-08-18 格式:DOCX 页数:7 大小:11.27KB
返回 下载 相关 举报
教你查询Oracle中的表空间_第1页
第1页 / 共7页
教你查询Oracle中的表空间_第2页
第2页 / 共7页
教你查询Oracle中的表空间_第3页
第3页 / 共7页
教你查询Oracle中的表空间_第4页
第4页 / 共7页
教你查询Oracle中的表空间_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《教你查询Oracle中的表空间》由会员分享,可在线阅读,更多相关《教你查询Oracle中的表空间(7页珍藏版)》请在金锄头文库上搜索。

1、教你查询Oracle中的表空间教你查询Oracle中的表空间提到表空间大家可能都不会陌生,它是数据库中最大的 逻辑单位与存储空间单位,数据库系统通过表空间为数据库 对象分配空间。表空间在物理上体现为磁盘数据文件,每一 个表空间由一个或多个数据文件组成,一个数据文件只可与 一个表空间相联系,这是逻辑与物理的统一。了解表空间和 数据文件的的属性及使用率,是数据库管理员的一项重要职 责。在本文中笔者将以oracle为例,详细介绍查询Oracle 数据库表空间信息和数据文件信息的方法。希望能帮助大家 更深入了解表空间的知识和应用。一、如何查看Oracle数据库中表空间信息的方法1、从Oracle数据库

2、中工具入手:使用 oracle enterprise manager console 工具,这是 oracle的客户端工具,当安装oracle服务器或客户端时会自 动安装此工具在windows操作系统上完成oracle安装后, 通过下面的方法登录该工具:开始菜单程序Oracle- OraHome92Enterprise Manager Console(单击)oracle enterprise manager console 登录选择独立启动单选框确定 oracle enterprise manager console ,独立 选择要登录的实例名 考 试.大提示弹出数据库连接信息 输入用户名/口

3、令 (一 般使用sys用户),连接身份选择选择SYSDBA确定, 这时已经成功登录该工具,选择存储表空间,会看到 如下的界面,该界面显示了表空间名称,表空间类型,区管 理类型,以”兆”为单位的表空间大小,已使用的表空间大小 及表空间利用率。2、从Oracle数据库中命令方法入手:通过查询数据库系统中的数据字典表(data dictionary tables )获取表空间的相关信息,首先使用客户端工具连接到 数据库,这些工具可以是SQLPLUS字符工具、TOAD、 PL/SQL等,连接到数据库后执行如下的查询语句: selecta. a1 表空间名称,c.c2 类型,c.c3 区管理,b. b2

4、/1024/1024 表空间大小 M,(b.b2-a.a2)/1024/1024 已使用 M, substr(b.b2-a.a2)/b.b2*100,1,5) 利用率 from(select tablespace_name a1, sum(nvl(bytes,0) a2fromdba_free_space group by tablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b, (select tablespace_name c1,c

5、ontents c2,extent_management c3 from dba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1; 该语句通过查询 dba_free_space,dba_data_files, dba_tablespaces 这三个数据字典表,得到了表空间名称, 表空间类型,区管理类型,以”兆”为单位的表空间大小,已 使用的表空间大小及表空间利用率。dba_free_space表描述 了表空间的空闲大小,dba_data_files表描述了数据库中的 数据文件,dba_tablespaces表描述了数据库中的表空间。上面语句中from子句

6、后有三个select语句 每个select 语句相当于一个视图,视图的名称分别为a、b、c,通过它 们之间的关联关系,我们得到了表空间的相关信息。语句执行结果如下:上面描述中分别介绍了查看Oracle数据库中表空间信 息的工具方法和命令方法。二、查询 Oracle 数据库中数据文件信息的方法 1、查看Oracle数据库中数据文件信息的工具方法: 使用上面介绍过的方法登录 oracle enterprise manager console工具,选择存储数据文件,会看到如下的界面, 该界面显示了数据文件名称,表空间名称,以”兆”为单位的 数据文件大小,已使用的数据文件大小及数据文件利用率。2、查看

7、 Oracle 数据库中数据文件信息的命令方法:通过查询数据库系统中的数据字典表(data dictionary tables)获取数据文件的相关信息,首先使用客户端工具连接 到数据库,这些工具可以是SQLPLUS字符工具、TOAD、 PL/SQL 等,连接到数据库后执行如下的查询语句:selectb.file_name 物理文件名,b.tablespace_name 表空间,b.bytes/1024/1024 大小 M,(b.bytes-sum(nvl(a.bytes,0)/1024/1024 已使用 M, substr(b.bytes-sum(nvl(a.bytes,0)/(b.bytes

8、)*100,1,5) 利用率from dba_free_space a,dba_data_files bwhere a.file_id=b.file_idgroup by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name 上面描述中分别介绍了查看 Oracle 数据库中数据文件 信息的工具方法和命令方法。三、查看临时表空间和数据库文件的方法在 oracle 数据库中,临时表空间主要用于用户在使用order by 、group by 语句进行排序和汇总时所需的临时工作 空间。要查询数据库中临时表空间的名称,大小及数据

9、文件, 可以查询数据字典dba_tablespaces及dba_data_files。命 令如下:selecta. talbespace_name 表空间名称,b. bytes 大小 bytes,b.file_name 数据文件名from dba_tablespaces a, dba_data_files bWhere a.talbespace_name=b.talbespace_name anda.contents=TEMPORARY;查询结果如下:从 oracle 9i 开始,可以创建 Temporary tablespace 类 表空间,即“临时“表空间,这类表空间使用临时文件。临时 文

10、件的信息被存储在数据字典 V$tempfile 中。命令如下:Select file#, status, name from V$tempfile; 查询数据字典 V$tempfile 结果如下: 在上面介绍的方法中,建议掌握命令方法,因为你的环境 可能没有图形工具,而SQLPLUS 般情况下都是可以使用 的,有了命令脚本,很容易得到表空间和数据文件的相关信 息。另外,数据库管理员应该多整理命令脚本,在需要时直 接执行脚本以提高工作效率。在数据库管理员的日常工作中,应该经常查询表空间的 利用率,按照数据库系统的具体情况估算表空间的增长量, 当表空间的利用率超过 90%时,要及时采取措施,如清理历 史表、历史数据以释放空间,向表空间中添加新的数据文件, 扩展现有数据文件大小等方法来降低表空间的利用率,避免 表空间利用率接近 100% 时,将产生空间不够的错误。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号