第一步,在cmd命令行,輸入sqlplus
第二步,根據提示輸入用戶名與密碼
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;
SQL> select count(*) from v$session #連接數
SQL> Select count(*) from v$session where status='ACTIVE' #並發連接數
SQL> show parameter processes #最大連接
process:這個參數限制了能夠連接到SGA的操作系統進程數(或者是Windows 系統中的線程數),這個總數必須足夠大,從而能夠適用於後台進程與所有的專用服務器進程,此外,共享服務器進程與調度進程的數目也被計算在內.因此,在專用服務器環境中,這是一種限制並發連接數的方法.
Sessions:是被應用於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步,確認最大連接數修改成功。