近期处理的Oracle数据库问题总结

简介: 最近帮一些朋友处理了一些Oracle的问题,也从中发现了一些潜在的问题,索性总结出来作为借鉴。为了保证信息的敏感,里面的问题描述可能和真实情况不符,但是问题的处理方式是真实的。

img_79d5d69e47f244b4d48beafb92a95a52.jpe

最近帮一些朋友处理了一些Oracle的问题,也从中发现了一些潜在的问题,索性总结出来作为借鉴。为了保证信息的敏感,里面的问题描述可能和真实情况不符,但是问题的处理方式是真实的。

问题1:Oracle备库无法启动

问题2:Oracle备库无法同步

问题3:主库添加数据文件后,备库MRP退出。

问题4:备库数据无法同步

问题1:Oracle备库无法启动

有一个数据库备库无法启动,这个问题听起来蛮有意思,这是一个套11g的数据库,其实可以先把备库置为read only,然后开启日志应用,等状态变为read only with apply之后,就可以了,但是真实的情况还是有一些特别之处。我查看环境里的配置,发现主从复制关系竟然都没有了,但是尽管复制关系没有了,要把数据库置为只读还是可行的,结果尝试了一圈都不行,最后发现是这位同学把system表空间的文件给调换了。

问题2:备库无法同步数据

这个问题在我随后去跟进的时候,发现问题比之前有了很大的改观,备库可以正常启动了,但是现在的问题是主从数据的复制依旧失败,从归档参数可以看到复制关系是存在的,网络配置也没问题,面对这样一个看起来有些奇怪的问题,我的处理思路就很直接,肯定是哪里有一些我们忽略的细节,怎么能够快速定位问题,排查问题呢,DG Broker就是一款神器,主备库几乎不需要做什么额外的配置,就可以很轻松的创建配置,结果不到10分钟,配置的时候,发现问题的原因就是备库的db_unique_name和主库是一样的,修改之后,问题马上迎刃而解。所以问题原因都很简单,但是能够很快从中找到这个原因,有一些技巧就会事半功倍。

问题3:主库添加数据文件后,备库MRP退出。

第3个问题比较特别,是因为主库的表空间不足,导致数据写入阻塞,扩容了表空间之后,发现问题就来了,备库的MRP竟然异常退出,关于数据文件导致的MRP异常退出,印象中比较深是在10.2.0.4里面,add datafile之后drop datafile会导致MRP异常,确切的说,这是一个bug,但是这里碰到的问题是在11g里,只是添加了数据文件而已。

错误大概是这样:

/opt/oradata/u01/app/oracle/diag/rdbms/xxxxx_dg/xxxx/trace/xxxx_dbw0_9328.trc:

ORA-01186: file 6 failed verification tests

ORA-01157: cannot identify/lock data file 6 - see DBWR trace file

ORA-01111: name for data file 6 is unknown - rename to correct file

ORA-01110: data file 6: '/U01/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00006'

这个6号数据文件就是新增的,简单分析之后,就会发现又是一个坑,主要还是参数standby_file_management是manual导致,可以修改下这个文件的路径,然后开启文件管理为auto即可。最后开启日志应用。

  1. alterdatabasecreatedatafile

  2. '/U01/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00006'as'xxxxxx';

  3. altersystem setstandby_file_management=auto;

  4. alterdatabaserecover managed standby databasedisconnect fromsession using currentlogfile;

问题4:备库数据无法同步。

这个问题和问题2是一样的效果,但是问题的原因却有很大的差别。这个问题的愿意就在于闪回去的设置,即归档文件无法正常创建,不是系统层面的空间不足,而是闪回区的大小不足。

所以问题的原因和现象可以归纳为四点建议:

  1. 备库的搭建和同步关系维护建议使用DG Broker,他们的差别就跟自动挡和手动挡差不多,能自动挡干嘛非要手动挡。

  2. 备库的文件路径建议保持一致,建议standby_file_management为auto

  3. 尽可能设置主备库的闪回区为一个较大的值范围,保证数据的写入不会因为逻辑限制而阻塞。

  4. 全方位,细粒度的检查,把问题解决在初始阶段。

单纯说上面的问题,其实不难,但是真实的环境,真实的问题,和你知道结果分析原因是两回事。更何况,把别人的问题当做自己的问题一样来对待,别人也会认真对待你。

原则上,百度谷歌没有答案的问题,可以邮件(jeanrock@126.com)沟通,有些问题可能没有答案或者因为时间,会有延误,敬请谅解,欢迎技术交流。

img_a65e02317d3a9239759faa83028242ec.gif

目录
相关文章
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
193 64
|
13天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
52 11
|
26天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
19天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
49 7
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
31 6
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
29 5
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
2月前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
39 1

推荐镜像

更多