天天看點

oracle 表 緩存到記憶體,小表緩存到記憶體

oracle的db_buffer_pool由三部分組成:

buffer_pool_defualt

buffer_pool_keep

buffer_pool_recycle

如果要把表釘死在記憶體中,也就是把表釘在keep區。

--表如果緩存的話是緩存在keep區

SQL> alter table t1 storage(buffer_pool keep);

表已更改。

--查詢到放在keep區中的表,但是不意味着表已經被緩存.

SQL> select table_name from dba_tables where buffer_pool='KEEP';

TABLE_NAME

------------------------------

T1

--将表T1緩存

SQL> alter table t1 cache;

表已更改。

--查詢到表是否已經被緩存

SQL>select table_name from dba_tables where trim(cache)='Y';

加入到keep區的表不是說不能被移出記憶體,不過是比較不容易移出記憶體.

--手工将指定表移出記憶體

SQL> alter table t1 nocache;

表已更改。