就目前網絡上出現的有關“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站上的相關論壇.