ora-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3502802
  • 博文数量: 718
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7790
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(718)

文章存档

2024年(4)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2022-11-01 06:30:08

1

  1. 问题复现
  2. col force_logging for a15
  3. select force_logging,log_mode from v$database;
  4.  no archivelog

  5. set lines 100
  6. col name for a40
  7. select name, unrecoverable_change#,unrecoverable_time from v$datafile;
  8. select file#,block#,nonlogged_start_change# from v$nonlogged_block;

  9. 先备份数据库
  10. rman target /
  11. validate database;
  12. report unrecoverable;
  13. 目前为止没有任何异常,为了通过recover 复现问题,先备份全库
  14. backup database format '/arch/db_%u';

  15. --drop user a cascade;
  16. create user a identified by a;
  17. grant connect,resource,select_catalog_role to a;
  18. alter user a quota unlimited on users;
  19. conn a/a

  20. create table t1 nologging as select * from dba_users;

  21. col table_name for a30
  22. select table_name,logging from user_tables where logging='no';
  23. 创建的nologging表已经能看到

  24. set lines 100
  25. col name for a40
  26. select name, unrecoverable_change#,unrecoverable_time from v$datafile;
  27. 查询v$datafile有不为0的,但是查询表本身数据没事
  28. select count(0) from a.t1;

  29. 检查当前没有坏块
  30. rman target /
  31. report unrecoverable;
  32. 提示有不可修复的了

  33. validate database;
  34. 这时还是看不到异常,需要recover后才能看到问题

  35. select file#,block#,nonlogged_start_change# from v$nonlogged_block;
  36. 无异常,v$nonlogged_block应该是只有recover database后,再validate database,如果发现无法修复的块才有数据

  37. 整体来说,数据查询没影响,但是能看到数据库内部已经能察觉到问题了,report unrecoverable和 v$datafile的unrecoverable_change#
  38. 即使此时删除用户a,v$datafile仍然有异常信息(unrecoverable_change#不为空)

  39. rman target /
  40. shutdown immediate
  41. startup mount
  42. restore database;
  43. recover database;
  44. alter database open;

  45. select file#,block#,nonlogged_start_change# from v$nonlogged_block;
  46. 有数据了!


  47. 结论:
  48. nologging 的表不恢复数据库,v$nonlogged_block中看不出来

  49. nologging 检测方法:

  50. col owner for a32
  51. col table_name for a30
  52. select owner,table_name,logging from dba_tables where logging='no' and owner not in ('sys','system','dbsnmp','gsmadmin_internal','mdsys','dvsys','wmsys','orddata','xdb') order by 1,2;

  53. set lines 100
  54. col name for a40
  55. select name, unrecoverable_change#,unrecoverable_time from v$datafile;

  56. rman target /
  57. report unrecoverable;

  58. 解决方法:
  59. 备份相关文件

  60. 参考:
  61. ora-1578 ora-26040 - nologging 操作引起的坏块 - 错误解释和凯发app官方网站的解决方案 (doc id 1623284.1)

阅读(496) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图