修改Oracle資料庫的連接數

摘要:修改Oracle資料庫的連接數


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;