在项目中需要监视oracle数据库的表空间情况,有如下语句:
select a.tablespace_name , b.sumspace, a.leftspace,round(100 * a.leftspace/ b.sumspace, 2) leftrate, round(100 * (b.sumspace - a.leftspace) / b.sumspace, 2) userate
from ( select tablespace_name,sum(blocks*8192/(1024*1024)) leftspace from dba_free_space group by tablespace_name) a,
(select b.name tablespace_name,sum(a.bytes/(1024*1024)) sumspace from v$datafile a, v$tablespace b where a.ts# = b.ts# group by b.name) b
where a.tablespace_name = b.tablespace_name order by a.tablespace_name其中V$datafile和V$tablespace是oracle的动态视图,ts#是字段名,里面带了ibatis表示参数的占位符$和#,导致程序报错:Incorrect inline parameter map format (missmatched name=value pairs)这个问题怎么解决啊?试了用CDATA包住整个语句,依然不管用。有哪位碰到过这种问题吗?
select a.tablespace_name , b.sumspace, a.leftspace,round(100 * a.leftspace/ b.sumspace, 2) leftrate, round(100 * (b.sumspace - a.leftspace) / b.sumspace, 2) userate
from ( select tablespace_name,sum(blocks*8192/(1024*1024)) leftspace from dba_free_space group by tablespace_name) a,
(select b.name tablespace_name,sum(a.bytes/(1024*1024)) sumspace from v$datafile a, v$tablespace b where a.ts# = b.ts# group by b.name) b
where a.tablespace_name = b.tablespace_name order by a.tablespace_name其中V$datafile和V$tablespace是oracle的动态视图,ts#是字段名,里面带了ibatis表示参数的占位符$和#,导致程序报错:Incorrect inline parameter map format (missmatched name=value pairs)这个问题怎么解决啊?试了用CDATA包住整个语句,依然不管用。有哪位碰到过这种问题吗?
select a.tablespace_name,
b.sumspace,
a.leftspace,
round(100 * a.leftspace / b.sumspace, 2) leftrate,
round(100 * (b.sumspace - a.leftspace) / b.sumspace, 2) userate
from (select tablespace_name, sum(blocks * 8192 / (1024 * 1024)) leftspace
from dba_free_space
group by tablespace_name) a,
(select b.name tablespace_name, sum(a.bytes / (1024 * 1024)) sumspace
from v$$datafile a, v$$tablespace b
where a.ts## = b.ts##
group by b.name) b
where a.tablespace_name = b.tablespace_name
order by a.tablespace_name
</select>