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 2010Redo Shipping Client Connected as PUBLIC-- Connected User is ValidRFS[10]: Assigned to RFS process 12079RFS[10]: Database mount ID mismatch [0x9e217391:0x9e217bca]RFS[10]: Client instance is standby database instead of primaryRFS[10]: Not using real application clustersFri Dec 17 14:04:46 2010Errors 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 2010Errors in file /u01/app/admin/mydb/bdump/mydb_arc1_6821.trc:ORA-16009: remote archive log destination must be a STANDBY databaseFri Dec 17 14:04:54 2010PING[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 ...
随机推荐
- Mysql 如何删除数据表中的重复数据!
1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp ...
- 【BZOJ 1067】 [SCOI2007]降雨量
Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2 ...
- Schtasks 命令详解
管理计划任务 SCHTASKS /parameter [arguments] 描述: 允许管理员创建.删除.查询.更改.运行和中止本地或远程系统上的计划任务. 参数列表: /Creat ...
- 记一次apt-get无法安装git的问题
解决apt-get安装过程中出现的Size mismatch和Hash Sum mismatch问题. 事情起因 我从单位复制了一个Virtualbox虚拟机(ubuntu 15.04 Desktop ...
- PE 文件
一.PE文件基本结构 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 二.Section 详解 一个PE文 ...
- 眼见为实(1):C++基本概念在编译器中的实现
眼见为实(1):C++基本概念在编译器中的实现 对于C++对象模型,相信很多程序员都耳熟能详. 本文试图通过一个简单的例子演示一些C++基本概念在编译器中的实现,以期达到眼见为实的效果. 本文的演示程 ...
- hdu 2509 Be the Winner 博弈论
博弈论水题!!! 代码如下: #include<stdio.h> #include<iostream> using namespace std; int main(){ int ...
- java jdbc dbcp连接SQL Server
使用到的jar: commons-collections-3.1.jar commons-dbcp-1.4.jar commons-pool-1.5.6.jar sqljdbc4.jar dbcp配置 ...
- WebLoigc的配置(生产模式与开发模式)
1.Weblogic两种模式的切换1).生产模式--->开发模式将domain路径下的bin\setDomainEnv.cmd文件中set PRODUCTION_MODE=true改为set P ...
- ThinkPHP下隐藏index.php以及URL伪静态
第一种方法: 设置url的重写模式(默认模式是1) 'URL_MODEL' => 2, // URL访问模式,可选参数0.1.2.3,代表以下四种模式: 第二种方法: 使用Apache来进行设 ...