Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

2135

积分

502

好友

184

主题
1#
发表于 2011-12-16 19:54:42 | 查看: 9215| 回复: 9
9I有个问题啊             物理上面有个数据文件被删掉了,现在数据库起来后把它offline,现在一直报:


Fri Dec 16 19:41:10 2011
Errors in file /oracle/admin/n7css/bdump/nbss7_smon_42356.trc:
ORA-00376: file 54 cannot be read at this time
ORA-01110: data file 54: '/oradatafile:///C:\Users\MACLEA~1\AppData\Local\Temp\GEI_OKV1~H6{SFXQ0_AC6G2.gifr_tdr_data/ss7_cdr_12.dbf'
SMON: Restarting fast_start parallel rollback
SMON: ignoring slave err,downgrading to serial rollback
ORACLE Instance nbss7 (pid = 6) - Error 376 encountered while recovering transaction (4, 17) on object 123033.

数据库已经启起来了

最关键原来的事务还在里面做恢复操作
现在数据文件没有了


一发现就看到数据库宕掉了
然后startup mount

后面看日志,发现有事务在恢复
alter database datafile 'file_name' offline /offline drop (noarchive)

alter database open
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/zh-hans/emergency-services

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569   
2#
发表于 2011-12-16 19:56:12
Action Plan;
  1. shutdown immediate;
  2. startup mount
  3. alter system set events '10513 trace name context forever, level 2';
  4. alter database datafile  'file_name' offline drop;
  5. alter database open;
复制代码
如有问题上传alert.log 告警日志

回复 只看该作者 道具 举报

3#
发表于 2011-12-16 20:43:05
file:///C:/DOCUME%7E1/ADMINI%7E1.PC-/LOCALS%7E1/Temp/moz-screenshot.png

alert_nbss7.rar

1.92 KB, 下载次数: 1787

设置后的日志

应用查询error.rar

7.85 KB, 下载次数: 1767

设置后应用查询报错

回复 只看该作者 道具 举报

4#
发表于 2011-12-16 20:43:48
故障时间段的数据无法查询,这是什么原因啊?

回复 只看该作者 道具 举报

5#
发表于 2011-12-16 20:46:44

恢复事务日志还是报错

Fri Dec 16 20:48:56 2011
SMON: Restarting fast_start parallel rollback
SMON: ignoring slave err,downgrading to serial rollback
ORACLE Instance nbss7 (pid = 6) - Error 376 encountered while recovering transaction (4, 17) on object 123033.
Fri Dec 16 20:48:56 2011
Errors in file /oracle/admin/n7css/bdump/nbss7_smon_37972.trc:
ORA-00376: file 54 cannot be read at this time
ORA-01110: data file 54: '/oradata/cdr_tdr_data/ss7_cdr_12.dbf'

回复 只看该作者 道具 举报

6#
发表于 2011-12-16 20:47:06
何谓 无法查询?
是查询报错 还是查询hang住

回复 只看该作者 道具 举报

7#
发表于 2011-12-16 20:48:18
是查询报错,附件里面有报错图

回复 只看该作者 道具 举报

8#
发表于 2011-12-16 20:49:24
猜还是在用原来的表,估计得新建个表

回复 只看该作者 道具 举报

9#
发表于 2011-12-16 21:00:35
可以参考

http://www.oracledatabase12g.com ... %20from%20ROWID.htm

http://www.vmcd.org/2011/10/%E4% ... %E6%95%B0%E6%8D%AE/

利用rowid 获取未丢失的数据,以便重建该表

回复 只看该作者 道具 举报

10#
发表于 2011-12-16 21:15:58
查下 见数据文件的时间 和 现在最早在线日志文件(online redo log)的时间 ,因为你没有归档archive log isn't enabled

10g 如果日志在的话 可以create出来的
  1. SQL> select * from v$version;

  2. BANNER
  3. ----------------------------------------------------------------
  4. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
  5. PL/SQL Release 10.2.0.1.0 - Production
  6. CORE    10.2.0.1.0      Production
  7. TNS for Linux: Version 10.2.0.1.0 - Production
  8. NLSRTL Version 10.2.0.1.0 - Production

  9. SQL> create tablespace recreate datafile size 20M;

  10. Tablespace created.

  11. SQL> select name from v$datafile;

  12. NAME
  13. --------------------------------------------------------------------------------
  14. /s01/oradata/G10R21/datafile/o1_mf_system_7ch8004t_.dbf
  15. /s01/oradata/G10R21/datafile/o1_mf_undotbs1_7ch80081_.dbf
  16. /s01/oradata/G10R21/datafile/o1_mf_sysaux_7ch8004x_.dbf
  17. /s01/oradata/G10R21/datafile/o1_mf_users_7ch80085_.dbf
  18. /s01/oradata/G10R21/datafile/o1_mf_example_7ch81ch3_.dbf
  19. /s01/oradata/G10R21/datafile/o1_mf_rec_7gflyjwd_.dbf
  20. /s01/rec_71.dbf
  21. /s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf

  22. 8 rows selected.

  23. SQL> alter database datafile '/s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf' offline;

  24. Database altered.

  25. SQL> ! rm -rf '/s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf'

  26. SQL> ! ls -l '/s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf'
  27. ls: /s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf: No such file or directory



  28. SQL> alter database create datafile '/s01/oradata/G10R21/datafile/o1_mf_recreate_7gr8xljr_.dbf' as '/s01/oradata/G10R21/datafile/recreate_me.dbf';

  29. Database altered.


  30. SQL> recover datafile '/s01/oradata/G10R21/datafile/recreate_me.dbf';
  31. Media recovery complete.

  32. SQL> alter database datafile  '/s01/oradata/G10R21/datafile/recreate_me.dbf' online;

  33. Database altered.
复制代码
在数据文件无备份的 情况下 recover
但是前提是  创建数据文件之前的 日志还在


Last chance:
    Please note if you have lost all copies of a datafile but DO still have
    the ARCHIVE logs from when the file was first created it is still possible
    to recover the file.
    Eg:
        ALTER DATABASE CREATE DATAFILE '....' [as '...']  ;
        RECOVER DATAFILE '....'
        ALTER DATABASE DATAFILE '....' ONLINE;

    If you are in this scenario try to recover the datafile using these
    steps before proceeding below.

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 01:48 , Processed in 0.059714 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569