当前位置: 首页 > news >正文

Oracle数据库的一点

0?wx_fmt=jpeg

   最近帮一些朋友处理了一些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:

  1. alter database create datafile   

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

  3.   alter system set standby_file_management=auto;  

  4. alter database recover managed standby database disconnect from session using current logfile;

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

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

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

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

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

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

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

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

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

个人微信公众号,欢迎扫码关注。

0?wx_fmt=gif

相关文章:

  • Oracle和MySQL DBA的进阶之路
  • 重新构建自动化运维平台的起步工作
  • 关于MySQL极限值的初步验证纠错
  • “这一次母亲不会原谅我”作文《孟婆汤》全文
  • 技术价值公益化的思考
  • 如果理解Python web开发技术
  • 推荐的一些最近在读的文章
  • 《封神榜》童年的回忆
  • 疯狂的十天计划开启(二)
  • 今年计划读完的几本书
  • 从性格色彩认知了解自己
  • 运维平台中的脚本管理
  • 今天的几点感悟(20180327)
  • 让我认识下手机对面的你
  • 推荐几篇最近在读的技术文章
  • docker容器内的网络抓包
  • JavaScript 基础知识 - 入门篇(一)
  • jQuery(一)
  • mysql 数据库四种事务隔离级别
  • node.js
  • Quartz初级教程
  • 多线程 start 和 run 方法到底有什么区别?
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 我的面试准备过程--容器(更新中)
  • 我建了一个叫Hello World的项目
  • 新手搭建网站的主要流程
  • 学习ES6 变量的解构赋值
  • 一、python与pycharm的安装
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (4)事件处理——(7)简单事件(Simple events)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (MATLAB)第五章-矩阵运算
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (剑指Offer)面试题34:丑数
  • (六)c52学习之旅-独立按键
  • (论文阅读30/100)Convolutional Pose Machines
  • (未解决)macOS matplotlib 中文是方框
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)Google的Objective-C编码规范
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core 2.1路线图
  • .Net Core和.Net Standard直观理解
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net8 Blazor 尝鲜
  • .net与java建立WebService再互相调用
  • .Net中wcf服务生成及调用
  • .sys文件乱码_python vscode输出乱码
  • .ui文件相关
  • @ModelAttribute 注解