近期处理的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

目录
相关文章
|
28天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
152 64
|
18天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
26 7
|
18天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
22 6
|
18天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
17 5
|
25天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
27天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
26 1
|
1月前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
52 3
|
2月前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
386 2
|
1月前
|
存储 Oracle 关系型数据库
【数据库-Oracle】《Oracle 数据库探秘:基础知识点全攻略》
《Oracle 数据库探秘:基础知识点全攻略》深入介绍 Oracle 数据库的基础知识点,包括数据类型、表结构、查询语句等。通过详细讲解、代码示例和流程图,帮助读者快速掌握 Oracle 数据库的基本操作,为数据库开发和管理打下坚实基础。
37 0
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,

推荐镜像

更多