记一次SQL PLUS 不能登录的异常处理

现象

  1. 通过远程PLSQL Developer 访问数据发现卡死没响应。

  1. 通过Sqlplus 访问数据同样hang死在登录界面,且不能通过Ctrl+C取消

[oracle@oracle ~]$ sqlplus / as sysdba
​
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 30 10:31:33 2019
​
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
​
​
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
  1. alert 日志没任何报错

  2. 数据库cpu 无压力

  3. 连接数没有达到processes 的设置

处理

oracle$ sqlplus -prelim / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug hanganalyze 3
SQL> oradebug dump systemstate 266
<间隔一定时间,如20秒,执行下一次数据采样. >
SQL> oradebug hanganalyze 3
SQL> oradebug dump systemstate 266
SQL> oradebug tracefile_name
SQL> oradebug close_trace

生成的Trace 文件直接搜索blocker 关键字

      Dumping 1 direct blocker(s):
       inst: 1, sid: 2282, ser: 85
     Dumping final blocker:
       inst: 1, sid: 2282, ser: 85

final blocker sid:2282,再搜索2282,找到如下信息

SO: 0x552acf480, type: 4, owner: 0x551708ef0, flag: INIT/-/-/0x00 if: 0x3 c: 0x3
    proc=0x551708ef0, name=session, file=ksu.h LINE:12729, pg=0
  (session) sid: 2282 ser: 85 trans: (nil), creator: 0x551708ef0
             flags: (0x10041) USR/- flags_idl: (0x1) BSY/-/-/-/-/-
             flags2: (0x40009) -/-/INC
             DID: , short-term DID:
             txn branch: (nil)
             edition#: 100              oct: 3, prv: 0, sql: 0x557a67f20, psql: 0x557a692d8, user: 0/SYS
   ksuxds FALSE at location: 0
   service name: SYS$USERS
   client details:
     O/S info: user: oracle, term: UNKNOWN, ospid: 81552
     machine: dbh01 program: oracle@dbh01 (J000)
     application name: DBMS_SCHEDULER, hash value=2478762354
     action name: SM$CLEAN_AUTO_SPLIT_MERGE, hash value=1890521210
   Current Wait Stack:
    0: waiting for 'library cache: mutex X'
       idn=0x41bd76b6, value=0x2000000000, where=0x4f
       wait_id=71 seq_num=72 snap_id=1
       wait times: snap=3 min 13 sec, exc=3 min 13 sec, total=3 min 13 sec
       wait times: max=infinite, heur=872 min 45 sec
       wait counts: calls=17580 os=17579
       in_wait=1 iflags=0x15b2
   There are 91 sessions blocked by this session.
   Dumping one waiter:
     inst: 1, sid: 16, ser: 157
     wait event: 'latch: shared pool'
       p1: 'address'=0x6010f288
       p2: 'number'=0x150
       p3: 'tries'=0x0
     row_wait_obj#: 4294967295, block#: 0, row#: 0, file# 0
     min_blocked_time: 52361 secs, waiter_cache_ver: 60751
   Wait State:
     fixed_waits=0 flags=0x22 boundary=(nil)/-1

有如下重要信息:

(session) sid: 2282

ospid: 81552

machine: dbh01

program: oracle@dbh01 (J000)

application name: DBMS_SCHEDULER, hash value=2478762354

action name: SM$CLEAN_AUTO_SPLIT_MERGE, hash value=1890521210

0: waiting for 'library cache: mutex X'

There are 91 sessions blocked by this session.

杀掉OS 进程81552 , 故障恢复。

pasting

记一次SQL PLUS 不能登录的异常处理的更多相关文章

  1. SQL Server 2008登录错误:无法连接到(local)解决方法

    在一些朋友安装完SQL Server 2008之后大多会遇到连接出错的问题比如:SQL Server 2008登录错误:无法连接到(local)等等相关问题,本文将详细介绍解决方法,需要的朋友可以参考 ...

  2. 利用SQL注入漏洞登录后台的实现方法

    利用SQL注入漏洞登录后台的实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-01-12我要评论 工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读 ...

  3. SQL Server客户端登录名与数据库用户关联

    数据库迁移之后,在新的SQL Server客户端工具设置关联时,往往会报错: 用户.组或角色 'XXX' 在当前数据库中已存在. 解决方法: 首先介绍一下sql server中“登录”与“用户”的区别 ...

  4. sql server2008添加登录账户配置权限 && 登录时18456错误

    1.如何为SQL Server2008添加登录账户并配置权限 2.SQLSERVER2008 18456错误 http://blog.csdn.net/goodshot/article/details ...

  5. 单点登录CAS使用记(四):为登录页面加上验证码

    CAS默认的登录页面样式如下,只有用户名与密码两项验证项目. 现在需要为首页登录加上验证码功能. 第一步:首页对默认登录页面的样式进行了调整,使其看上去还算美观. 在页面上加上了验证码项目. 第二步: ...

  6. Windows Server 2008防火墙问题及Sql Server2005用户登录问题

    一.Windows Server 2008防火墙问题 1.  问题: 1.在 Windows 安全中心中单击“立即打开”以打开 Windows 防火墙时,会收到以下错误消息:安全中心无法打开 Wind ...

  7. 记一次sql server 2005访问http接口,并解析json的过程

    记一次sql server 2005访问http接口,并解析json的过程  JSON解析官方网站:https://www.red-gate.com/simple-talk/sql/t-sql-pro ...

  8. (转)SQL Server 2008登录错误:无法连接到(local)的解决

    在一些朋友安装完SQL Server 2008之后大多会遇到连接出错的问题.特别对于我们这样的新手而言简直郁闷的要死,好不容易装玩了又出现了问题.此篇文章意在解决安装步骤没有问题,但安装后无法登录的问 ...

  9. sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...

随机推荐

  1. C# 实现生产者消费者队列 (转)

    按语:按照下面文档,测试成功: https://www.cnblogs.com/samgk/p/4772806.html 开发过程中经常会碰到这样的场景:需要从一个地方获取一些数据,然后处理数据并将其 ...

  2. ThreadLocal Memory Leak in Java web application - Tomcat

    ThreadLocal variables are infamous for creating memory leaks. A memory leak in Java is amount of mem ...

  3. LeetCode_342. Power of Four

    342. Power of Four Easy Given an integer (signed 32 bits), write a function to check whether it is a ...

  4. elasticsearch关键词查询不分词

    $query = [ 'bool' => [ 'must' => [ 'match_phrase' => ['content' => $word] //$word词不被分词 ] ...

  5. Python之可变参数,*参数,**参数,以及传入*参数,进行解包

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  6. 查找searching

    查找searching 在有序数列中查找某一个数据时候的算法设计 查找表的分类 静态查找表:只进行查找操作 动态查找表:不断的插入不存在,删除已存在 查找表的操作 查找.插入.删除 查找也叫检索,是根 ...

  7. 查询SQL时间段内执行过的哪些SQL语句

    QS.creation_time, ) , (( ) ) AS statement_text, ST.text, QS.total_worker_time, QS.last_worker_time, ...

  8. ant 节点和属性

    任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件. 1)javac命令支持的参 ...

  9. 十分钟快速入门 Python,看完即会,不用收藏!

    本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. ...

  10. vue利用keep-alive/beforeRouteLeave前进刷新后退不刷新(缓存)

      keep-alive缓存 在vue中默认router-link进入页面组件都是不缓存的.对于数据不会更新的页面.可以使用keep-alive来缓存以提高性能. 在项目src/router/inde ...