网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.FAQ Collection-性能调整.
.诊断性能问题.
.用自动ftp提高工作效率.
.轻松取得Oracle结构描述句法.
.ORACLE培训教程(2)-数据库的安全.
.ExactPapers Oracle 1Z0-101 200.
.Oracle数据库中SQL语句性能调整原.
.ORACLE DBA常用SQL脚本工具->管理.
.在Oracle数据库中连接异种数据源.
.TestKing Oracle 1Z0-131 Edt5.0.
.SELECT 赋值与ORDER BY冲突的问题.
.简单试验一下Bulk Binds对性能的.
.如何察看系统cpu,内存等利用情况.
.理解 Linux 配置文件.
.ORACLE 7.3.4.2 for SCO Unix 安.
.ORACEL多路复制及一般表空间恢复.
.你的Oracle数据库安全吗?.
.ArcSDE Oracle的存储配置实战演练.
.oracle中的to_date参数含义.
.在FORM中使用JAVA类库的方法.

一次解决session无法完全删除问题的全过程

发表日期:2008-2-9


    开发环境:win2000server+Oracle9i+Delphi开发人员报告:在程序中杀了JOB,但是被操作的表还是锁表状态,              其中有一张日志表还在不断插入记录, 直到执行完所有插入操作(一个漫长的等待过程)才能解锁现场描述:oem中被杀job起的SESSION状态为killed,其中有3张表被锁点击右键--》中断会话            提示: 标记要删去的会话     ===================================================================================================处理方法一 :     1.SELECT saddr,sid,serial#,paddr,username,status FROM v$session WHERE username IS NOT NULLexample:saddr,sid,serial#,paddr,username,status FROM v$session WHERE username = 'XNJW0419' ;SADDR SID SERIAL# PADDR USERNAME STATUS -------- ---------- ---------- -------- ------------------------------ -------- 542E0E6C 11 314 542B70E8 EYGLE INACTIVE 542E5044 18 662 542B6D38 SYS ACTIVE     2.ALTER SYSTEM KILL SESSION 'sid, serial#';example:ALTER SYSTEM KILL SESSION '11,314';(注:在sqlplus中执行 )     结果: 提示标记要删去的会话 无法释放会话,未成功解锁     ====================================================================================================处理方法二 :     a、 找到你要杀掉的那个SESSION, 并记下paddr     SELECT sid, username, paddr, status FROM v$session WHERE username = '用户名' ; example:SELECT sid, username, paddr, status FROM v$session WHERE username = 'XNJW0419' ;       SID USERNAME                       PADDR    STATUS---------- ------------------------------ -------- --------        10 XNJW0419                       2B5E2E2C KILLED     b、 找到这个SESSION所对应的spid     SELECT * FROM v$process WHERE addr = '上面查寻的paddr'; example:SELECT ADDR,PID,SPID,USERNAME,SERIAL#,TERMINAL FROM v$process WHERE addr = '2B5E2E2C';ADDR            PID SPID         USERNAME           SERIAL# TERMINAL-------- ---------- ------------ --------------- ---------- ----------------2B5E2E2C         44 1204         SYSTEM                 -99 JWC
    c、 杀掉spid所标识的那个进程     D:\>orakill sid  spid (注:cmd命令窗口中执行 只有oracle服务器端才有orakill命令)example: D:\>orakill oemrep 1204     提示:KILL OF THREAD id 1204 IN INSTANCE oemrep sUCcessfully signalled.     结果:成功删除该SESSION,表也解锁     一句话:     --查看系统锁     SELECT /*+ rule */ s.username,
          decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,
          o.owner,
          o.object_name,
          o.object_type,
          s.sid,
          s.serial#,
          s.STATUS,
          s.terminal,
          s.machine,
          s.program,
          s.osuser,
          s.LOGON_TIME
    FROM v$session s,
         v$lock l,
         dba_objects o
    WHERE l.sid = s.sid
    AND l.id1 = o.object_id(+)
    AND s.username is NOT NULL
    and s.status ='ACTIVE'     解锁及Kill Session:     使用下面的语法查出锁并杀掉Session。     SELECT A.SID,A.SERIAL#,A.USERNAME,B.TYPE FROM V$SESSION A,V$LOCK B WHERE A.SID=B.SID;
    ALTER SYSTEM KILL SESSION 'SID,SERIAL#';     当然在kill前最好记住问题所在然后分析从最根本的解决问题!     ORAKILL为windows下面的操作命令。UNIX下面直接使用KILL -9也可以,不过建议使用ALTER SYSTEM KILL SESSION 'SID,SERIAL#';     进行kill
上一篇:pessimistic锁定对optimistic锁定(2) 人气:576
下一篇:exp/imp导出导入工具的使用 人气:853
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