解決ORA 00020錯誤

2021-06-08 13:48:08 字數 1395 閱讀 2259

專案上使用的oracle伺服器經常出現無法登陸的情況,嘗試檢視資料庫dump檔案,沒有發現在無法登陸時的報錯資訊,使用securecrt連線伺服器登入sqlplus時出現錯誤"ora-00020: maximum number of processes (150) exceeded",解決方法如下:

開始時懷疑資料庫死鎖,通常這種情況下可以通過查詢下列表/檢視,殺死死鎖的程序解決:

v$lock

列出當前oracle持有的鎖和未解決的鎖請求

v$session

列出當前連線到資料庫的session資訊

dba_blockers

顯示鎖住物件的會話

dba_waiters

顯示等待被鎖住物件的會話

dba_ddl_locks

列出所有ddl鎖和未解決的ddl鎖請求

dba_dml_locks

列出所有dml鎖和未解決的dml鎖請求

dba_lock

列出所有鎖和latch,以及所有未解決的鎖請求

dba_lock_internal

每個鎖或latch顯示一行,每個未解決的鎖請求顯示一行

通過查詢v$session檢視,發現連線總量已達到上限150,由於在做oracle adf開發,該oracledb作為開發資料庫,連線較多屬於允許範圍內,遂增大最大連線數,修改對應init.ora檔案中"procdsses=150",重啟db。

10g裡面如此修改無效,可以通過sqlplus連線至資料庫

sql> show parameter processes; //檢視processes連線數設定

sql> show parameter sessions; //檢視sessions連線數設定

sql> alter system set processes=300 scope=spfile; //設定processes連線數

不需要設定sessions連線數,sessions連線數為processes * 1.1 + 5

重啟db,問題解決。

附:用於確定鎖住資料庫物件的鎖的sql

select c.owner,

c.object_name,

c.object_type,

b.sid,

b.serial#,

b.status,

b.osuser,

b.machine   

from v$locked_object a,

v$session b,

dba_objects c   

where b.sid = a.session_id   

and a.object_id = c.object_id;

解決ORA 00020錯誤

專案上使用的oracle伺服器經常出現無法登陸的情況,嘗試檢視資料庫dump檔案,沒有發現在無法登陸時的報錯資訊,使用securecrt連線伺服器登入sqlplus時出現錯誤 ora 00020 maximum number of processes 150 exceeded 解決方法如下 開始時懷...

ORA 00020解決方案

最近oracle資料庫莫名其妙的連線不上,plsql連線報錯,sqlplus終端開啟時提示ora 00020錯誤,下面記錄一下本次問題的解決過程。1.sqlplus 登入資料庫 2.show parameter processes 當前預設配置的process是多少。select count fro...

資料庫宕機且報 ORA 00020的錯誤

今天遇到乙個系統,資料庫無法正常執行,檢視資料庫的程序發現資料庫已宕,結果如下 oracle xiaowu ps ef grepora oracle 6218 6161 0 09 39 pts 2 00 00 00 grepora 用超級管理員使用者登入資料庫時,系統報 ora 00020的錯誤,很...