91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle調優中常用表KEEP到內存中的示例分析

發布時間:2021-12-24 18:36:15 來源:億速云 閱讀:262 作者:柒染 欄目:關系型數據庫

本篇文章為大家展示了Oracle調優中常用表KEEP到內存中的示例分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

數據遷移后性能受到影響,需要將老數據庫中keep到內存中的表在新庫中keep到內存中,使用如下方法。

新庫設置db_keep_cache_size為適當值,這個值的大小不能小于需要keep的表的大小。

查看老庫中需要keep的表信息:
select s.owner,
       s.segment_name,
       s.partition_name,
       s.bytes / 1024 / 1024 as "size(m)"
  from dba_segments s
 where owner = 'XXX'
   and segment_name in
       (select table_name from dba_tables where owner = 'XXX' and buffer_pool='KEEP')
 order by 4 desc


查詢老庫中需要keep表總大小:
select sum(s.bytes / 1024 / 1024 / 1024) as "total keep size(G)"
  from dba_segments s
 where segment_name in
       (select table_name from dba_tables where owner = 'XXX' and buffer_pool='KEEP')


生成keep腳本:   
select 'alter table XXX.'||s.segment_name||' storage(buffer_pool keep);' as "腳本"
  from dba_segments s
 where owner = 'XXX'
   and segment_name in
       (select table_name from dba_tables where owner = 'XXX' and buffer_pool='KEEP')
 
keep表到內存中:
select 'alter table XXX.'||s.segment_name||' cache;' as "腳本2"
  from dba_segments s
 where owner = 'XXX'
   and segment_name in
       (select table_name from dba_tables where owner = 'XXX' and buffer_pool='KEEP')
  
上兩個腳本整合:
select 'alter table XXX.'||s.segment_name||' storage(buffer_pool keep) cache;' as "腳本"
  from dba_segments s
 where owner = 'XXX'
   and segment_name in
       (select table_name from dba_tables where owner = 'XXX' and buffer_pool='KEEP')

上述三個腳本輸出結果放在plsql中執行即可。

附錄:與cache到內存相關的命令
--表緩存 
alter table ..... storage(buffer_pool keep);  
--查看哪些表被放在緩存區 但并不意味著該表已經被緩存 
select table_name from dba_tables where buffer_pool='keep';
--查詢到該表是否已經被緩存 
select table_name,cache,buffer_pool from user_TABLES where cache like '%Y';
--已經加入到KEEP區的表想要移出緩存,使用 
alter table table_name nocache;  
--查詢當前用戶下表的情況 
select table_name,cache,buffer_pool from user_TABLES;  
--對于普通LOB類型的segment的cache方法 
alter table t2 modify lob(c2) (storage (buffer_pool keep) cache);  
--取消緩存 
alter table test modify lob(address) (storage (buffer_pool keep) nocache);  
--查詢段 
select segment_name,segment_type,buffer_pool from user_segments;  
--對基于CLOB類型的對象的cache方法   
alter table lob1 modify lob(c1.xmldata) (storage (buffer_pool keep) cache);   
--查詢該用戶下所有表內的大字段情況 
select column_name,segment_name from user_lobs;   
--取消表緩存
alter table XXX storage(buffer_pool default);



ps:
查看keep空間的剩余大小:
select p.name,a.cnum_repl "total buffers",a.anum_repl "free buffers" 
      from x$kcbwds a, v$buffer_pool p
      where a.set_id=p.LO_SETID and p.name='KEEP'; 


查看keep空間的大小:
select component,current_size from v$sga_dynamic_components
    where component='KEEP buffer cache';


上述內容就是Oracle調優中常用表KEEP到內存中的示例分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武邑县| 桦南县| 孝昌县| 漾濞| 原平市| 洪湖市| 九寨沟县| 轮台县| 凤城市| 林口县| 白山市| 潢川县| 三门县| 象山县| 嵩明县| 景洪市| 安阳市| 通化县| 广河县| 北安市| 屏南县| 禹州市| 万山特区| 玉龙| 彝良县| 剑阁县| 嘉禾县| 马鞍山市| 宝清县| 台北市| 神木县| 汉阴县| 仁化县| 溧阳市| 额敏县| 平昌县| 枞阳县| 琼结县| 赤壁市| 紫云| 上虞市|