各位:oracle报错:在sys用户下授权时报错ORA -00604
ORA -02289
如何解决啊?是否需要重装数据库啊

解决方案 »

  1.   

    ORA-02289:对应的是:序列(号)不存在,,估计你做什么操作了,是否用到序列了;ORA -00604:多数是回滚段中坏块造成的,你可以试试下面的办法1、将数据关闭 
    >     svrmgrl >Shutdown abort 
    >   
    >  2、修改初始化参数文件 
    >     $ vi  $Oracle_HOME/dbs/init< sid >.ora 
    >     添加以下参数 
    >      rollback_segments=(system) 
    >     _corrupted_rollback_segments=(r01,r02,r03,r04) 
    >     _allow_resetlogs_corruption=ture  
    >   
    >  3、重新装载数据库 
    >  svrmgrl >Startup mount 
    >  
    >  4、从数据库的控制文件中将回滚段表空间rbs的数据文件离线并去掉。  
    >  
    >    svrmgrl >alter database datafile 
    >   ‘##/##/rbs01.dbf’ offline drop; 
    >    ---- 对数据库进行恢复。 
    >    svrmgrl >recover database using backup controlfile; 
    >    ---- 此时屏幕上可能会出现:  
    >  
    >    ORA_00280 Change #### for thread# is in sequence# 
    >    specify log:[< RET > for suggestedAUTOfrom logsourcecancel] 
    >    输入 cancel(不要输入其他命令) 
    >  
    >    svrmgrl >alter database open resetlogs; 
    >   
    >  5、 重建新的回滚段  
    >  
    >    ---- 将旧回滚段及回滚表空间删除。  
    >    svrmgrl >alter rollback_segment r01 offline drop; 
    >    svrmgrl >alter rollback_segment r02 offline drop; 
    >    svrmgrl >alter rollback_segment r03 offline drop; 
    >    svrmgrl >alter rollback_segment r04 offline drop; 
    >    svrmgrl >drop tablespace rbs including contents; 
    >    ---- 重建新的回滚表空间及回滚段。  
    >  svrmgrl >connect internal 
    >  svrmgrl >create rollback segment ro tablespace system; 
    >  svrmgrl >alter rollback segment ro online; 
    >  svrmgrl >create tablespace rbs datafile  
    > ‘##/##/rbs01.dbf’ size ##k; 
    >  svrmgrl >create rollback segment r01 tablespace rbs; 
    >  svrmgrl >create rollback segment r02 tablespace rbs; 
    >  svrmgrl >create rollback segment r03 tablespace rbs; 
    >  svrmgrl >create rollback segment r04 tablespace rbs; 
    >  svrmgrl >alter rollback segment r01 online; 
    >  svrmgrl >alter rollback segment r02 online; 
    >  svrmgrl >alter rollback segment r03 online; 
    >  svrmgrl >alter rollback segment r04 online; 
    >  
    >  
    >  svrmgrl >Shutdown abort 
    >  $  vi  $ORACLE_HOME/dbs/init< sid >.ora 
    >     rollback_segments=(r01,r02,r03,r04) 
    >     将参数_corrupted_rollback_segment 
    >           _allow_resetlogs_corruption=true去掉 
    >  svrmgrl >Startup normal 
      

  2.   

    你的seqence对象不存在SYS@comm AS SYSDBA> ! oerr ORA 00604                                                                                                                                                
    00604, 00000, "error occurred at recursive SQL level %s"
    // *Cause:  An error occurred while processing a recursive SQL statement
    //         (a statement applying to internal dictionary tables).
    // *Action: If the situation described in the next error on the stack
    //         can be corrected, do so; otherwise contact Oracle Support.SYS@comm AS SYSDBA> ! oerr ORA 02289                                                                                                                                                
    02289, 00000, "sequence does not exist"
    // *Cause: The specified sequence does not exist, or the user does
    //         not have the required privilege to perform this operation.
    // *Action: Make sure the sequence name is correct, and that you have
    //          the right to perform the desired operation on this sequence.
      

  3.   

    具体是什么对象不存在, 如果提示不明确可以使用sql trace来跟踪.  来发现是什么语句执行的时候发现什么对象不存在。 多多交流
    Q:30182689