ORA-04031的傻瓜解決辦法(轉)
資料庫版本:8.1.6.0
作業系統:WINDOWS 2000 SERVER
應用過程中總是出現ORA-04031錯誤,採用該方法後執行2個月沒有再次出現過該錯誤。
可以提交一個JOB來自動執行這個過程。
可以將儲存過程先釘在緩衝區中。但是現在還不知道如何將字典緩衝區的內容也釘起來,望各位大俠告之:)
create or replace procedure AUTO_PIN is
address varchar2(20); --sql_address
hashvalue varchar2(20); --sql_hashvalue
SumMemory number; --SQL緩衝區總空間
PinMemory number; --釘在SQL緩衝區的空間
cursor cSele_SQL is --查詢執行過100次的SQL
select t.ADDRESS,t.HASH_VALUE
from v$sql t
where t.KEPT_VERSIONS=0
and t.EXECUTIONS>100
order by t.EXECUTIONS desc;
begin
select nvl(sum(t.SHARABLE_MEM),0) --查詢釘住的SQL所佔空間
into PinMemory
from v$sql t
where t.KEPT_VERSIONS<>0;
select sum(t.SHARABLE_MEM) --查詢總空間
into SumMemory
from v$sql t;
if PinMemory/SumMemory<0.7 then --小於70%
open cSele_SQL;
fetch cSele_SQL into address,hashvalue;
while cSele_SQL%found loop
-- dbms_output.put_line(address||','||hashvalue);
sys.dbms_shared_pool.keep(address||','||hashvalue,'C'); --釘SQL
fetch cSele_SQL into address,hashvalue;
end loop;
close cSele_SQL;
else --大於70%
execute immediate 'alter system flush shared_pool'; --重新整理SHARED_POOL
end if;
end AUTO_PIN;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242207/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-04031的傻瓜解決辦法
- 【轉】vue mounted 呼叫兩次的解決辦法Vue
- 轉載--packagekit鎖住yum的解決辦法Package
- Session丟失的解決辦法小結 (轉)Session
- root鎖屏解決辦法之一(轉)
- Windows 惡意程式碼解決辦法(轉)Windows
- [轉載]window.location.href失效的解決辦法
- VPN連線800錯誤的解決辦法(轉)
- 關於ssh登陸很慢的解決辦法【轉】
- Cisco路由器埠故障的解決辦法(轉)路由器
- Redhat區域網安裝的解決辦法(轉)Redhat
- 在Jsp/Servlet中的中文解決辦法 (轉)JSServlet
- OpenStack 的NAT解決辦法
- 公寓噪音的解決辦法
- 【轉】JS浮點數運算Bug的解決辦法JS
- 轉: redhat linux ftp 553 錯誤的解決辦法RedhatLinuxFTP
- 重灌Windows後LILO被覆蓋的解決辦法(轉)Windows
- ORA-01034錯誤的解決辦法[轉]
- RedHat提供ADSL共享上網的解決辦法(轉)Redhat
- SVN被鎖的解決辦法
- ORA-28056的解決辦法
- job都停了的解決辦法
- github慢解決辦法Github
- Grub Rescue解決辦法
- /dev/null解決辦法devNull
- MSBuild Tools解決辦法UI
- ORA-04031 的原因分析解決方法
- RedHat 8.0提供ADSL共享上網的解決辦法[(轉)Redhat
- Java讀取檔案中含有中文的解決辦法 (轉)Java
- 關於無法建立aps.web專案的解決辦法 (轉)Web
- 新浪UC無法登入的解決辦法
- 無法訪問google picasa的解決辦法Go
- 檔案無法粉碎解決辦法
- 該文件未能列印的解決辦法
- MySQL 忘記口令的解決辦法MySql
- Spark on mesos的坑以及解決辦法Spark
- mongodb日誌太大的解決辦法MongoDB
- ORA-16038 的解決辦法