查看空间使用情况的脚本(r2笔记第2天)

在数据库中,我们可以使用如下的3个脚本来查看表空间的使用情况,表空间的增长情况,表未使用的空间情况等等。 showunused.sh 可以查看未使用的空间情况

sqlplus -s n1/n1 <<EOF
prompt  ------- $1.$2 
prompt .
set  serveroutput on
set feedback off
variable total_blocks number;  
variable total_bytes number; 
variable unused_blocks number; 
variable  unused_bytes number; 
variable lastextf number; 
variable last_extb  number; 
variable lastusedblock number;
EXEC DBMS_SPACE.UNUSED_SPACE(upper('$1'), upper('$2'), 'TABLE',  :total_blocks, :total_bytes,:unused_blocks, :unused_bytes, :lastextf,  :last_extb, :lastusedblock);

exec dbms_output.put_line('total_blocks: '||:total_blocks);
exec  dbms_output.put_line('total_bytes: '||:total_bytes);
exec  dbms_output.put_line('unused_blocks: '||:unused_blocks);
exec  dbms_output.put_line('unused_bytes: '||:unused_bytes);
exec  dbms_output.put_line('last used extent file: '||:lastextf);
exec  dbms_output.put_line('last used extent block: '||:last_extb);
exec  dbms_output.put_line('lastusedblock: '||:lastusedblock);
EOF

脚本运行的结果如下: ------- n1.data . total_blocks: 72 total_bytes: 589824 unused_blocks: 0 unused_bytes: 0 last used extent file: 7 last used extent block: 12840 lastusedblock: 8 showtabtrend.sh 查看表的增长情况和预测,标黄的部分是预测的部分。

sqlplus -s n1/n1 <<EOF
set linesize 200
set pages 20
select *  from table(dbms_space.OBJECT_GROWTH_TREND(upper('$1'),upper('$2'),'TABLE'));

EOF

脚本运行的结果如下:

TIMEPOINT                                                                    SPACE_USAGE SPACE_ALLOC  QUALITY
---------------------------------------------------------------------------  ----------- ----------- --------------------
22-AUG-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
23-AUG-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
24-AUG-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
19-SEP-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
20-SEP-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
21-SEP-14 07.53.17.112473  AM                                                     503863      589824  INTERPOLATED
22-SEP-14  07.53.17.112473 AM                                                      503863      589824 PROJECTED
23-SEP-14 07.53.17.112473  AM                                                     503863      589824  PROJECTED
24-SEP-14  07.53.17.112473 AM                                                      503863      589824 PROJECTED 

showtsusage.sh 查看表空间的使用情况

sqlplus -s n1/n1 <<EOF
set linesize 200
select b.name,
        a.rtime,
       a.tablespace_usedsize,
       a.tablespace_size,
        round(100 * a.tablespace_usedsize / a.tablespace_size) used_percent
  from  dba_hist_tbspc_space_usage a,
       (select t2.name,
                min(rtime) rtime,
               min(tablespace_id)  tablespace_id
          from dba_hist_tbspc_space_usage t1
         inner  join v\$tablespace t2 on t1.tablespace_id = t2.TS#
         where t2.NAME =  upper('$1')
         group by name, substr(rtime,1,10)
) b
 where  a.tablespace_id = b.tablespace_id
   and a.rtime = b.rtime
order by  a.rtime;
EOF

比如我们查看表空间SYSTEM的情况。脚本运行的情况如下:
NAME                           RTIME                      TABLESPACE_USEDSIZE TABLESPACE_SIZE  USED_PERCENT
------------------------------ -------------------------  ------------------- ---------------  ------------
SYSTEM                         03/15/2014  05:00:42                     33096           41600            80
SYSTEM                         03/16/2014 19:41:41                      33096           41600           80
SYSTEM                         09/13/2014  07:00:05                     35264           41600            85
SYSTEM                         09/14/2014 00:00:45                      35264           41600           85
SYSTEM                         09/15/2014  03:13:25                     35264           41600            85
SYSTEM                         09/16/2014 00:00:36                      35264           41600           85
SYSTEM                         09/17/2014  06:07:45                     35264           41600            85
SYSTEM                         09/19/2014 05:24:06                      35264           41600           85
SYSTEM                         09/20/2014  00:00:19                     35280           41600            85
SYSTEM                         09/21/2014 00:00:59                      35280           41600           85
10 rows selected.

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-09-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Objective-C

iOS-安装和使用 CocoaPods

63470
来自专栏数据和云

实践真知:使用ASM和文件系统的数据库在AIO上有何不同?

张大朋(Lunar)Oracle 资深技术专家 Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职...

31440
来自专栏技术总结

献给移动端的服务器搭建

application.properties这个是项目的一些配置,举例一下默认是8080端口,我们如果想改下端口的话,就可以在配置增加

32220
来自专栏耕耘实录

在RHEL7或CentOS7中修改创建账号时系统默认UID、GID最小起始值及其他设置

大家应该都知道,在Linux系统中,1000以下的UID是系统保留的UID。随意修改系统上某些帐号的 UID 很可能会导致某些程序无法进行,甚至导致系统无法顺利...

25910
来自专栏Python与爬虫

佛系编程[如何创建一个安全可靠的应用程序]

推荐最近在GitHub上很火的一个项目,按照介绍,你也可以创建一个安全可靠的应用程序 项目地址在>>> nocode https://github.com/k...

47390
来自专栏程序猿DD

Spring Boot使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭

上周发了一篇关于Spring Boot中使用 @Async来实现异步任务和线程池控制的文章:《Spring Boot使用@Async实现异步调用:自定义线程池》...

75970
来自专栏乐沙弥的世界

ORA-27090 故障一例

    最近的alert日志中碰到了ORA-27090的错误信息,其错误提示为Unable to reserve kernel resources for as...

8920
来自专栏iOS122-移动混合开发研究院

RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库

简介 RestKit 是一个用于更好支持RESTful风格服务器接口的iOS库,可直接将联网获取的json/xml数据转换为iOS对象. 最新示例: 点击下载 ...

20350
来自专栏云计算与大数据

How to Monitor Zookeeper

As per previous articles, our general rule of thumb is “collect all possible/rea...

42340
来自专栏运维

DNS主从服务器搭建

http://blog.51cto.com/yichenyang/1911098 http://blog.51cto.com/wubinary/1379595

21210

扫码关注云+社区

领取腾讯云代金券