客户有一套部署在Window 2008 R2 sp环境下的12.1.0.2 RAC环境,该RAC基于策略管理。因为业务需要,现在需要更换部分设备——踢出两台2路的服务器(节点名称分别为racnode2,racnode3),然后新加两台4路的服务器(节点名称分别为racnode4,racnode6)。

删除节点,按照官方文档上的步骤很顺利地完成。

但在增加节点时,在做增加节点前的一致性检查时,总是通不过,报错如下:

图 1

根据报错信息,在百度上搜索解决办法。大多数网友给出的解决办法是对C:盘符设置共享。Windows 2008出于管理目的,会默认以C$的共享名称共享C:盘符,既然C:已经共享了,莫非是共享的权限出了问题?在对该共享目录设置了everyone拥有读写权限之后,问题仍然没能得到解决。

在找不到解决办法之后,我打算忽略掉这个错误。尝试在racnode1上使用

个,分别是

  • Racnode4不可访问
  • 节点之间不具备对等用户
  • 无法访问所有节点的临时目录

而结合上图1的信息,可知前两个可能的原因都是通过了检查的,那么出错的原因应该是出在第3项上。

在windows中,访问其它节点的目录(临时目录也是目录),肯定是通过共享目录的方式。查看了%TEMP%与%TMP%两个环境变量的值,都指向C:盘上的一个路径。另外,直接使用\\racnode4\c$\temp的方式是可以直接访问到临时目录的,所以,应该也不存在无法访问其它节点临时目录的情况,那导致错误的根因到底是什么呢?

让我们再回到错误信息上,"无法从节点racnode4检索exectask的版本",这句话有一个名词——"exectask"我不知道是什么所在。在百度搜索引擎中输入exectask根本查询不到有价值的信息,它既然有版本属性,很可能是一个工具或应用程序。

与临时目录有关,也与exectask工具或程序有关。我突然想到:会不会这个程序就在临时目录中呢?打开racnode4的临时目录一搜,果然在CVU_12.1.0.2.0_Administrator目录中有一个名称为exectask的可执行程序,试着双击该可执行程序,报错了:

图 2

Racnode4缺少msvcr100.dll,那已经部署了cluster+RAC的racnode1有没有呢?通过查看racnode1的临时目录下的CVU_12.1.0.2.0_Administrator,发现与racnode4相比,多了msvcp100.dll和msvcr100.dll两个动态链接库。

接着,我以msvcr100为搜索内容对racnode1和racnode4的C:盘范围进行了全盘搜索,结果发现racnode1的c:\windows\system32目录下存在msvcr100.dll,而racnode4不存在。抱着试一试的心态,将racnode1节点c:\windows\system32目录下的msvcr100.dll、msvcp100.dll拷贝到racnode4同路径下,再次执行Addnode命令,竟然通过了,如下图:

问题的根因竟然是racnode4节点缺少msvcr100.dll、msvcp100.dll等动态链接库造成的。那么我不禁要问了,相同的操作系统,为什么racnode4上没有这些动态链接库?这些dll文件的主要作用是什么呢?

msvcp、msvcr、vcomp100.dll属于VC++2010版运行库,它在微软的任何原版系统是默认不会安装的,当然被人修改过的系统镜像可能包含该运行库。所以对于原版系统来说,当缺少该类dll时,重装并不能解决问题,需要下载相应的dll或直接安装Visual Studio 2010即可。可能是由于racnode4等节点在安装操作系统时,与racnode1所使用的系统镜像不一样,导致了它在操作系统层面缺失了相关dll。而exectask应用程序又恰好需要用到这些dll,这导致了在执行addnode时的报错。

