背景:

以前做的的一个项目中使用了某国产双机热备产品,但是在数据库做双机热备时出现了一些问题,没办法。不得不研究一番了!经过两天的研究终于问题得以解决。将问题处理步骤记录下来以备后用,也希望能帮助到需要的人。

首先介绍下我们的环境:

两台服务器

一个存储

两个双机热备软件

一、双击热备工作流程

在两台服务器上分别安装一个双机热备软件,并且两台服务器都挂载了存储,双机热备软件一直在监测两台服务器上配置的服务项是否正常,当监测到某台服务器上双机软件中配置的服务启动不了或者出现故障,双机软件自动切换另一台服务器上并启动双机软件配置的所有服务。

二、oracle数据库的双机搭建过程和问题

第一步:挂载存储至两台服务器上(例如两台服务器的挂载盘符为E盘);
第二步:在服务器A上安装oracle:将oracle安装文件安装在D盘下,数据文件安装在存储E盘上,安装完成后并将Oracle服务设置为手动;
第三步:关掉服务器A并进入服务器B:将服务器A安装在存储E盘的oracle的数据文件更改其他名称;
第四步:按照第二步的步骤在服务器B上安装oracle(需要注意的是B和A服务器安装Oracle的安装文件和数据文件路径必须完全一样);
第五步:在双机热备软件上配置oracle服务,并配置一个虚拟IP供外部访问,到时候应用软件只需连接该虚拟IP和端口就可以访问数据库了;
      以上是oracle双机的安装步骤,那样只是安装完成但是实际上是有隐患的,我这边就真正出现了,小伙伴们需要耐心看完就知道问题出在哪

三、问题现象

只要双机热备软件切换数据库那么整个数据库就宕了!无法启动;

四、问题原因

因为最初一个服务器A上Oracle正常运行的时候,Oracle控制文件已经记录下了该数据库运行的所有状态,当oracle双机切换到服务器B的时候,oracle监测到控制文件保存的状态和存储上的数据文件真实状态一不一致,那么自然数据库就不会切换到B上了。

五、解决方法

自定义初始化文件,并修改自定义的初始文件的配置内容,使得控制文件都加载的是存储上的控制文件用以保持两台服务器的控制文件和数据文件状态一致,并使两台服务器的数据库启动时都加载自定义的初始化文件,具体方法如下:

1、使用pl/sql dev 执行CREATE PFILE='C:\INIT.ORA' FROM SPFILE;语句,并且修改*.control_files参数到E盘下的控制文件,将生成的INIT.ORA复制到D:\app\mypfile\;

orcl.__db_cache_size=1946157056
orcl.__java_pool_size=67108864
orcl.__large_pool_size=16777216
orcl.__oracle_base=\'d:\\app\\Administrator\'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1811939328
orcl.__sga_target=2717908992
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=654311424
orcl.__streams_pool_size=0
*.audit_file_dest=\'d:\\app\\Administrator\\admin\\orcl\\adump\'
*.audit_trail=\'db\'
*.compatible=\'11.2.0.0.0\'
*.control_files=\'e:\\app\\Administrator\\oradata\\orcl\\control01.ctl\',\'e:\\app\\Administrator\\oradata\\orcl\\control02.ctl\'
*.db_block_size=8192
*.db_domain=\'\'
*.db_name=\'orcl\'
*.db_recovery_file_dest=\'d:\\app\\Administrator\\flash_recovery_area\'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest=\'d:\\app\\Administrator\'
*.dispatchers=\'(PROTOCOL=TCP) (SERVICE=orclXDB)\'
*.memory_target=4518313984
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=\'EXCLUSIVE\'
*.undo_tablespace=\'UNDOTBS1\'

2、编写sql脚本test.sql并将脚本放置到D:\app\mypfile\,内容:

connect / as sysdba
shutdown immediate
startup pfile=\'D:\\app\\mypfile\\init.ora\';
exit;

3、编写批处理脚本test.bat,内容:

sqlplus /nolog @D:\\app\\mypfile\\test.sql

4、这时候在双机热备软件中在oracle启动前添加test.bat,这样问题解决了;

 

(技能篇)双机热备之Oracle切换故障处理的更多相关文章

  1. oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)

    Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目 ...

  2. oracle双机热备概念

    1. 双机热备概述      双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式.      基于存储共享的双机热备是双机热备的最标准方案. ...

  3. Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

    Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...

  4. 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!

    写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...

  5. Oracle 双机热备+双机冷备+负载均衡

    引用地址:https://wenku.baidu.com/view/7cca62f1ddccda38366baf7f.html SQL Server 2008 R2双机热备 引用地址:https:// ...

  6. CentOS系统MySQL双机热备配置

    1  概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...

  7. SqlServer双机热备技术实践笔记

    SqlServer双机热备,大体上可以通过发布订阅,日志传送,数据库镜像来实现. 1,发布--订阅 是最早最简单的方案,但需要注意发布的时候,发布进程必须对快照目录有访问权限,这个问题可以从“查看快照 ...

  8. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx  (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡  (负载均衡算法:nginx负载算法 up ...

  9. SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

    原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景 公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正 ...

随机推荐

  1. 9个WebGL的演示

    1.  WebGL Water This incredible demo is as fluid as you could believe.  Raise and drop the ball into ...

  2. l论文查重平台

    推荐大家一个靠谱的论文检测平台.重复的部分有详细出处以及具体修改意见,能直接在文章上做修改,全部改完一键下载就搞定了.怕麻烦的话,还能用它自带的降重功能.哦对了,他们现在正在做毕业季活动, 赠送很多免 ...

  3. git push 时 failed to push some refs 的解决方案

    我们在利用 GIt 上传代码的时候,往往会遇到这样一个问题,导致我们的代码没有办法正常上传到仓库中 造成这个问题的原因其实很简单,就是因为远程仓库和本地库不一致. 基于这样的一个问题,解决办法自然也就 ...

  4. EditPlus 格式化HTML JS CSS

    首先你得安装一个EditPlus,然后下载你想格式化的xxxformatter.js文件,也就是网上说的EDTOOLS 1.在你的工具里边找到-->配置自定义工具 具体做法如下: 第5步 命令: ...

  5. Kali Linux Web渗透测试手册(第二版) - 1.1 - Firefox浏览器下安装一些常用的插件

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: l  在Windows和Linux上安装VirtualBox l  创建一个Kali Linux虚拟机 l  更新和升级Ka ...

  6. HashMap原理(一) 概念和底层架构

    HashMap在Java开发中使用的非常频繁,可以说仅次于String,可以和ArrayList并驾齐驱,准备用几个章节来梳理一下HashMap.我们还是从定义一个HashMap开始. HashMap ...

  7. Python机器学习经典实例电子版和附带源码

    Python机器学习经典实例电子版和附带源码 下载:https://pan.baidu.com/s/1m6ODNJk--PWHW8Vdsdjs-g 提取码:nyc0 分享更多python数据分析相关电 ...

  8. Java基础中字符串与字符的注意点!

    在Java中,字符的表达与字符串的表达是不一样的!话不多说,直接上代码!!! String  a="a"; char a='a'; 其中他们的引号是不一样的

  9. LightGBM,面试会问到的都在这了(附代码)!

    1. LightGBM是什么东东 不久前微软DMTK(分布式机器学习工具包)团队在GitHub上开源了性能超越其他boosting工具的LightGBM,在三天之内GitHub上被star了1000次 ...

  10. Java项目案例之---计算公司员工的工资(面向对象复习)

    计算公司员工的工资(面向对象复习) 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:double getSalary(int month) ...