ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表空间的使用情况查询及管理

表空间的使用情况查询及管理

原创 Linux操作系统 作者:serapy 时间:2011-03-25 19:40:50 0 删除 编辑
1.查询表空间的使用情况
   select   a.tablespace_name,a.bytes/1024/1024 "sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b
where   a.tablespace_name=b.tablespace_name
order   by   ((a.bytes-b.bytes)/a.bytes)   desc
2获取创建表空间的语句:

select   dbms_metadata.get_ddl('TABLESPACE','SYSTEM’)   from   dual;

3确认磁盘空间足够,增加一个数据文件
alter   tablespace   MLOG_NORM_SPACE
add   datafile   '/oracle/oms/oradata/mlog/****001.dbf'
size   10M   autoextend   on   maxsize   20G

4如果删除表空间数据文件,如下:
alter   tablespace   MLOG_NORM_SPACE
drop    datafile '/oracle/oms/oradata/mlog*****001.dbf'

5.查看一些扩展异常的情况

    select segment_name,segment_type,tablespace_name,
    (extents/max_extents)*100 Percent
     from sys.DBA_segments
     where max_extents!=0 and (extents/max_extents)*100>=95
     order by percent

如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值。对于这些对象要修改它的存储结构参数.

6.查看SYSTEM表空间内容
select distinct(owner) from dba_tables
   where tablespace_name='SYSTEM' and
    owner !='SYS' and owner !='SYSTEM'
   union
select distinct(owner) from dba_indexes
   where tablespace_name='SYSTEM' and
     owner!='SYS' and owner !='SYSTEM'

如果有记录返回,则表明system表空间内存在一些非systemsys用户的对象

应该进一步检查这些对象是否与我们应用相关。如果相关请把这些对象移到

System表空间,同时应该检查这些对象属主的缺省表空间值.

7.检查对象的下一扩展与表空间的最大扩展值:

SQL> select a.table_name,a.next_extent,a.tablespace_name from all_tables a, (select tablespace_name,max(bytes) as big_chunk from dba_free_space group by tablespace_name) f where f.tablespace_name=a.tablespace_name and a.next_extent>f.big_chunk union select a.index_name,a.next_extent,a.tablespace_name from all_indexes a, (select tablespace_name,max(bytes) as big_chunk from dba_free_space group by tablespace_name) f where f.tablespace_name=a.tablespace_name and a.next_extent>f.big_chunk /


如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,需调整相应表空间的存储参数.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14766028/viewspace-690531/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle 不完全恢复
请登录后发表评论 登录
全部评论

注册时间:2008-10-26

  • 博文量
    38
  • 访问量
    166096