首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求解 oracle系统表v$parameter v$SGASTAT里头参数的意思

2012-09-23 
求解 oracle系统表v$parameter v$SGASTAT里面参数的意思鄙人菜鸟遇一oracle的问题,先贴sql语句: select ro

求解 oracle系统表v$parameter v$SGASTAT里面参数的意思
鄙人菜鸟遇一oracle的问题,

先贴sql语句: select round(100 * (1 - (a.bytes / b.value)), 2) MemoryUsage from v$sgastat a, v$parameter b
 where a.pool = 'shared pool' and a.name = 'free memory' and b.name = 'shared_pool_size'

当程序运行到调用该sql语句的时候,由于系统表v$parameter.value=0(b.value=0)抛出异常,除数不能为0.

有没有哪位大神 能给我一个方法 得到当b.value=0是,查出memoryUsage的值。

[解决办法]
不要从v$parameter查,你应该用的是自动内存管理,oracle会根据memory_target参数(11g)或者sga_target参数(10g)自动分配共享池大小。

从v$sgainfo查共享池大小。
select bytes from v$sgainfo where name='Shared Pool Size';

热点排行