首页 > 代码库 > oracle如何设置最大连接数

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.查看数据库当前会话的连接数:
  elect 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的值

oracle如何设置最大连接数