Oracle 9i实例内存使用情况?

我的问题特别涉及到一个方法来告诉UNIX(Solaris)服务器上Oracle实例使用了多less内存。

例如(我会真正简化这个…),如果我看到有8GB的RAM正在使用,是否有一个“简单”的方法(通过TOAD或一些UNIX工具)来确定该内存的哪一部分是被特定的Oracle实例使用?

通过与Oracle讲师和Sun支持站点search的联系,我能够find“pmap”命令用法来获得Oracle进程的“anon”内存,但是希望有人会有一个备用解决scheme。

我可以使用Sun Management Center(如果有帮助的话),我可以接受任何解决scheme,甚至可以用汉堡包和啤酒向服务器贿赂。 感谢大家!

Oracle实例有两种types的内存。 SGA是共享内存,而PGA是内存只能被各个进程访问。 如果您连接到具有适当权限的实例(例如DBA或SELECT_CATALOG_ROLE),您可以

SELECT SUM(VALUE) FROM V$SGA;

SELECT SUM(PGA_ALLOC_MEM) FROM V$PROCESS;

看看每个人的总数。

如果Oracle在单独的用户上运行,则可以使用prstat来查看总体使用的内存量:

 prstat -a