- 论坛徽章:
- 0
|
SELECT F.TABLESPACE_NAME,
TO_CHAR((T.TOTAL_SPACE - F.FREE_SPACE), '999,999') "USED (MB)",
TO_CHAR(F.FREE_SPACE, '999,999') "FREE (MB)",
TO_CHAR(T.TOTAL_SPACE, '999,999') "TOTAL (MB)",
TO_CHAR((ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)), '999') || ' %' PER_FREE
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BLOCKS * (SELECT VALUE / 1024
FROM V$PARAMETER
WHERE NAME = 'db_block_size') / 1024)) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) T
WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME
AND (ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) < 10;
这段sql在 sqlplus中运行正确,可是写入shell脚本运行出错:
ERROR at line 8: ORA-00942: table or view does not exist
shell对字符长度有限值吗,如何调整这段文本呢,谢谢了 |
|