ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 将dump文件xid转化为v$transaction xid

将dump文件xid转化为v$transaction xid

原创 Linux操作系统 作者:lijiebin 时间:2010-04-08 13:42:45 0 删除 编辑

select to_number('000a','XXXXX') ,to_number('02d','XXXXX'),to_number('00000687','XXXXXXXXX') from dual;
 
TO_NUMBER('000A','XXXXX') TO_NUMBER('02D','XXXXX') TO_NUMBER('00000687','XXXXXXXX
------------------------- ------------------------ ------------------------------
                       10                       45                           1671
                      
   select * from v$transaction where     xidUSN=10 and     xidSLOT =45 and     xidSQN=1671;

 

如果定位sql ,

 

过下面的语句,可以将dump 文件的xid

转化为FLASHBACK_TRANSACTION_QUERY 的xid

可以用来定义sql语句。

select upper(substr(substr('&&xid',3,instr('&&xid','.')-3),3,2)||substr(substr('&&xid',3,instr('&&xid','.')-3),1,2)||substr(lpad (substr('&&xid',instr('&&xid','.')+1,instr('&&xid','.',1,2)- instr('&&xid','.',1,1)-1),4,'0'),3,2)||substr(lpad (substr('&&xid',instr('&&xid','.')+1,instr('&&xid','.',1,2)- instr('&&xid','.',1,1)-1),4,'0'),1,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),7,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),5,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),3,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),1,2))  from dual;

 

 

用法:

 

SQL> select upper(substr(substr('&&xid',3,instr('&&xid','.')-3),3,2)||substr(sub

str('&&xid',3,instr('&&xid','.')-3),1,2)||substr(lpad (substr('&&xid',instr('&&x

id','.')+1,instr('&&xid','.',1,2)- instr('&&xid','.',1,1)-1),4,'0'),3,2)||substr

(lpad (substr('&&xid',instr('&&xid','.')+1,instr('&&xid','.',1,2)- instr('&&xid'

,'.',1,1)-1),4,'0'),1,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),

8,'0'),7,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),5,2)||

substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),3,2)||substr(lpad(s

ubstr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),1,2))  from dual;

输入 xid 的值:  0x000a.02d.00000687

原值    1: select upper(substr(substr('&&xid',3,instr('&&xid','.')-3),3,2)||subs

tr(substr('&&xid',3,instr('&&xid','.')-3),1,2)||substr(lpad (substr('&&xid',inst

r('&&xid','.')+1,instr('&&xid','.',1,2)- instr('&&xid','.',1,1)-1),4,'0'),3,2)||

substr(lpad (substr('&&xid',instr('&&xid','.')+1,instr('&&xid','.',1,2)- instr('

&&xid','.',1,1)-1),4,'0'),1,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2

)+1 ),8,'0'),7,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),

5,2)||substr(lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),3,2)||substr(

lpad(substr('&&xid',instr('&&xid','.',1,2)+1 ),8,'0'),1,2))  from dual

新值    1: select upper(substr(substr('0x000a.02d.00000687',3,instr('0x000a.02d.

00000687','.')-3),3,2)||substr(substr('0x000a.02d.00000687',3,instr('0x000a.02d.

00000687','.')-3),1,2)||substr(lpad (substr('0x000a.02d.00000687',instr('0x000a.

02d.00000687','.')+1,instr('0x000a.02d.00000687','.',1,2)- instr('0x000a.02d.000

00687','.',1,1)-1),4,'0'),3,2)||substr(lpad (substr('0x000a.02d.00000687',instr(

'0x000a.02d.00000687','.')+1,instr('0x000a.02d.00000687','.',1,2)- instr('0x000a

.02d.00000687','.',1,1)-1),4,'0'),1,2)||substr(lpad(substr('0x000a.02d.00000687'

,instr('0x000a.02d.00000687','.',1,2)+1 ),8,'0'),7,2)||substr(lpad(substr('0x000

a.02d.00000687',instr('0x000a.02d.00000687','.',1,2)+1 ),8,'0'),5,2)||substr(lpa

d(substr('0x000a.02d.00000687',instr('0x000a.02d.00000687','.',1,2)+1 ),8,'0'),3

,2)||substr(lpad(substr('0x000a.02d.00000687',instr('0x000a.02d.00000687','.',1,

2)+1 ),8,'0'),1,2))  from dual

 

UPPER(SUBSTR(SUB

----------------

0A002D0087060000

 

 

SELECT /*+ rule */ UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY

  WHERE XID = '0A002D0087060000';

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8135069/viewspace-631590/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: mysql 升级
请登录后发表评论 登录
全部评论

注册时间:2008-01-10

  • 博文量
    145
  • 访问量
    177218