您的位置:首页 > 数据库 > Oracle

oracle如何设置最大连接数

2017-07-12 14:09 453 查看
查看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,说明数据库中没有死锁。否则说明数据库中存在死锁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: