oracle11gR版本GI中新增,Oracle11g新特性MemberKillEscalation简介

5268f80b9b1e01f982625ef6fac83ca1.png

从oracle 11gR1 开始,Member Kill Escalation的出现成功的解决了前面提到的情况。当实例eviction在指定的时间内(默认20秒)不能

首先我们介绍一下历史。在Oracle 9i/10g 中,如果一个数据库实例需要驱逐(evict, alert 文件中会出现ora-29740错误)另一个实例时,需要通过LMON进程在控制文件(以下简称CF)中写入相应信息,当目标实例的LMON进程读取到相应的信息后,该实例shudown。但是,如果目标实例的LMON进程挂起而无法完成CF I/O的话,eviction将无法成功,这种情况有可能导致整个数据库挂起,需要dba手工干预。

所以,,从oracle 11gR1 开始,Member Kill Escalation的出现成功的解决了前面提到的情况。当实例eviction在指定的时间内(默认20秒)不能成功完成时,oracle会在css层面上(因为lmon进程会作为成员注册到css上,相应的内容会在今后的文章中介绍)产生一个新的进程 Kill Daemon(以下简称KD), 终止目标实例的LMON进程以保证eviction 能够成功结束。如果情况更糟,KD进程也无法在指定的时间内(默认30秒)终止LMON进程,css 会把member kill升级为node kill,目标节点的css会重新启动本节点,以确保数据库的一致性。当然,如果您的版本是11.2.0.2或更高,由于新特性Rebootless restart的引入,node kill首先会尝试重新启动GI stack,如果不能够完成,才会重新启动节点。

接下来我们用下面的例子说明Member Kill Escalation是如何工作的。

1.实例2发现实例1的LMS1进程出现问题,并发出member kill request.

实例2 Alert log:

Sat Jul 24 10:37:37 2010

LMS1 (ospid: 22636) has detected no messaging activity from instance 1

LMS1 (ospid: 22636) issues an IMR to resolve the situation

Please check LMS1 trace file for more detail.

Sat Jul 24 10:37:37 2010 <======= 实例2发出reconfiguration请求

Communications reconfiguration: instance_number 1

Sat Jul 24 10:38:25 2010

Evicting instance 1 from cluster

Waiting for instances to leave:

1

Sat Jul 24 10:38:45 2010 <===== 在reconfiguration请求发出20秒之后实例1仍然没有离开集群,实例2发出了member kill的请求。

Remote instance kill is issued with system inc 10

Remote instance kill map (size 1) : 1

Sat Jul 24 10:38:55 2010

Waiting for instances to leave:

1

2. 节点2的ocssd.bin收到member kill请求之后,向节点1的KD发出了请求,要求终止节点1的lmon进程。

节点2 ocssd.log:

2010-07-24 10:38:45.112: [ CSSD][1091119424]clssgmExecuteClientRequest: Member kill request from client (0x2aaab4178470)

2010-07-24 10:38:45.113: [ CSSD][1091119424]clssgmReqMemberKill: Kill requested map 0x00000001 flags 0x2 escalate 0xffffffff <========= member kill escalation还没有发生。

2010-07-24 10:38:45.113: [ CSSD][1281349952]clssgmMbrKillThread: Kill requested map 0x00000001 id 2 Group name DBOR08P flags 0x00000001 start time 0x98117058 end time 0x9811e77c time out 30500 req node 2 <======= member kill 需要在30秒内完成。

如果节点1能够在指定的时间内(30秒)终止本地lmon进程,member kill 就不会被escalation 成为node kill。

3.由于member kill 没有在指定的时间内完成,被escalate 为node kill,即节点1 重启。

节点2 ocssd.log:

2010-07-24 10:39:15.619: [ CSSD][1281349952]clssgmMbrKillThread: Time up: Start time -1743687592 End time -1743657092 Current time -1743657092 timeout 30500

2010-07-24 10:39:15.619: [ CSSD][1281349952]clssgmMbrKillThread: Member kill request complete.

2010-07-24 10:39:15.619: [ CSSD][1281349952]clssgmMbrKillSendEvent: Missing answers or immediate escalation: Req member 1 Req node 2 Number of answers expected 0 Number of answers outstanding 1

2010-07-24 10:39:15.620: [ CSSD][1281349952]clssgmMbrKillEsc: Escalating node 1 Member request 0x00000001 Member success 0x00000000 Member failure 0x00000000 Number left to kill 1

