在sqlplus中(也就是命令行中)能不能查看数据文件所在磁盘的大小?也就是用命令来看磁盘大小?(不是在系统下,是在数据库下查看机器磁盘的大小)

解决方案 »

  1.   

    host xxx
    xxx可以是操作系统命令SQL> host dir
     驱动器 C 中的卷没有标签。
     卷的序列号是 24F3-B052 C:\Documents and Settings\Administrator 的目录2005-08-19  20:03    <DIR>          .
    2005-08-19  20:03    <DIR>          ..
    2005-08-19  19:38    <DIR>          「开始」菜单
    2008-04-18  08:49    <DIR>          Favorites
    2005-08-19  19:38    <DIR>          桌面
      

  2.   

    unix下试试:SQL> host df -ia
      

  3.   

    不错,用host, 或是$, !windows:
    sql> host dir  --dir命令自已看着换个合适的
    sql> $dirlinux
    sql> host df
    slq> !df
      

  4.   

    --直接查看硬盘的没有用过,不过给你提供了一些类似的:--1、查看表空间的名称及大小     select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 
        from dba_tablespaces t, dba_data_files d 
        where t.tablespace_name = d.tablespace_name 
        group by t.tablespace_name; --2、查看表空间物理文件的名称及大小     select tablespace_name, file_id, file_name, 
        round(bytes/(1024*1024),0) total_space 
        from dba_data_files 
        order by tablespace_name; --3、查看回滚段名称及大小     select segment_name, tablespace_name, r.status, 
        (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, 
        max_extents, v.curext CurExtent 
        From dba_rollback_segs r, v$rollstat v 
        Where r.segment_id = v.usn(+) 
        order by segment_name ; --4、查看表空间的使用情况     select sum(bytes)/(1024*1024) as free_space,tablespace_name 
        from dba_free_space 
        group by tablespace_name;     SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, 
        (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE" 
        FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C 
        WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;