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' #并发连接数

批量杀死session

select 'alter system kill session '''||sid||','||SERIAL#||',@1'' immediate;' from gv$session where inst_id=1 and machine='PC-20190502CXCB' ; 




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;
  (需要重启数据库才能实现连接数的修改)


  重启数据库:

1

2

SQL>shutdown immediate;

SQL>startup;

  

  查看当前有哪些用户正在使用数据:

1

2

3

4

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

1

2

3

4

su - oracle

SQL>sqlplus system/pwd as sysdba     //进入sql

SQL>startup                                      //启动数据库

SQL>lsnrctl start                               //启动监听

1

2

3

4

sqlplus "/as sysdba"

SQL>shutdown immediate;  //关闭数据库

SQL>startup mount;

SQL>alter database open;


Session:
1.通过SQLPlus修改Oracle的sessions和processes的关系是

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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的值

猜你喜欢

转载自blog.csdn.net/SirLZF/article/details/108093657
今日推荐