故障描述:
Oracle会自动处理分布事务,保证分布事务的一致性,所有站点全部提交或全部回滚,当commit或rollback的时候,出现了连接中断,或数据库崩溃的情况,就无法继续执行,绝大多数情况在数据库重启时会自动解决分布式事务,有些会被锁住,数据库的dblink事务正在执行时,172突然down掉,导致正在运行的事务找不到正确的dblink,分布式事务锁住,alert日志一直报错ora-02062故障处理:
1、select local_tran_id,state from dba_2pc_pending;查询被锁的分布式事物,执行结果:local_tran_id state
1.29.35.74420 collecting
3.26.46.77532 prepared
4.22.31.23456 forced rollback
2、state描述
collecting:在收集数据过程中,产生异常
prepared: 在接受到异步commit/rollback指令前, 产生异常
forced rollback: 在使用rollback force出现
forced commit:在使用commit force出现
3、处理方法:
命令行执行:execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY(‘local_tran_id’);