li
  当前位置:主页 > 性能优化 > 文章内容
li
ORA-600(999)错误(二)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:6  
本文章共10394字,分7页,当前第1页,快速翻页:
 

今天后台出现了很多ORA-600,其中第一个错误参数为999

这个问题在METALINK上没有找到类似的说明。

这篇进一步深入研究数据库中缺少了哪些信息造成了这个问题。

关于错误问题产生的原因参考:ORA-600(999)错误(一):http://yangtingkun.itpub.net/post/468/281181


上一篇文章简单讨论了为什么会出现这个问题。这里打算分析一下这个数据库缺少了哪些数据字典信息,导致了问题的产生。

首先,虽然Oracle缺少了部分信息,但是Oracle仍然认为这个对象是物化视图,而且物化视图的刷新一直都是正常的。

看来要寻找问题产生的原因首先必须从错误入手。

对于正常的物化视图表,OracleALTER TABLE RENAME时会报错,而对于这个数据库,则可以成功,说明在ALTER TABLE RENAME操作执行时,进行了某种检查。

寻找问题最简单的方法是进行SQL_TRACE,然后进行比较:

SQL> CREATE TABLE T_RENAME (ID NUMBER);

表已创建。

SQL> ALTER SESSION SET SQL_TRACE = TRUE;

会话已更改。

SQL> ALTER TABLE T_RENAME RENAME TO T_RENAMED;

表已更改。

SQL> ALTER SESSION SET SQL_TRACE = FALSE;

会话已更改。

SQL> DISC Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
断开

SQL> CONN TEST/TEST@TESTZJ
已连接。
SQL> DROP TABLE T_RENAMED;

表已删除。

SQL> ALTER SESSION SET SQL_TRACE = TRUE;

会话已更改。

SQL> ALTER TABLE MV_T RENAME TO T_MV;
ALTER TABLE MV_T RENAME TO T_MV
*
1 行出现错误:
ORA-32318: cannot rename a materialized view


SQL> ALTER SESSION SET SQL_TRACE = FALSE;

会话已更改。

IXDBA.NET技术社区

将得到的两个TRACE信息进行比对:

*** 2007-04-06 12:25:47.625
*** SESSION ID:(37.124) 2007-04-06 12:25:47.596
APPNAME mod='SQL*Plus' mh=3669949024 act='' ah=4029777240
=====================
PARSING IN CURSOR #1 len=34 dep=0 uid=60 oct=42 lid=60 tim=1148274948853089 hv=4177740527 ad='78ec71e0'
ALTER SESSION SET SQL_TRACE = TRUE
END OF STMT
EXEC #1:c=10000,e=116,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=1148274948824465
*** 2007-04-06 12:26:07.649
XCTEND rlbk=0, rd_only=1
=====================
PARSING IN CURSOR #1 len=40 dep=0 uid=60 oct=15 lid=60 tim=1148274968407963 hv=4141242299 ad='78ec6db8'
ALTER TABLE T_RENAME RENAME TO T_RENAMED
END OF STMT
PARSE #1:c=0,e=614,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=1148274968407947
=====================
PARSING IN CURSOR #2 len=256 dep=1 uid=0 oct=47 lid=0 tim=1148274968411117 hv=701589132 ad='735961d8'
BEGIN
/* NOP UNLESS A TABLE OBJECT */
IF dictionary_obj_type = 'TABLE' AND sys.dbms_cdc_publish.active > 0
THEN
sys.dbms_cdc_publish.change_table_trigger(dictionary_obj_owner,dictionary_obj_name,sysevent);
END IF;
END;
END OF STMT
PARSE #2:c=10000,e=2954,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=1148274968411112
=====================
PARSING IN CURSOR #18 len=43 dep=2 uid=0 oct=3 lid=0 tim=1148274968411517 hv=1600975027 ad='734ee3a0'
SELECT MINOR_VERSION FROM SYS.CDC_SYSTEM$
END OF STMT
EXEC #18:c=0,e=42,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,tim=1148274968411511
FETCH #18:c=0,e=123,p=0,cr=3,cu=0,mis=0,r=1,dep=2,og=4,tim=1148274968411726
EXEC #2:c=0,e=493,p=0,cr=3,cu=0,mis=0,r=1,dep=1,og=4,tim=1148274968411791
=====================
PARSING IN CURSOR #2 len=198 dep=1 uid=0 oct=3 lid=0 tim=1148274968412570 hv=2703824309 ad='72f8687c'



阅读更多内容1 · 2 · 3 · 4 · 5 · 6 · 7 · 下一页>>


  上一篇: GLOBAL_NAME相同的数据库中物化视...   下一篇: 物化视图刷新过程中出现的约束冲...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·GLOBAL_NAME相同的数据库中物化视...
·GLOBAL_NAME相同的数据库中物化视...
·物化视图复制快速刷新的限制(二...
·物化视图是否根据字段进行刷新(...
·物化视图是否根据字段进行刷新(...
·物化视图是否根据字段进行刷新(...
·在包含LONG类型的表上建立物化视...
·物化视图注册信息的清除
·建立物化视图所需权限(四)
·建立物化视图所需权限(三)
·物化视图刷新过程中出现的约束冲...
·ORA-600(999)错误(三)
·建立物化视图导致数据库实例崩溃
·小议物化视图与基表数据不一致的...
·物化视图的创建写法与刷新问题
·10203设置CURSOR_SHARING为SIMIL...
·小议物化视图与基表数据不一致的...
·包含复制环境的数据库迁移(二)
·包含复制环境的数据库迁移(一)
·inode耗尽导致No space left on ...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接