频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在尝试撤销事务时所出现的错误

来源:pcdog 作者:佚名 出处:巧巧读书 2007-12-25 进入讨论组

  在尝试撤销事务时,有时会出现以下的错误信息:

SQL> CREATE TABLE T_FLASH_TRANS (ID NUMBER, NAM
E VARCHAR2(30)); 
表已创建。 
SQL> INSERT INTO T_FLASH_TRANS VALUES (1, ’A’); 
已创建 1 行。 
SQL> COMMIT; 
提交完成。 
SQL> UPDATE T_FLASH_TRANS SET NAME = ’C’ WHERE ID = 1; 
已更新 1 行。 
SQL> COMMIT; 
提交完成。 
SQL> UPDATE T_FLASH_TRANS SET NAME = ’D’ WHERE ID = 1; 
已更新 1 行。 
SQL> INSERT INTO T_FLASH_TRANS VALUES (2, ’B’); 
已创建 1 行。 
SQL> COMMIT; 
提交完成。 
SQL> CONN SYS@ORA11G AS SYSDBA输入口令: ****已连接。 
SQL> SELECT XID, OPERATION, UNDO_SQL 
2 FROM FLASHBACK_TRANSACTION_QUERY 
3 WHERE TABLE_NAME = ’T_FLASH_TRANS’; 
XID OPERATION UNDO_SQL 
---------------- ---------- 
01001B00D8120000 INSERT delete 
from "YANGTK"."T_FLASH_TRANS" where ROWID = ’AAARpjAAGAAADB9AAB’; 
01001B00D8120000 UPDATE update 
"YANGTK"."T_FLASH_TRANS" 
set "NAME" = ’C’ 
where ROWID = ’AAARpjAA 
03000D00F40E0000 INSERT delete 
from "YANGTK"."T_FLASH_TRANS" 
where ROWID = ’AAARpjAAGAAADB9AAA’; 
0A001800ED110000 UPDATE update 
"YANGTK"."T_FLASH_TRANS" 
set "NAME" = ’A’ where ROWID = ’AAARpjAA 
SQL> DECLARE 
2 V_XID XID_ARRAY; 
3 BEGIN 
4 V_XID := SYS.XID_ARRAY(’0A001800ED110000’); 
5 DBMS_FLASHBACK.TRANSACTION_BACKOUT
(1, V_XID, DBMS_FLASHBACK.CASCADE); 
6 END; 
7 / 
DECLARE 
*第 1 行出现错误: 
ORA-55505: 在挖掘起始 SCN 后已经对感兴趣的对象完成了 DDL 
ORA-06512: 在 "SYS.DBMS_FLASHBACK", line 37 
ORA-06512: 在 "SYS.DBMS_FLASHBACK", line 70 
ORA-06512: 在 line 5

  我们从这个错误信息上可以发现,在指定的SCN后发生了DDL语句。

  现在我们来查询一下Oracle的metalink,你可以发现是由于事务与建表DDL时间间隔太段造成的,假如时间间隔超过6秒,就不会出现这个错误。

  注释:此问题的出现是继承了LOGMINER的特点,在Metalink的文档Bug No. 5750226对这个问题进行了详细的描述。

Web: http://www.qqread.com/oracle/2007/12/e388919.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章