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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉】vue mounted 呼叫兩次的解決辦法Vue
- 如何解決ORA-04031 錯誤(轉)
- 公寓噪音的解決辦法
- github慢解決辦法Github
- Namespoace Terminating 解決辦法
- 網站劫持跳轉,分享網站被劫持跳轉的解決辦法網站
- 檔案無法粉碎解決辦法
- tp5.0.20 分頁跳轉時URL錯誤的解決辦法
- Xcode9.x 總是轉菊花、卡死問題的解決辦法XCode
- Vue 下 ESLint 的 error 解決辦法VueEsLintError
- git報錯400的解決辦法Git
- celery Discarding revoked task: ... 的解決辦法
- height:100%失效解決辦法
- jvm:jmap無法dump檔案的解決辦法JVM
- 記vscode無法啟動解決辦法VSCode
- puppeteer 安裝失敗的解決辦法
- ORA-01034: ORACLE not available的解決辦法OracleAI
- idea Git Force Checkout後的解決辦法IdeaGit
- php json提交亂碼的解決辦法PHPJSON
- web前端陣列塌陷的解決辦法Web前端陣列
- PHP提示Notice: Undefined variable的解決辦法PHPUndefined
- git出現Permission denied的解決辦法Git
- 方差與偏差的解釋和解決辦法
- Python 命令跳轉微軟應用商店問題解決辦法Python微軟
- vs 擴充套件無法安裝的解決辦法套件
- iPhone突然無法充電的解決辦法 iPhone無法充電怎麼辦iPhone
- -bash: XXX: command not found解決辦法
- cnpm link 報錯解決辦法NPM
- mysql事件關閉解決辦法MySql事件
- IDEA 找不到包解決辦法Idea
- 資料傾斜解決辦法
- SpringBoot 迴圈引用解決辦法Spring Boot
- VScode 更新失敗解決辦法VSCode
- npm install 失敗解決辦法NPM
- github訪問受限解決辦法Github
- 跨域問題解決辦法跨域
- SqlServer鎖表解鎖解決辦法SQLServer
- ModuleNotFoundError: No module named ‘DBUtils‘解決辦法Error