查询Oracle数据库表空间和数据文件方法
2008-09-27 12:57:10 来源:WEB开发网图1 表空间大小及使用率
2、查看Oracle数据库中表空间信息的命令方法:
通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,连接到数据库后执行如下的查询语句:
select
a.a1表空间名称,
c.c2类型,
c.c3区管理,
b.b2/1024/1024表空间大小M,
(b.b2-a.a2)/1024/1024已使用M,
substr((b.b2-a.a2)/b.b2*100,1,5)利用率
from
(selecttablespace_namea1,sum(nvl(bytes,0))a2fromdba_free_spacegroupbytablespace_name)a,
(selecttablespace_nameb1,sum(bytes)b2fromdba_data_filesgroupbytablespace_name)b,
(selecttablespace_namec1,contentsc2,extent_managementc3fromdba_tablespaces)c
wherea.a1=b.b1andc.c1=b.b1;
该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间大小,已使用的表空间大小及表空间利用率。dba_free_space表描述了表空间的空闲大小,dba_data_files表描述了数据库中的数据文件,dba_tablespaces表描述了数据库中的表空间。
上面语句中from子句后有三个select语句,每个select语句相当于一个视图,视图的名称分别为a、b、c,通过它们之间的关联关系,我们得到了表空间的相关信息。
语句执行结果如下:
更多精彩
赞助商链接