备库跳归档恢复的有趣案例
在Data Guard环境中,主备库基本都是使用归档来传递数据的变化。如果主备的归档传输中断,同时主库的归档被删除或者损坏,这种情况下备库是没法开始继续接收归档,应用新的数据变更了。 看到网友paulyibin的文章中提到了SCN恢复的想法,感觉非常有意思,明白了思路,自己在本地也测...
关于switchover的流程和补充
对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。复杂的事情简单做,简单的事情重复做,重复的事情用心做,想必很多事情都是这个理吧。发现很多事情虽然做了很多遍,但是每次都会有不同的体会,而这些积累下来的经验才让我们的经验更加宝贵。一般来说Oracle的Switc...
dg broker校验失败的一个奇怪问题(二)
对昨天提出的问题做了一个简单的分析和排查,也算是有了一个交代,上一篇文章在 dg broker校验失败的一个奇怪问题 http://blog.itpub.net/23718752/viewspace-2064499/我查看了最近的日志,发现在半个月以前有一行日志引起了我的注意。Thu Mar 03 17:32:12 2016ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE...
dg broker校验失败的一个奇怪问题
前几天碰到一个看起来有些奇怪的例子,今天抽空把分析过程整理了一下。有一主一备的一套测试环境,之前环境在我手里,交给另外一个同事之后,重新搭建了dataguard,我检查了一圈,发现都没有问题,然后过了一个星期的样子,无意中再次查看的时候,发现这个备库竟然在dg broker中的状态是disable,当然我也不能看到这个现象...
11g Dataguard中的snapshot standby特性
11g中的ADG特性本身已经非常有特色,促使很多对于10g中不太灵便的备库升级到11g,对于DBA是一大福利,那么还有一个福利就是snapshot standby了。在平时的数据更新操作中,DBA可以做好sql审核,如果对于复杂的,繁多的变更,如果有些变更有一定的依赖,数据变化情况比较大,评估有难度,很多问题单纯在测试环境还发现不了,...
一条简单的报警信息发现的oracle bug
系统中有这样一条报警信息,看似比较简单,但是引起了我的注意,主要原因是因为这是一个10gR2的备库,备库如果出现这样的问题,看起来似乎是在归档删除上存在一些问题。[DB监控系统]_ora_test_s2_yangjr@10.127.2.133_报警ZABBIX-监控系统: ------------------------------------报警内容: Free disk space is less tha...
dataguard环境中的密码维护
这篇文章的动力来自于一个朋友的提问,他问我备库的密码文件直接重建可以吗,我说最好还是复制,如果重建可能会有一些潜在的问题,当然这个所谓潜在问题也是自己给自己打的马虎眼,到底哪里有问题,脑海里搜索了一番似乎没有找到什么有效的信息,但是隐隐之中感觉搭建dataguard好像还从来没有直接重建密码文件的时候,似乎...
备库批量查询失败的原因分析
目前线上有一套环境是10gR2的,采用了一主两备的架构。在其中一个备库上每天凌晨会开放一个窗口运行一些批量的查询,目前使用dg broker会在指定的时间把备库置为read-only,查询完毕之后修改为online状态。但是近几天开发的同事突然找到我说,最近几天开始批量查询会频频报错,希望我帮忙查看一下。语句运行报错,听起来...
dataguard备库的数据文件的迁移实战
在前几天也花了一点时间测试了一下关于备库数据文件的迁移,这部分的工作看起来还是比较常规的,当然方法也很多。但是在实际工作中就更不能掉以轻心,所有的操作都要有理有据。都要经过一些严格的测试,如果测试不当,很可能在后期就会出现一些看似奇怪的问题,造成一些不必要的麻烦和影响。所以在开始之前,做了下面的准...
dataguard备库的数据文件的迁移
关于移动数据库文件,之前写了一篇博文,http://blog.itpub.net/23718752/viewspace-1127910/但是在备库中还是有一些的差别。最近因为对备库做了一些规划,新增加了几个分区,想把数据库的一部分文件放到SSD上。所以这个时候在现有的备库基础上需要移动备库的数据库文件。这里就不局限于数据文件了,不过目前的测试情况来...
dataguard中需要注意的一些数据文件操作
因为最近需要做一个测试,就顺手搭建了一套简单的dg环境。不过碰到了一些小问题。数据库环境是11gR2,当然备库是开在open状态,配置了dg broker,一切都很快完成了。备库状态为"READ ONLY WITH APPLY"当然这是期望之中ADG的状态。然后在主库需要做一些配置,准备创建几个表空间先创建了一个表空间 create tablespac...
dataguard归档路径的问题
最近处理了一起看似比较奇怪的dataguard归档路径问题。问题的背景是这样的。有一套一主两备的环境,备库1和主库在同一个机房,可以尝试在failover的时候切换备库IP为主库IP。另外还有一台服务器是作为异地灾备。最近有一台服务器出现了宕机,然后做了灾难切换,类似下面的情况。当然,灾备的重要性在某一天触发。然后...
通过shell脚本批量验证dataguard的有效性
我们假设一个场景,当你接触到一个新的环境,我们需要了解这个数据库是否为RAC,是否有备库。如果有备库,那么问题来了,如果想去验证备库的状态是否有效,是否及时应用了数据变更。怎么查看呢。常规的思路是我们登录到主库使用dg broker,如果得到dg broker验证的状态为SUCCESS,在11g中我们认为备库的状态是ONLINE就是达...
容灾半自动化的实现思路(二)
容灾的半自动化的部分,自己写了下面的脚本,也算是一个基本实现,因为时间仓促,还是存在一些不足,稍后完善整个切换的步骤分为三部分,第一部分是备份当前备库的配置文件,第二部分是使用dg broker决定是failover还是switchover 第三部分是切换之后开始替换参数文件。所以需要的脚本为dg_pre.sh dg_post.shdg_pr...
容灾半自动化的实现思路(一)
最近也在对容灾的切换做一些改进。目前碰到的问题有1.灾难切换后备库的内核参数设置不到位,导致切换后又潜在的性能问题2.灾难切换后在同机房,网络相关的情况下,需要切换备库的IP为主库,但是跨机房,跨IDC可能不行,可以修改IP的情况下,对应用基本是透明,但是如果修改IP就需要应用修改配置。3.灾难切换之后防火墙...
主备切换的准备工作(二)
之前也强调过元数据的重要性,而且强调过备库需要考虑的很多方面,如果考虑不周到,其实我们的备库还没有做好切换的准备,而且最近也连连处理了多起问题,发现灾备中还是有很多的思考的东西,所谓实践出真知,这些地方不注意,只能保证数据不丢失,对于业务连接,应用响应和影响范围来说都是不可估量的。很多次的灾备切换...
主备切换的准备工作
对于dataguard说,switchover,failover是一种互补可选的容灾解决方案。但是对于这种容灾思路还是存在着一些实践中的细节需要,从数据层面而言,只能是最大程度保证了数据的不丢失,但是数据切换过去了,权限,配置这些信息还是需要考虑的,如果切换过程很快,收尾的补充工作很慢,那么总体来看切换的时间就被拉长了。在提...
你的备库做好准备了吗
这篇文章计划了一段时间,本来想写篇心情文字,还是留到周末再放飞心情吧。今天的内容是关于数据库的备库的思考,当然我们可以自己问自己,我们的备库准备工作做好了吗?扪心自问,其实有些工作我也没有准备好,这是我的建议,其实一个备库的思考点还是有很多值得考量和斟酌的地方。自己也需要后续完善备库总是在容...
11g备库中碰到自己给自己埋的坑
记得之前在一半技术一半生活中分享过一个设计,因为业务的需求,为了提高业务的处理效率,采用了根据业务的拆库拆表的方式,类似下面的图示。开发团队也很给力,帮我们协调了好的机器,加了内存,也在新业务2的环境上同步了表结构,抽取了部分数据,然后业务2就开始了紧张的测试,通过这几天的测试,发现系统的性能逐步...
11g备库无法开启ADG的原因分析
今天碰到一个有些奇怪的问题,但是奇怪的现象背后都是有本质的因果。下午在做一个环境的检查时,发现备库是在mount阶段,这可是一个11gR2的库,没有ADG实在是太浪费了,对于这种情况感觉太不应该了。所以尝试启动至open阶段,发现状态一直是read only,在ADG中应该是READ ONLY WITH APPLY才对啊。使用dg broker设置为READ...