Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3552051
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客

分类: Oracle

2021-08-27 19:51:14


或者杀会话前?

一般会看看top,忙不忙,重点要检查事务大小

  1. -- 简洁版
  2. select
  3.    t1.sid,
  4.    t1.username,
  5.    t2.xidusn,
  6.    t2.used_urec,
  7.    t2.used_ublk
  8. from
  9.    v$session t1,
  10.    v$transaction t2
  11. where
  12.    t1.saddr = t2.ses_addr;


或者

  1. --加强版

  2. col username FORMAT A15
  3. set lin 120 pages 100
  4. SELECT s.username,
  5.       s.sid,
  6.       s.serial#,
  7.       t.used_ublk,
  8.       t.used_urec,
  9.       rs.segment_name,
  10.       r.rssize/1024 size_KB, --重点看这
  11.       r.status
  12. FROM v$transaction t,
  13.       v$session s,
  14.       v$rollstat r,
  15.       dba_rollback_segs rs
  16. WHERE s.saddr = t.ses_addr
  17. AND t.xidusn = r.usn
  18. AND rs.segment_id = t.xidusn
  19. ORDER BY t.used_ublk DESC;

相关字段说明(V$TRANSACTION)




如果未提交的事务过大,smon会回滚,以某库关闭为例

回滚了10分钟,漫长的等待。

看看官方的建议吧

  1. 当立即关机似乎挂起时该怎么办最常见的情况是由2个原因造成的:

  2. 1. 关闭时运行的大查询
  3. 2. 关闭时运行的大事务

  4. 发出shutdown immediate之前,建议检查以下视图

  5. 1. 大查询
  6. select count(*) from v$session_longops where time_remaining>0;

  7. 2. 大事务
  8. select sum(used_ublk) from v$transaction;

  9. 对于第1种情况
  10. shutdown abort
  11. startup restrict
  12. shutdown immediate

  13. 对于第2种情况
  14. 当发生大事务时,不要尝试连续abort、startup、immediate。挂起会再次发生。卸载数据库时数据库必须保持一致 - 执行连续的关闭/启动根本没有帮助,它只会使恢复变得更加漫长。

  15. 如果执行了关闭再重启,后台还在执行回滚,但v$transaction 中没有数据,可以通过以下语句检查进度:
  16. select * from v$fast_start_transactions;
  17. select * from v$fast_start_servers;


参考:
shutdown immediate 挂起时该做什么和不该做什么(文档 ID 375935.1)

  1. https://smarttechways.com/2014/09/10/waiting-for-smon-to-disable-tx-recovery-smon-in-alert-log/

阅读(869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~