쿼리로 os 명령어 사용 0 5 2,365

by 강서꽃미남 [2014.01.14 10:33:02]


안녕하세요 ! 귀여운쫑이 입니다.

제가 근무하는 곳에 데이터베이스 갯수가 많아서, 매일 디스크 사이즈 관리로 시간을 많이 소비하고 있는데요,
제가 만들고자 하는 쿼리는

DB_NAME / TABLE_SPACE / DATA_FILE/ DATA_FILE_SIZE / FILE_SYSTEM / FILE_SYSTEM_NAME / FILE_SYSTEM_SIZE

이렇게 쿼리 한번으로 짜고 싶습니다.

제가 궁금한점은, 쿼리로 FILE_SYSTEM (df -h 명령어)를 구현할 수 있는지 궁금합니다.

파일 시스템 사이즈는 df-h 로 나온 사이즈를 잘라 오고 싶습니다.

조언 부탁드립니다^^
by sspkos [2014.01.14 11:05:20]
요구하신정보로 맞는지는 잘 모르 겠지만
아래 쿼리로 활용해도 스페이스 량은 측정이 가능할거 같은데요...
이미 알고 게시겠지만 혹여....
다만 시스템 system/sys 권한으로 해야 하지만....
답변이 될런지 모르겠습니다. ^^

 SELECT ( SELECT TO_CHAR(DBID) DBID
            FROM V$DATABASE
           WHERE ROWNUM = 1) DBID ,
       ( SELECT NAME
            FROM V$DATABASE
           WHERE ROWNUM = 1) DB_NAME,
       B.FILE_NAME                               FILE_NAME,                        /*  DATAFILE NAME */
       B.TABLESPACE_NAME                         TABLESPACE_NAME ,                 /* TABLESPACE NAME */
       B.BYTES / 1024                            TOTAL_SIZE ,                      /* 총 BYTES */
       ((B.BYTES - SUM(NVL(A.BYTES,0)))) / 1024  USED  ,                           /* 사용한 용량 */
       (SUM(NVL(A.BYTES,0))) / 1024              FREE_SIZE,                        /* 남은 용량 */
       ROUND((SUM(NVL(A.BYTES,0)) / (B.BYTES)) * 100 ,2)  FREE                              /* 남은 % */
FROM   DBA_FREE_SPACE A, DBA_DATA_FILES B
WHERE A.FILE_ID(+) = B.FILE_ID
GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES
ORDER BY B.TABLESPACE_NAME

by 강서꽃미남 [2014.01.14 13:06:22]
네 이정도의 정보와 더욱 추가하려 합니다.
완성되면 올려놓겠습니다.

by 사랑초 [2014.01.14 11:30:38]
조언을 해드릴만한 사람은 못되지만...

쉘 스크립트를 등록해 두고 
DBMS_SCHEDULER 로 호출해 오는 뭐 그런 방법(?) 을 활용하시면 어떨까 하는...

by 강서꽃미남 [2014.01.14 13:06:06]
조언 감사드립니다.

by 임상준 [2014.01.14 14:17:17]
db 에 자바 소스로 컴파일해서 저렇게 사용 중입니다, 제가 짠게 아니라서 자세히는 모르겠구요....
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입