oracle查看和修改最大串連數,oracle查看最大
第一步,在cmd命令列,輸入sqlplus 或者直接在plsql中開啟command window
第二步,根據提示輸入使用者名稱與密碼
1. 查看processes和sessions參數
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;
查看資料庫當前會話的串連數:
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/pwd as sysdba //進入sql
startup //啟動資料庫
lsnrctl start //啟動監聽
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;
但是:我更改最大為1200,java中356就又報錯
問ORACLE怎查看更改串連數,進程數及使用者數,三者之間有什關係?
SQL> select count(*) from v$session #串連數
SQL> Select count(*) from v$session where status='ACTIVE' #並發串連數
SQL> show parameter processes #最大串連
process:這個參數限制了能夠串連到SGA的作業系統進程數(或者是Windows 系統中的線程數),這個總數必須足夠大,從而能夠適用於後台進程與所有的專用伺服器處理序,此外,共用伺服器處理序與調度進程的數目也被計算在內.因此,在專用伺服器環境中,這是一種限制並發串連數的方法.
Sessions:是被應用於oracle層次而非作業系統層次.在不考慮通過專用伺服器或共用伺服器進行登入的情況下,這個參數限制了對指定執行個體的並發登陸數.
oracle老提示限制串連數,怎讓oracle無限串連
只能設定很大,不能無限
當前的串連數
select count(*) from v$process;
設定的最大串連數(預設值為150)
select value from v$parameter where name = 'processes';
修改最大串連數
alter system set processes = 300 scope = spfile;
當資料庫最大串連數不夠時會出現用戶端串連間歇性失敗,報錯ORA-12519。
修改Oracle最大串連數的方法
1、 進入“SQL*Plus Worksheet”,如所示。
2、 點擊“改變資料庫連接…”按鈕,如所示。
3、 進入“資料庫連接資訊”介面,輸入使用者名稱、口令、需要修改最大串連數的資料庫服務名,串連身份選擇“SYSDBA”,點擊“確定”,如所示。
4、 輸入指令“show parameter processes;”並執行,查看目前最大串連數,如所示。
5、 輸入指令“alter system set processes=600 scope=spfile;”並執行,修改最大串連數為600,如所示。
6、 輸入指令“create pfile from spfile;”並執行,建立Profile,如所示。
7、 關閉“Enterprise Manager Console”,重啟Oracle服務或重啟Oracle資料庫伺服器
8、 重複操作1、2、3、4步,確認最大串連數修改成功。