問題:html
我本身用PLSQL登陸實驗,我也登錄不了,但是讓同事實驗,他一會可以登陸,一會不可以登陸。應用仍是可以正常訪問,只是PLSQL登陸異常。linux
分析:sql
基於這種狀況去百度,有的說是配置文件有問題,有的說是鏈接數,由於個人配置文件沒有修改過,之前也是可以正常使用的,因此應該是連接數的問題。咱們公司一個主要業務系統,業務不少,可是以前使用都是好好的,想到昨天咱們組新搭建了一套環境,也是鏈接的同一個數據庫,那就肯定了,就是鏈接數的問題。數據庫
解決方法:服務器
參考:session
http://blog.sina.com.cn/s/blog_4df2251d0100hkzv.html --感謝這位網友,寫得很詳細併發
第一步,在cmd命令行,輸入sqlplus / as sysdbaoracle
第二步,性能
1. 查看processes和sessions參數spa
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL> show parameter sessions
NAME TYPE VALUE
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
2. 修改processes和sessions值
SQL> alter system set processes=300 scope=spfile;
系統已更改。
SQL> alter system set sessions=335 scope=spfile;
系統已更改。
3. 修改processes和sessions值必須重啓oracle服務器才能生效
ORACLE的鏈接數(sessions)與其參數文件中的進程數(process)有關,它們的關係以下:
sessions=(1.1*process+5)
摘(二)
查詢數據庫當前進程的鏈接數:
select count(*) from v$process; --數據庫中執行
linux命令行執行
ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|wc -l
臨時取消一部分鏈接,不能作到完全解決問題。
ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
查看數據庫當前會話的鏈接數:
elect count(*) from v$session;
查看數據庫的併發鏈接數:
select count(*) from v$session where status=‘ACTIVE‘;
查看當前數據庫創建的會話狀況:
select sid,serial#,username,program,machine,status from v$session;
查詢數據庫容許的最大鏈接數:
select value from v$parameter where name = ‘processes‘;
或者:show parameter processes;
修改數據庫容許的最大鏈接數:
alter system set processes = 300 scope = spfile;
(須要重啓數據庫才能實現鏈接數的修改)
重啓數據庫:
shutdown immediate;
startup;
查看當前有哪些用戶正在使用數據:
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;
備註:UNIX 1個用戶session對應一個操做系統process,而Windows體如今線程。
啓動oracle
su - oracle
sqlplus system/ as sysdba //進入sql
startup //啓動數據庫
lsnrctl start //啓動監聽
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;
增長最大鏈接數有什麼影響:
通常來講實際鏈接數的增加纔會對增長系統資源的消耗,修改最大鏈接數只是容許數據庫的鏈接數限制增長了,須要密切關注鏈接數上升主機方面的性能cpu,內存的使用率,若是主機負載太高,就得考慮硬件擴容,若是主機資源仍然較閒,則代表所設置的數據庫鏈接數在此主機資源是能夠匹配的。