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.查看数据库当前会话的连接数:
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,说明数据库中没有死锁。否则说明数据库中存在死锁。