li
  当前位置:主页 > 性能优化 > 文章内容
li
数据库升级造成的X_$BH状态异常问题
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:2  
本文章共6152字,分4页,当前第1页,快速翻页:
 

同事对一个测试库执行了升级操作,将9204数据库升级到了10201,升级后发现X_$BHX_$KCBWDS视图状态不正确。


由于升级的时候没有参考Metalink的文档,而是直接使用DBUA升级造成了X_$BHX_$KCBWDS的状态异常。其实造成这个问题的原因还是DBUA造成的。

先看一下问题:

SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS
2 WHERE OWNER = 'SYS'
3 AND STATUS = 'INVALID';

OWNER OBJECT_NAME OBJECT_TYPE
------------------------------ ------------------------------ -------------------
SYS X_$BH VIEW
SYS X_$KCBWDS VIEW

创始直接编译对象:

SQL> ALTER VIEW X_$BH COMPILE;

警告: 更改的视图带有编译错误。

SQL> SHOW ERR没有错误。

也没有错误信息,检查一下视图的定义,并对比X$BH表结构,发现了异常:

SQL> SELECT TEXT FROM DBA_VIEWS WHERE VIEW_NAME = 'X_$BH';

TEXT
--------------------------------------------------------------------------------
SELECT "ADDR","INDX","INST_ID","HLADDR","BLSIZ","NXT_HASH","PRV_HASH","NXT_REPL"
,"PRV_REPL","FLAG","LRU_FLAG","TS#","FILE#","DBARFIL","DBABLK","CLASS","STATE","
MODE_HELD","CHANGES","CSTATE","X_TO_NULL","FORCED_READS","FORCED_WRITES","LE_ADD
R","DIRTY_QUEUE","SET_DS","OBJ","BA","CR_SCN_BAS","CR_SCN_WRP","CR_XID_USN","CR_
XID_SLT","CR_XID_SQN","CR_UBA_FIL","CR_UBA_BLK","CR_UBA_SEQ","CR_UBA_REC","CR_SF
L","LRBA_SEQ","LRBA_BNO","HSCN_BAS","HSCN_WRP","HSUB_SCN","RRBA_SEQ","RRBA_BNO",
"US_NXT","US_PRV","WA_NXT","WA_PRV","TCH","TIM" FROM X$BH


SQL> DESC X$BH
名称 是否为空? 类型
----------------------------- -------- -----------
ADDR RAW(8)
INDX NUMBER
INST_ID NUMBER
HLADDR RAW(8)
BLSIZ NUMBER
NXT_HASH RAW(8)
IXDBA.NET社区论坛
PRV_HASH RAW(8)
NXT_REPL RAW(8)
PRV_REPL RAW(8)
FLAG NUMBER
RFLAG NUMBER
SFLAG NUMBER
LRU_FLAG NUMBER
TS# NUMBER
FILE# NUMBER
DBARFIL NUMBER
DBABLK NUMBER
CLASS NUMBER
STATE NUMBER
MODE_HELD NUMBER
CHANGES NUMBER



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


  上一篇: 表异常增大的bug   下一篇: 9i上使用CONNECT BY访问DUAL表的...
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
 相关篇章
·表异常增大的bug
·Oracle10201在Enterprise Linux ...
·ORA-600(ktsircinfo_num1)错误
·函数索引产生隐藏列
·如何确定导致刷新组刷新失败的物...
·使用当前用户的数据库链的实现
·添加字段对SQL的影响
·如何确定导致刷新组刷新失败的物...
·我的oracle笔记,欢迎收看!
·案例解决:一次oracle掉电的处理...
·9i上使用CONNECT BY访问DUAL表的...
·使用SQL判断一个数是否质数
·缺少GROUP BY表达式可以顺利执行...
·临时表产生REDO过多的bug
·ORA-21561错误
·缺少GROUP BY表达式可以顺利执行...
·Oracle11g物理STANDBY应用日志时...
·用SQL计算100以内的质数
·用SQL实现99乘法表
·使用nlsparam的一个例子
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接