“无法从节点xx检索exectask的版本” 原因分析的更多相关文章

  1. Win 10安装11g 客户端条件检查失败,INS-30131 无法从节点 "desktop-njm3a7m" 检索 exectask 的版本

    Win 10安装11g 客户端条件检查失败,[INS-30131] 执行安装程序验证所需的初始设置失败.无法从节点 "desktop-njm3a7m" 检索 exectask 的版 ...

  2. ElasticSearch6.x版本聚合分析整理

    ElasticSearch6.x版本聚合分析整理 ES将聚合分析主要分为如下4类 Bucket,分桶类型,类似SQL中的GROUP BY语法 Metric,指标分析类型,如计算最大值 , 最小值,平均 ...

  3. 性能测试——记XX银行保全项目性能问题分析优化

    记XX银行保全项目性能问题分析优化 数据库问题也许是大部分性能问题的关注点,但是JAVA应用与数据库交互的关节,JDBC 就像是我们人体的上半身跟下半身的腰椎,支持上半身,协调下半身运动的重要支撑点. ...

  4. 恒天云单节点部署指南--OpenStack H版本虚拟机单节点部署解决方案

    本帖是openstack单节点在虚拟机上部署的实践.想要玩玩和学习openstack的小伙伴都看过来,尤其是那些部署openstack失败的小伙伴.本帖可以让你先领略一下openstack的魅力.本I ...

  5. VS 提示:请考虑使用 app.config 将程序集“XXX”从版本“XX”重新映射到版本“XX”,以解决冲突并消除警告。

    具体提示如下: 请考虑使用 app.config 将程序集"System.Web.Http.WebHost, Culture=neutral, PublicKeyToken=31bf3856 ...

  6. 图书检索系统C版本

    原创,转载请注明出处! 程序具有一下功能窗口界面1,Input输入(读入文件,所有的文件都读入)2,Output输出(检验是否读取正确,从结构体数组读入)3,Length统计(此文件里有110本图书) ...

  7. pg_config - 检索已安装版本的 PostgreSQL 的信息

    SYNOPSIS pg_config {--bindir | --includedir | --includedir-server | --libdir | --pkglibdir | --confi ...

  8. 打印XX提交的svn版本信息

    打印出匹配uliuchao或--结尾的行 svn log | sed -n '/uliuchao/,/--$/p'

  9. Solr版本问题分析

    在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中,新加入了动态更新schema功能,这个默认的schema.xml确找不到了 ...

随机推荐

  1. 数据库join解释 与视图

    数据库的视图是表运算的结果. 数据库的表是数据单元: join是运算符: 视图是运算结果. 数据库join解释 1.join:将两个表结构连接成一个视图 2.left.right.inner: 从基准 ...

  2. 1.Http讲解

    1.什么是HTTP HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP上. 文本:html,字符串,.... 超文本:图片,音乐,视频,定位,地图... 80端口 HTTPS:安 ...

  3. .NET总结--ASP.NET工作原理

    前言 前前后后写了不少关于某些技术啥的博客,一直在追新求深,而真正使用上的时候才发现了解的太少太少了,从事.net开发三年有余了不是它不行了而是我坚持不住了,如今不得不向生活低头,这个系列作为三年技术 ...

  4. 分类模型的评价指标Fscore

    小书匠深度学习 分类方法常用的评估模型好坏的方法. 0.预设问题 假设我现在有一个二分类任务,是分析100封邮件是否是垃圾邮件,其中不是垃圾邮件有65封,是垃圾邮件有35封.模型最终给邮件的结论只有两 ...

  5. AttributeError: module ‘select’ has no attribute 'epoll’

    场景:mac 下导入的 ‘select’ 包 import select,然后在 主函数 中创建的 epoll 对象 epl = select.epoll(),运行报错如下 Traceback (mo ...

  6. linux 排查cpu负载过高异常

    步骤一.找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序 图示: 如上图,最耗CPU的进程PID为10765 步骤二: ...

  7. Zookeeper请求处理原理分析

    Zookeeper是可以存储数据的,所以我们可以把它理解一个数据库,实际上它的底层原理本身也和数据库是类似的. 一.数据库的原理 我们知道,数据库是用来存储数据的,只是数据可以存储在内存中或磁盘中.而 ...

  8. java基础之 clone

    参考文档:深拷贝&浅拷贝:http://blog.csdn.net/cws1214/article/details/52193341 克隆的分类:  (1)浅克隆(shallow clone) ...

  9. pyqt(day2)

    一.安装python 二.安装pyqt5 pip install pyqt5 三.安装pycharm 四.第一个pyqt程序 import sys from PyQt5.QtWidgets impor ...

  10. js中for..of..的使用和迭代器

    for..of是ES6中引入的新特性,它主要的作用是:循环一个可迭代的对象. 它可以循环遍历,数组.字符串.Set对象等等,先来看两个简单的例子: 遍历字符串 let str = 'Hello' fo ...