2010-07-24 10:39:15.620: [ CSSD][1281349952]clssnmKillNode: node 1 (ghlx062ptlge) kill initiated <====== 节点1被重启

注意:member kill escalation不仅适用于database 实例,同时也适用于ASM实例。

logo.gif

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle存储使用情况,我收藏的oracle中一些分析空间使用情况的存储过程!

tom写了个好工具show_space,这个工具对于oracle来讲其实就是个存储过程&#xff0c;这个存储过程可以用来分析空间使用情况&#xff0c;有了此工具&#xff0c;就不用再通过写sql语句来看每条记录或表占用表空间的大小了&#xff0c;使用起来很方便。具体使用过程如下&#xff…

linux iso的引导文件,Linux_从硬盘启动Desktop ISO所需的引导文件,一、仅从硬盘启动Destdop ISO 并 - phpStudy...

从硬盘启动Desktop ISO所需的引导文件一、仅从硬盘启动Destdop ISO 并安装1、从后面的链接下载相关引导文件并解压&#xff1b;2、在任意盘的根目录中新建一个文件夹&#xff0c;并重命名(如feisty、edgy等&#xff0c;menu.lst中用fd_dir变量把要找的文件夹传给系统)把下载的桌…

linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?

为什么这么多 Linux 用户更喜欢 CLI 而非 GUI&#xff1f; 上次我在 Reddit 关注该问题时&#xff0c;遇到了一些有帮助的投稿&#xff1a;“处于相同的原因我更喜欢谈论指指点点和七嘴八舌。 可以很好的传达并给出很好的反馈。这不是一团糟&#xff0c;而是富有诗意的精确。 你…

Linux下golang的编译,golang Linux下编译环境搭建

1、下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装&#xff0c;所以先安装1.4)2、解压后我的目录结构是&#xff1a;/opt/xxx/golang|-------gopath //开发工作目录|     |------src       //开发源码|     |------p…

linux数据库怎么import,mysqlimport

mysqlimport命令为mysql数据库服务器提供了一种命令行方式导入数据工具&#xff0c;它从特定格式的文本文件中读取数据插入MySQL数据库表中。常用参数:--columns第一列对应的数据表列名,第二列对应的数据表列名,…定义被导入文件中的每一列对应的数据库表列名--fields-terminat…

linux查看rsync的命令,Linux rsync 命令学习

Rsync命令和cp命令很像&#xff0c;但是功能似乎更加复杂点&#xff0c;主要用来备份数据。看了网上一堆介绍的文章&#xff0c;感觉不是很通俗易懂。下面按照我的理解&#xff0c;做一些笔记&#xff1a;同步方式之前接触过一些同步软件&#xff0c;例如坚果云、百度云盘等等&…

linux远程挽救模式,linux – 如何在远程重启Redhat后进入SSH并进入恢复模式?

我需要进入我的红帽框的恢复模式,该模式在虚拟机上远程运行.我使用RedHat 5 64位企业版.我使用SSH登录到该框.我可以使用restart命令重新启动,但我需要知道我是否能够通过SSH连接它,因为我远程使用它并且无法通过UI登录.真正的问题是,我在根目录上做了一个-R $USER /.我试图将此…

mac os linux 桌面快捷键,Mac之快捷键

接触Mac不久&#xff0c;很多东西都没了解过&#xff0c;对于快捷键完全不熟悉&#xff0c;查了些资料&#xff0c;顺便做下笔记&#xff5e;&#xff5e;&#xff5e;按键符号Shift&#xff1a;⇧Ctrl&#xff1a;⌃Alt(Option)&#xff1a;⌥Command&#xff1a;⌘Mac按键符号…

linux 等待进程,Linux 进程等待队列

Linux内核的等待队列是以双循环链表为基础数据结构&#xff0c;与进程调度机制紧密结合&#xff0c;能够用于实现核心的异步事件通知机制。在这个链表中&#xff0c;有两种数据结构&#xff1a;等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列…

linux 终端 朗读,使Linux终端朗读文字的小技巧分享

对于那些不能文字朗读的设备&#xff0c;有个小工具可以实现文字说话的转换器。用各种语言写一些东西&#xff0c;espeak就可以朗读给你。系统应该默认安装了Espeak&#xff0c;如果你的系统没有安装&#xff0c;你可以使用下列命令来安装&#xff1a;代码如下:# apt-get insta…

