ORACLE DATAGURARD 折腾记二
前文再续,书接上一回,这次折腾Data Guard的一个重要目的是利用switchover实现机器的升级,怎么switchover呢?按照我的理解,Data Guard的角色切换是这样一个过程:
(1)让primary节点变为standby节点。
(2)让其中一个standby节点变为primary节点
这里比较有意思是“其中一个”,也就是说节点A原来是primary转成standby后,突然我后悔了,还是可以马上让他变回primary节点的,具体看操作:
此时 test02 是primary 节点,test03是standby节点,由于test03缺少一个参数,一点test03变为primary,归档不会自动发到test02,于是第一步要补全这个参数:
1
2
|
##### test03 target priamry, standby now ##### alter system set log_archive_dest_2= 'service=mydb_test02' ; |
让test02由primary变为standby:
1
2
|
##### test02, target standby, primary now ##### alter database commit to switchover to physical standby ; |
以上语句有可能会遇到如下错误:
1
2
3
4
|
alter database commit to switchover to physical standby * ERROR at line 1: ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected |
这是由于一些连接还没有释放所致的,将前端应用关闭后如果还出现这种情况,可以用以下语句确认一下有哪些连接:
1
2
3
4
|
##### test02, target standby, primary now ##### SELECT SID, PROCESS, PROGRAM FROM V$SESSION WHERE TYPE = 'USER' AND SID <> (SELECT DISTINCT SID FROM V$MYSTAT); |
如果是Oracle内部进程的连接就不用管他了,执行如下语句就可以了:
1
2
3
4
|
##### test02, target standby, priamry now ##### alter database commit to switchover to physical standby with session shutdown |
将test03也就是原来是standby的节点转为primary:
1
2
3
|
##### test03, target primary, standby now ##### alter database commit to switchover to primary; ##### test03, target primary, primary now ##### |
打开primary节点的数据库,使其可对外服务:
1
2
3
|
##### test03, target primary, primary now ##### shutdown immediate; startup; |
启动standby的归档恢复进程:
1
2
|
##### test02, target standby, standby now ##### alter database recover managed standby database disconnect from session; |
此时已经完成了Data Guard 主备切换了,可以监控住standby的alert文件,在primay中做一次日志切换,看看是否有归档日志传送过来并且恢复。
如果监控时间比较长的(超过5分钟)会看到如下错误:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
##### primary alert ##### Fri Dec 17 14:04:46 2010 Redo Shipping Client Connected as PUBLIC -- Connected User is Valid RFS[10]: Assigned to RFS process 12079 RFS[10]: Database mount ID mismatch [0x9e217391:0x9e217bca] RFS[10]: Client instance is standby database instead of primary RFS[10]: Not using real application clusters Fri Dec 17 14:04:46 2010 Errors in file /u01/app/admin/mydb/udump/mydb_rfs_12079 .trc: ORA-16009: remote archive log destination must be a STANDBY database ##### standby alert ##### Fri Dec 17 14:04:54 2010 Errors in file /u01/app/admin/mydb/bdump/mydb_arc1_6821 .trc: ORA-16009: remote archive log destination must be a STANDBY database Fri Dec 17 14:04:54 2010 PING[ARC1]: Heartbeat failed to connect to standby 'mydb_test02' . Error is 16009. |
虽然不影响 Data Guard 的功能和使用,但如何解决呢?其实这是归档进程ARCHn进程在作怪,想办法屏蔽就可以,一个比较土的方法就是将备节点的log_archive_dest_2设为空,也就是回到上一篇中提到那种配置上,另外一种聪明点的做法就是引入valid_for参数:
1
2
3
4
5
|
##### test02 ##### alter system set log_archive_dest_2= 'service=mydb_test03 valid_for=(online_logfiles,primary_role)' ; ##### test03 ##### alter system set log_archive_dest_2= 'service=mydb_test02 valid_for=(online_logfiles,primary_role)' ; |
alert文件中再也看不到这两个错误了。
ORACLE DATAGURARD 折腾记二的更多相关文章
- FreeBSD jail 折腾记(二)
FreeBSD jail 折腾记(二) 创建jail目录 创建4个 分别是模板 骨架 数据 项目 创建模板目录 mkdir -p /jail/j1 # 然后放入基本目录,上篇说过不再写 创建骨架目录 ...
- 斐讯N1折腾记
斐讯N1折腾记:运行 Linux 及优化 2018-06-23 37条评论 4,445次阅读 11人点赞 最后更新时间:2019年03月10日 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了 ...
- Atom编辑器折腾记
http://blog.csdn.net/bomess/article/category/3202419/2 Atom编辑器折腾记_(1)介绍下载安装 Atom编辑器折腾记_(2)基础了解使用 Ato ...
- 【转载】有图 KVM折腾记..
KVM折腾记...https://lengjibo.github.io/KVM%E6%8A%98%E8%85%BE%E8%AE%B0/ Veröffentlicht am 2018-09-20 | ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例
centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例 一.监听配置(命令:netca) 1.以 oracle 用户输入命令,启动图形化工具配置监听 [oracle@lo ...
- BeagleBone折腾记(一):连接你的狗板
BeagleBone折腾记一连接你的狗板 准备 了解BeagleBone BeagleBone社区 所需软硬件 USB连接 TTL连接 结语 准备 了解BeagleBone BeagleBone可能一 ...
- Vue折腾记 - (3)写一个不大靠谱的typeahead组件
Vue折腾记 - (3)写一个不大靠谱的typeahead组件 2017年07月20日 15:17:05 阅读数:691 前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的ty ...
- [独孤九剑]Oracle知识点梳理(二)数据库的连接
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
随机推荐
- PHP核心代码库中的APC缓存说明123
1.APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”.它为我们提供了缓存和优化PHP的中间代码的框架. APC的缓存分两部分:系统缓存和用户数据缓存 ...
- 微信支付配置信息,JSAPI接口,H5调用微信js接口支付,微信公众号支付
微信支付已经做完了,没接触过微信的我,经历了非常艰难的3天,才把微信支付给做出来,对于专业的人来说,估计就是一小时就搞定的事情了,虽然说做了很长时间,但是确实也学到东西了,也收获了不少,下面跟大家分享 ...
- 预告:准备开个坑,集中学习一下esp32模块
对这个模块有兴趣的可以关注我以后的更新,寒假会抽空写几篇心得.
- bnuoj 29368 Check the Identity(栈)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=29368 [题解]:模拟,然后对x,进行枚举,看是否所有都满足条件 [code]: #include ...
- java8 新特性
[转载]:http://www.importnew.com/11908.html 本文由 ImportNew - 刘 家财 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 编 ...
- HTTP幂等性
http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html 理解HTTP幂等性 基于HTTP协议的Web API是时下最为 ...
- 开扒本地存储—localStorage
.localStorage是什么狂点查看demo localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期 的. 2.localStorage有哪些优点 1). 存储空间 ...
- asp.net中js和jquery调用ashx的不同方法分享
代码如下: var xhr = new XMLHttpRequest(); xhr.open("get", 'Controls/gengCart.ashx?C ...
- tomcat启动报错:Unsupported major.minor version 51.0
myeclipse中添加项目后,发现项目启动时报错:Unsupported major.minor version 51.0 因为tomcat使用的jdk版本不支持你项目的jdk版本,需要你在myec ...
- PAT-乙级-1008. 数组元素循环右移问题 (20)
1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一个数组A中存有N(N>0)个整数,在不允 ...