|
> could we use the parameter "DB_KEEP_CACHE_SIZE" to keep the table in memory?
No. As I said, create a tablespace on a pure memory file system and create the table in this tablespace (and think carefully about recovery).
> 如果我对一个表,即做了storage(buffer_pool keep),又做了cache,那么,这表是不是就被放到了keep池的mru端?
After the table is full scanned, yes.
> 如果整个数据库只对这一个表进行这两种设置,而且我能计算出我这个表最多的数据量占用的最大的存储空间,
> 将keep pool 的设置大于这个空间,是不是那个表就一直在内存中了呢?
I think so, after the table is fully scanned and if you make sure SGA is not swapped out. Oracle never says how to guarantee the data of a table stays in memory. But based on our understanding, I think what you said makes sense.
> 在什么情况下它会被踢出内存呢?!
When the SGA is not locked in RAM and the server is under memory pressure.
Yong Huang |
|