服务器:Linux+Oracle
客户端:Windows目的:通过客户端用Oracle查询数据库,查询Linux的硬盘使用情况
不知道是用系统表还是通过包应用...
望有知这士告知,谢谢,一百分贡献给有答案的高手..
也谢谢留言的.//下面这个是查询数据库库的使用情况,不是硬盘使用情况.故不采纳之,仅供参考.
Select Distinct
    SysDate,
       s.user#           As UserID,
       u.name            As UserName,
       s.ts#             As TableSpaceID,
       d.tablespace_name As TableSpaceName,
       s.FILE#           As DataFileID,
       d.file_name       As DataFileName,
       d.bytes           As Bytes,
       d.maxbytes        As MaxBytes,
       d.user_bytes      As UserBytes,
       d.autoextensible  As AutoExtensible,
       d.increment_by    As InCrementBy,
       d.status          As Status
From sys.seg$ s, sys.user$ u, dba_data_files d
Where s.user# = u.user#
And   s.file# = d.file_id

解决方案 »

  1.   

    类似于通过Linux cmdline里面的df -h...可以看到各个硬盘使用的百分比
      

  2.   

    oracle没有操作系统命令查看disk情况的视图,说白了就是没有记录十分详细的disk信息。
    你的需求可以通过变通的办法实现:
    1.通过在oracle中编写java代码,调用操作系统命令,查看disk情况。
    2.操作系统编写查看磁盘信息的脚本,通过cront定时调用,把信息写如指定的表中,通过查询插入的数据获得disk的使用情况!
      

  3.   

    你顶多看到TABLESPACE的使用情况
      

  4.   


    可以这样的和,我用Delphi or VS2005去编程的话,怎样获得返回值
    嘻嘻
      

  5.   

    编程工具里如何实现我不清楚,google吧
      

  6.   

    客户服务器模式,不如在oracle上创建Java存储过程(由存储过程调用服务器本地的API),向调用方返回具体的数值。
    在客户端直接执行SQL>host df -h
    貌似,返回的是客户端的情况而不是服务器的情况
      

  7.   


    SQL> host df -h > out.dat
    然后去读文件