误操作把一些数据删了,怎么恢复啊。没有备份。

解决方案 »

  1.   

    select * from xxx as of timestamp(sysdate-10/1440)
    查十分钟前的数据,依次类推,把它到出来就可以了
      

  2.   

    所以,delete前一定要备份....:) 另外,如果oracle是运行在achieve log的模式下,可以通过achieve log进行恢复.
      

  3.   

    学习并测试了一下oracle数据库在开启archive log模式下的恢复.系统是win2k server+oracle 8.1.7.参考了chinaunix.net和itpub.com网站相关资料.在此感谢给我的帮助.
    注意,养成一个好的习惯非常重要.在开始恢复之前,以及恢复完成后,都要做一个系统全备份.
    首先,要开启archive log归档日志模式1. 关闭数据库2. 修改initsid.ora文件.这个文件通常在$oracle_home/admin/$oracle_sid目录下或是在$oracle_home/database目录下.log_archive_start = true
    log_archive_dest_1 = "location=f:\oracle\archive"
    log_archive_format = "ora_%s.arc"注意通常windows版和unix/linux版的一些参数写法有差异,请参照各自版本的技术文档.3. 启动数据库到mount状态startup mount这样加载了数据库文件,但是不打开数据库.4. 检查当前的archive log归档日志模式archive log list显示的信息是:database log mode              no archive mode
    automatic archival             disabled
    这时用下面的命令开启数据库的archive log模式alter database archivelog再次用"archive log list"显示信息,应该是:database log mode              archive mode
    automatic archival             enabled再用命令alter database open来打开数据库.上面的工作完了以后,然后,我们可以来进行测试了.