oracle如何設置最大連接數


查看session:

  select * from v$session where username is not null

  select username,count(username) from v$session where username is not null group by username

  當前連接數:

  select count(*) from v$process

  查看連接數參數的設置情況

  select value from v$parameter where name = 'processes'

  Select count(*) from v$session where status='ACTIVE' #並發連接數




Oracle查看、修改連接數 
  1.查詢數據庫當前進程的連接數:
  select count(*) from v$process;
  2.查看數據庫當前會話的連接數:
  select count(*) from v$session;

  3.查看數據庫的並發連接數:
  select count(*) from v$session where status='ACTIVE';
  4.查看當前數據庫建立的會話情況:
  select sid,serial#,username,program,machine,status from v$session;
  5.查詢數據庫允許的最大連接數:
  select value from v$parameter where name = 'processes';
  或者命令:show parameter processes;
  6.修改數據庫允許的最大連接數:
  alter system set processes = 300 scope = spfile;
  (需要重啟數據庫才能實現連接數的修改)


  重啟數據庫:

SQL>shutdown immediate;
SQL>startup;

  

  查看當前有哪些用戶正在使用數據:

  SQL>select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine
  SQL>from v$session a,v$sqlarea b
  SQL>where a.sql_address = b.address
  SQL>order by cpu_time/executions desc;

  備注:UNIX 1個用戶session對應一個操作系統process,而Windows體現在線程。


  啟動oracle

  su - oracle
  SQL>sqlplus system/pwd as sysdba     //進入sql
  SQL>startup                                      //啟動數據庫
  SQL>lsnrctl start                               //啟動監聽
   sqlplus "/as sysdba"
  SQL>shutdown immediate;  //關閉數據庫
  SQL>startup mount;
  SQL>alter database open;    


Session:
1.通過SQLPlus修改Oracle的sessions和processes的關系是

   sessions=1.1*processes + 5 
  使用sys,以sysdba權限登錄: 
  SQL> show parameter processes; 
  NAME TYPE VALUE-------- 
  aq_tm_processes integer 1db_writer_processes integer 1 
  job_queue_processes integer 10 
  log_archive_max_processes integer 1 
  processes integer 150 
  SQL> alter system set 
  processes=400 scope = spfile;系統已更改。 
  SQL> show parameter processes;NAME TYPE 
  VALUE-------------------------------- 
  aq_tm_processes 
  integer 1db_writer_processes integer 1 
  job_queue_processes integer 10 
  log_archive_max_processes integer 1 
  processes integer 150 
  SQL> create pfile from spfile;    

  

  注:sessions是個派生值

  注:sessions是個派生值,由processes的值決定,公式sessions=1.1*process + 5

  2.通過修改oracle配置文件進行修改修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora 文件,在9i中修改init.ora文件是無效的,這個文件由於是一個二進制的文件,不能直接使用notepad此類的編輯器打開。否則會報錯誤ORA- 27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之類的可以編輯二進制文件的編輯器打開此文件(直接編輯二進制文件),然后在Windows服務 中重新啟動Oracle服務器即可。

  3.通過Oracle Enterprise Manager Console在圖形化管理器中修改

  a.以系統管理員的身份登入

  b.進入數據庫的例程-配置-一般信息-所有初始化參數

  c.修改processes的值

 

查詢是否有死鎖 
select * from v$locked_object; 
如果查詢結果為no rows selected,說明數據庫中沒有死鎖。否則說明數據庫中存在死鎖。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM