oracle的一些操作

简介:

1.select count(*) from v$session; 
  select count(*) from v$process; 
  查看当前总会话数和进程数,这两个视图就是跟会话及进程有关的重要视图啦,信息都是从这里面取的。

2.查询那些应用的连接数此时是多少 
select  b.MACHINE, b.PROGRAM , count(*) from v$process a, v$session b where a.ADDR = b.PADDR and  b.USERNAME is not null   group by  b.MACHINE  , b.PROGRAM order by count(*) desc;

3.查询是否有死锁 
select * from v$locked_object; 
如果查询结果为no rows selected,说明数据库中没有死锁。否则说明数据库中存在死锁。


接下来说明一下会话的状态: 
1.active 处于此状态的会话,表示正在执行,处于活动状态。 
2.killed 处于此状态的会话,表示出现了错误,正在回滚,当然,也是占用系统资源的。还有一点就是,killed的状态一般会持续较长时间,而且用windows下的工具pl/sql developer来kill掉,是不管用的,要用命令:alter system kill session 'sid,serial#' ; 
3.inactive 处于此状态的会话表示不是正在执行的,比如select语句已经完成。我一开始以为,只要是inactive状态的会话,就是该杀,为什么不释放呢。其实,inactive对数据库本身没有什么影响,但是如果程序没有及时commit,那么就会造成占用过多会话。解决inactive的方法最好的就是在oracle中直接设置超时时间,也是有两种方法,区别暂时还不清楚:

1.修改sqlnet.ora文件,新增expire_time=x(单位是分钟)   
我的sqlnet.ora位置在D:\oracle\ora92\network\admin

2.通过ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10; 命令修改,记得重启下oracle。

 

===============

另外一种解决方法:

select A.SID,B.SPID,A.SERIAL#,a.lockwait,A.USERNAME,A.OSUSER,a.logon_time,a.last_call_et/3600 LAST_HOUR,A.STATUS, 
'orakill '||sid||' '||spid HOST_COMMAND,
'alter system kill session '''||A.sid||','||A.SERIAL#||'''' SQL_COMMAND
from v$session A,V$PROCESS B where A.PADDR=B.ADDR AND SID>6

-----

 

你是不是觉得你的写sql语句时,过了一会儿不写了,你的再写sql语句时,就发现你的登陆失效了?是因为oracle设置了一个时间当你到了这个时间还没有对窗口做响应的话,oracle就把你的登陆退出(这个时间也就是下面提到的session时间,你可以自己设置,就方便了)

在下面的两个目录下的web.xml中可以设置session存活时间
D:\app\Administrator\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\applications\em\em\WEB-INF
下面是文件内容示例:看到中间用一个60没有?表示60分种,默认值是35 改成60了
(
<web-app>   
      <session-config>   
          <session-timeout>60</session-timeout>   
      </session-config>   
      <welcome-file-list>   
          <welcome-file>index.jsp</welcome-file>   
      </welcome-file-list>   
</web-app>   
)

 


本文转自茄子_2008,原文链接:http://www.cnblogs.com/xd502djj/archive/2010/09/17/1829188.html,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
89 0
|
9月前
|
SQL 存储 Oracle
Oracle数据库中日期的操作、主键自增与分页查询
Oracle数据库中日期的操作、主键自增与分页查询
80 0
|
4月前
|
Oracle 关系型数据库
Oracle - 表操作语句
Oracle - 表操作语句
25 0
|
7月前
|
SQL 存储 Oracle
Oracle SQL操作和查询
SQL是结构化查询语言(Structured Query Language),专门用于数据存取、数据更新及数据库管理等操作。
99 0
|
9月前
|
Oracle 关系型数据库 Java
hibernate操作Oracle出现违反唯一约束条件
出现这个问题的原因无非是主键冲突,我这里引起主键冲突的原因是实体类使用的ID策略为
|
10月前
|
SQL Oracle 前端开发
Oracle更改数据后后台无法操作 一直加载
今天用dbutils操作Oracle,在SQL developer里面测试执行完update语句后,在后台操作,前端页面一直加载,
|
11月前
|
Oracle 关系型数据库 数据库
|
11月前
|
SQL XML Oracle
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(下)
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(下)
|
11月前
|
SQL XML Oracle
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(中)
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(中)
|
11月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(上)
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作(上)