linux 进程崩溃 wait,Linux信号机制有关问题

代码如下:#include#include#includevoid waiting(),stop();int wait_mark;main(){int p1,p2,stdout;while((p1fork())-1); /*创建子进程p1*/if (p1>0){wait_mark1;signal(SIGINT,stop); /*接收到^c信号&#xff0c;转stop*/waiting();kill(p1,16); /*向p1发软…

linux启动管理,Linux启动管理 详述

一 系统运行级别如果想查看运行级别&#xff0c;用runlevelinit 运行级别 就可以改变系统运行级别系统默认级别&#xff0c;也就是开机进入哪个级别&#xff0c;在/etc/inittab中二 启动过程首先是BIOS加载MBR&#xff0c;MBR里有个扇区&#xff0c;里面有启动引导程序&#xf…

weblogic 10.3.0.0 for linux下载地址,weblogic10.3下载地址

Oracle WebLogic Server 10.3.1 OEPE - Package Installer 单语言版带OEPEMicrosoft Windows x86: 756 MB http://download-llnw.oracle.com/otn/nt/middleware/11g/wls/oepe11_wls1031.exeLinux x86: 773 MB http://download.oracle.com/otn/linux/…

linux vfs 根节点名称,Linux:文件,目录项,索引节点,超级块,VFS,具体文件系统...

【笔记&#xff1a;http://m.blog.csdn.net/blog/zhouzhou135】在了解文件系统之前&#xff0c;先了解磁盘格式化的知识。所以要理解文件系统的数据结构&#xff0c;要从两个方向来理解&#xff1a;1&#xff1a;磁盘中的数据结构&#xff1a;因为在磁盘格式化的时候&#xff0…

简单的eda实验vga在linux系统中,EDA实验报告-VGA彩条显示.doc

VGA彩条信号显示控制一、实验目的&#xff1a;1. 熟练掌握 Verilog HDL语言和QuartusII 软件的使用&#xff1b;2. 理解状态机的工作原理和设计方法&#xff1b;3. 熟悉 VGA 接口协议规范。4.通过对VGA接口的显示控制设计&#xff0c;理解VGA接口的时序工作原理&#xff0c;掌握…

c语言中陶陶摘苹果while,洛谷 P1478 陶陶摘苹果(升级版) C语言实现

题目描述又是一年秋季时&#xff0c;陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果&#xff0c;这次她有一个a公分的椅子。当他手够不着时&#xff0c;他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是&#xff1a;陶陶之前搬凳子&#xff0c;力气只剩下s了。当然&am…

c语言程序设计报告用于医院食品加工等部,南开(本部)《C语言程序设计》14春在线作业答案...

南开(本部)14春《C语言程序设计》在线作业 , W. v1 o) p. J2 n0 I试卷总分&#xff1a;100 测试时间&#xff1a;--4 v8 D, }8 e! w: D6 Y0 m一、单选题(共40道试题&#xff0c;共80分。)8 U: } j% ^2 T) F( q1.以下对一维整型数组 a 的正确说明是( ) C! f | }# n$ t7 g, z…

c语言中二分法100中找30,c语言中的二分法

\\\题外&#xff1a;对于printf引号中的内容一定要细心书写 ; 数组由a[0]开始计数&#xff0c;切记&#xff1b;尤其是与for循环中i1 搞混运用a[i1]等超前数据时 需先用for(i0;i<n-1;i){scanf("%d",&a[i]);}给数组全部赋值题目&#xff1a;对于方程 8*x^47*x^…

c语言 乘除法优先级,运算符运算符优先级 - C语言教程

运算符优先级运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级&#xff0c;例如&#xff0c;乘除运算符具有比加减运算符更高的优先级。例如 x 7 3 * 2&#xff0c;在这里&#xff0c;x 被赋值为 13&#xff0c;而不…

c语言long double位数,int long double 所占位数 和最大值

// // 32 // 位数 数值// int t1 pow(2, 31); // 4 2147483647// int32_t t2 pow(2, 31); // 4 2147483647// int64_t t3 pow(2, 62); // 8 4611686018427387904// NSInteger t4 pow(2, 32); // 4 2147483647// double t5 pow(2, 64); // 8 18446744073709551616.000000//…