就目前网络上出现的有关“Oracle缓存表”的疑问,小编在网上查找整理了一些,希望能帮助到大家。
Oracle缓存表(db_buffer_pool)由三部分组成:
buffer_pool_defualt
buffer_pool_keep
buffer_pool_recycle
如果要把表钉死在内存中,也就是把表钉在keep区。相关的命令为:
- alter table ..... storage(buffer_pool keep);
这句命令把表示表如果缓存的话是缓存在keep区。
可以通过语句:
- select table_name from dba_tables where buffer_pool='KEEP';查询到改表是放在keep区中的。
但是不意味着表已经被缓存了。
下面的语句把表缓存:
- alter table .... cache;
可以通过
- select table_name from dba_ tables where rtrim(cache)='Y'
查询到该表已经被缓存了。
加入到keep区的表不是说不能被移出内存,不过是比较不容易移出内存。
也可以手工来移出内存,命令如下:
- alter table ... nocache;
至此就有关Oracle缓存表的问题发表了个人见解,要想了解的更多相关问题的解决方案,请留意51cto.com站上的相关论坛.
【编辑推荐】