修改Oracle資料庫的連接數

2014-01-13 16:27
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;