- 最后登录
- 2017-8-29
- 在线时间
- 2 小时
- 威望
- 0
- 金钱
- 25
- 注册时间
- 2017-5-16
- 阅读权限
- 10
- 帖子
- 5
- 精华
- 0
- 积分
- 0
- UID
- 2498
|
1#
发表于 2017-5-19 17:03:24
|
查看: 2178 |
回复: 1
一、环境
oracle 11.2.0.4 + centos 6.5 (单实例)
二、问题现象
通过以下脚本查询表空间使用情况,执行时间差不多花了十分钟。
select a.TABLESPACE_NAME tbs_name,
round(a.BYTES/1024/1024/1024) Total_GB,
round((a.BYTES-nvl(b.BYTES, 0)) /1024/1024/1024) Used_GB,
round((1-((a.BYTES-nvl(b.BYTES,0))/a.BYTES))*100,2) Pct_Free,
round(((a.BYTES-nvl(b.BYTES,0))/a.BYTES)*100,2) Pct_Used,
nvl(round(b.BYTES/1024/1024/1024), 0) Free_GB ,
auto
from (select TABLESPACE_NAME,
sum(BYTES) BYTES,
max(AUTOEXTENSIBLE) AUTO
from sys.dba_data_files
group by TABLESPACE_NAME) a,
(select TABLESPACE_NAME,
sum(BYTES) BYTES
from sys.dba_free_space
group by TABLESPACE_NAME) b
where
a.TABLESPACE_NAME = b.TABLESPACE_NAME (+)
order by ((a.BYTES-b.BYTES)/a.BYTES) desc
三、疑虑
1.是否可以通过dbms_stats.gather_fixed_objects_stats、dbms_stats.gather_dictionary_stats 这两个包进行数据字典信息收集
2.这两个有什么区别,以及各自收集什么信息,对这两个包的概念不是很清楚;比如:dbms_stats.gather_dictionary_stats是收集数据字典信息,还是数据库所有用户信息(包括表、索引等)
|
|