如何查看oracle数据库某一张表的最大连接数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看oracle数据库某一张表的最大连接数相关的知识,希望对你有一定的参考价值。
用putty连接linux服务器,切换到su
-
oracle
sqlplus
/nolog
连接到数据库;
conn
/
as
sysdba
show
parameter
session
alter
system
set
sessions
=
values(比如400)
scope
=
spfile;//注意此处的分号;
show
parameter
process
alter
system
set
processes
=
values(比如450)scope
=
spfile;//注意此处的分号;
show
parameter
license
//查看最大的process;
重新启动服务器;
oracle的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/system/中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,
需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或oracle
sga。范围可从200——2000不等。
semmns的计算公式为:semmns>processes+instance_processes+system
processes=数据库参数processes的值
instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系统所占用信号量。系统所占用信号量可用下列命令查出:#ipcs
-sb 参考技术A SQL>
select
count(*)
from
v$session
#当前的连接数
SQL>
Select
count(*)
from
v$session
where
status='ACTIVE'
#并发连接数
SQL>
select
value
from
v$parameter
where
name
=
'processes'
--数据库允许的最大连接数
SQL>
show
parameter
processes
#最大连接
SQL>
select
username,count(username)
from
v$session
where
username
is
not
null
group
by
username;
#查看不同用户的连接数
希望能帮到你
oracle中从一张表中筛选出不再多个时间段内的时间
一张表存储 假期 开始时间strat_time 结束时间 end_time,这张表中存储有多条记录
另一张表存储正常的时间work_time
如何从存储正常时间的的表中筛选出不再另一张表包含的时间段内的时间
create table table_a( t1 date, t2 date);
insert into table_a values(to_date('20140501','yyyymmdd') ,to_date('20140503','yyyymmdd'));
insert into table_a values(to_date('20140508','yyyymmdd') ,to_date('20140509','yyyymmdd'));
create table table_b(t date,id int)
insert into table_b values(to_date('20140501','yyyymmdd'),1);
insert into table_b values(to_date('20140502','yyyymmdd'),2);
insert into table_b values(to_date('20140503','yyyymmdd'),3);
insert into table_b values(to_date('20140504','yyyymmdd'),4);
insert into table_b values(to_date('20140505','yyyymmdd'),5);
insert into table_b values(to_date('20140506','yyyymmdd'),6);
insert into table_b values(to_date('20140507','yyyymmdd'),7);
insert into table_b values(to_date('20140508','yyyymmdd'),8);
insert into table_b values(to_date('20140509','yyyymmdd'),9);
insert into table_b values(to_date('20140510','yyyymmdd'),10);
insert into table_b values(to_date('20140511','yyyymmdd'),11);
查询语句
select * from table_b where t not in(
select distinct b.t from table_b b,table_a a where b.t between a.t1 and a.t2) 参考技术A oracle中从一张表中筛选出不再多个时间段内的时间
建表和插入数据
create table table_a( t1 date, t2 date);
insert into table_a values(to_date('20140501','yyyymmdd') ,to_date('20140503','yyyymmdd'));
insert into table_a values(to_date('20140508','yyyymmdd') ,to_date('20140509','yyyymmdd'));
create table table_b(t date,id int)
insert into table_b values(to_date('20140501','yyyymmdd'),1);
insert into table_b values(to_date('20140502','yyyymmdd'),2);
insert into table_b values(to_date('20140503','yyyymmdd'),3);
insert into table_b values(to_date('20140504','yyyymmdd'),4);
insert into table_b values(to_date('20140505','yyyymmdd'),5);
insert into table_b values(to_date('20140506','yyyymmdd'),6);
insert into table_b values(to_date('20140507','yyyymmdd'),7);
insert into table_b values(to_date('20140508','yyyymmdd'),8);
insert into table_b values(to_date('20140509','yyyymmdd'),9);
insert into table_b values(to_date('20140510','yyyymmdd'),10);
insert into table_b values(to_date('20140511','yyyymmdd'),11);
查询语句
select * from table_b where t not in(
select distinct b.t from table_b b,table_a a where b.t between a.t1 and a.t2)
以上是关于如何查看oracle数据库某一张表的最大连接数的主要内容,如果未能解决你的问题,请参考以下文章
Oracle如何查询一个用户所创建的表 以及 如何查询一张表的主人
在oracle中如何查询一张表的所有数据结构,包括字段,视图,索引,约束