Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3672552
  • 博文数量: 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

2020-11-24 20:19:02

关闭smon清理:
SQL> oradebug setorapid
SQL> oradebug event 10513 trace name context forever, level 2


打开smon清理:
SQL> oradebug setorapid
SQL> oradebug event 10513 trace name context off

这么查:
select pid, program from v$process where program like '%SMON%';

但是这个10513的 event 含义代表什么可以看 $ORACLE_HOME/rdbms/mesg/oraus.msg



参考:
How to Disable Parallel Transaction Recovery When Parallel Txn Recovery is Active (Doc ID 238507.1)


方便版:

  1. 取消并行回滚,因为并行进程互相干扰,有时并行不如串行回滚效率高,常用于对索引的并行更新回滚。

  2. 找到smon的pid信息
  3. col program for a40
  4. select pid, program from v$process where program like '%SMON%';

  5. 根据pid设置事件
  6. oradebug setorapid '&smon_pid';
  7. oradebug event 10513 trace name context forever, level 2

  8. 杀掉并行进程
  9. select 'kill -9 '||SPID c from V$PROCESS where PID in (select PID from V$FAST_START_SERVERS);

  10. 取消并行回滚
  11. alter system set fast_start_parallel_rollback=false;

  12. 继续回滚
  13. oradebug setorapid '&smon_pid';
  14. oradebug event 10513 trace name context off


查看回滚段大小(建议每2分钟执行一次,然后比较)

  1. set lines 120
    col useg format a30
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

  2. select c.*,round(c.undoblocks*(select value from v$parameter where name='db_block_size')/1024/1024,1)MB
  3. from (
  4. select sysdate,b.name useg, b.inst# instid, b.status$ status, a.ktuxeusn
  5. xid_usn, a.ktuxeslt xid_slot, a.ktuxesqn xid_seq, a.ktuxesiz undoblocks
  6. from x$ktuxe a, undo$ b
  7. where a.ktuxesta = 'ACTIVE' and a.ktuxecfl like '%DEAD%'
  8. and a.ktuxeusn = b.us#) c;


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