Chinaunix首页 | 论坛 | 博客
  • 博客访问: 52415
  • 博文数量: 25
  • 博客积分: 2015
  • 博客等级: 大尉
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-16 17:34
文章分类
文章存档

2008年(25)

我的朋友

分类: Oracle

2008-03-12 11:52:03

 
oracleORA-01578 的错误
 
alert log 里面出现如下错误
Errors in file /db/system/emadb/oradata/emadb/admin/bdump/emadb_smon_382.trc:
                                ORA-01578: ORACLE data block corrupted (file # 3, block # 2445)
                                ORA-01110: data file 3: '/db/system/emadb/oradata/emadb/sysdata/sysaux01.dbf'


然后查了一下datablock出错的地方

SQL> Select * from dba_extents  where file_id=3 and 2445 between block_id and block_id+blocks-1;

OWNER
-----------------------------
SEGMENT_NAME
--------------------------------------------------------------------------------
PARTITION_NAME                 SEGMENT_TYPE       TABLESPACE_NAME
------------------------------ ------------------ ------------------------------
EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
---------- ---------- ---------- ---------- ---------- ------------
SYS
WRH$_ENQUEUE_STAT
                               TABLE              SYSAUX
         0          3       2445     131072          8            3

解决办法
 
这个object属于AWR objects,可以考虑Drop and recreate the AWR objects。
1. sql>show parameter statistics_level
    sql>alter system set statistics_level = basic scope=both;
    shutdown immediate,做数据库冷备份,以便于recover失败恢复原样

2. startup restrict
    cd $ORACLE_HOME/rdbms/admin
    sqlplus "/as sysdba"
    sql>@catnoawr
    shutdown immediate
    startup restrict
     sql>@catsvrm
     sql>@utlrp
     shutdown immediate
     startup

3. alter system set statistics_level = 原来设置的值 scope=both;
阅读(797) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~