不能連接Oracle數(shù)據(jù)庫了,提示相關(guān)的錯誤
OERR: ORA-12519 TNS:no appropriate service handler found
客戶端連接間歇性失敗,報錯ORA-12519
Cause: the listener could not find any available service handlers that are
appropriate for the client connection.
Action: run "lsnrctl services" to ensure that the instance(s) have registered
with the listener, and are accepting connections. 檢查lsnrctl service ,instance已經(jīng)注冊,
狀態(tài)顯示ready時,可以連接。
When the listener believes the current number of connections has reached maximum load,
it may set the state of the service handler for an instance to "blocked" and begin refusing
incoming client connections with either of the following errors: ora-12519 or ora-12516
采用服務(wù)動態(tài)注冊的方式,由PMON 通過SERVICE_UPDATE 來得到目前連接情況,但SERVICE_UPDATE 有時間間隔,
所以,listener顯示的連接數(shù)和當(dāng)前實際的連接數(shù)可能不同。
查詢解決方法:
查看一下數(shù)據(jù)庫現(xiàn)有的進程數(shù),是否已經(jīng)達到參數(shù)processes的大小。
1.select count(*) from v$process; 取得數(shù)據(jù)庫目前的進程數(shù)。
2.select value from v$parameter where name = 'processes'; 取得進程數(shù)的上限。
3.如已達到上限,修改initSID.ora中的processes的大小。
4.重新啟動數(shù)據(jù)庫到nomount狀態(tài)下,執(zhí)行create spfile from pfile; 并startup open。
查詢數(shù)據(jù)庫自啟動以來最大的并發(fā)數(shù)量
修改最大連接數(shù):
alter system set processes = 300 scope = spfile;
重啟數(shù)據(jù)庫:
shutdown immediate;
startup;
--查看當(dāng)前有哪些用戶正在使用數(shù)據(jù)
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;
更多信息請查看IT技術(shù)專欄