大家好:
    杯具了,不小心将sys用户从sys.user$表中删除了,这样直接导致sys用户所属的表和视图都消失(自然也包括sys.user$了)。于是想办法补救,网上对于恢复数据多数提供的办法是flashback,可以把表数据回复到指定时间。
    于是我尝试在dos下执行alter table sys.user$ enable row movement;说是执行flashback前执行此句后面就可执行FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('2008-04-17 13:30:00', 'YYYY-MM-DD HH24:MI:SS');但是报错:ORA-00701: 无法改变热启动数据库所需的对象。(我想应该是sys.user$现在都不存在了的原因)
    无奈,只好又想到了直接还原看看(我之前对数据库做了备份),但是貌似用户表不属于还原的范围内,反而又报错。我现在就是想把sys用户恢复并且具有以前的权限(即属于它的表和视图都还原)。请问应该怎么操作呢?是不是flashback可以实现只是我操作的不当,还是,,,
    望指教,谢啦!

解决方案 »

  1.   

     SYS都被你kill掉了,你真牛啊,估计你只有重装了,
      

  2.   

    不是吧,sys就不能比我更牛点么,或者哪位大虾可以比我更牛点
      

  3.   

    http://topic.csdn.net/u/20080430/15/6373ed71-0d3e-41d3-a825-8497b7f827e1.html
      

  4.   

    哎,,我用system连接查询dba_users表中没有sys,但是我建个用户起名叫sys它就报:ORA-01920: 用户名 'SYS' 与另外一个用户名或角色名发生冲突。这到底是咋回事呢,sys到底是在哪能看到呢?求解,千万别笑我啊,知道我犯了个愚蠢的错误
      

  5.   

    不知道怎么说你 把sys删除掉  应该删不掉的 去查查日志 看看能不能时间点还原
      

  6.   

    闪回应该是没有问题
    恢复也可以,
    直接创建sys的话也是可以的,问题你需要恢复的一些角色和权限,估计还是要用到恢复或闪回
      

  7.   

    如果不能flashback,那估计就是只能重装了
      

  8.   

    sys下的表删除是不进recyclebin的,闪回不了.
    第一次见这种事情..
      

  9.   

    如果是在归档日志模式下,并且有RMAN备份,可以试试使用另外一个DBA身份的用户,使用基于时间点或SCN的RMAN恢复SYS用户!
      

  10.   

    确实是杯具你删除了SYS用户后,oracle没崩溃吗?你开归档了吗
      

  11.   

     as of timestamp to_timestamp('2010-11-29 14:37:25','YYYY-MM-DD HH24:MI:SS')
      

  12.   

    怎么最近老是在CSDN上看到有人把SYS干掉了啊,我一直以为这个用户干不掉呢,好久没来,现在大牛真多。
      

  13.   

    又长见识了,原来SYS也可以被干掉的