Oracle之双机热备部署+切换故障问题解决
2018-01-26 15:02
585 查看
https://wenku.baidu.com/view/1d6d0db10242a8956bece48c.html?qq-pf-to=pcqq.c2c亲测有效,A服务器安装数据库后,共享磁盘文件夹改名,在B服务器安装完了创建表空间 用户然后A服务器就可以用B服务器创建的用户名登录了
create tablespace HOSPITAL datafile 'G:\oradata\orcl\MYDB_EMR.dbf' size 800M autoextend on next 50M maxsize unlimited
ORACLE 数据库双机热备方案(Windows) http://www.microcolor.cn/solutions/70.html
最近实施的一个项目中使用了某国产双机热备产品,但是在数据库做双机热备时出现了一些问题,没办法。不得不研究一番了!经过两天的研究终于问题得以解决。将问题处理步骤记录下来以备后用,也希望能帮助到需要的人。
一、首先介绍下我们的环境:两台服务器+一个存储+两个双机热备软件
二、双机热备工作流程:在两台服务器上分别安装一个双机热备软件,并且两台服务器都挂载了存储,双机热备软件一直在监测两台服务器上配置的服务项是否正常,当监测到某台服务器上双机软件中配置的服务启动不了或者出现故障,双机软件自动切换另一台服务器上并启动双机软件配置的所有服务。
三、当然本片文章是以数据库的双机热备为主,我就将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\,内容:
create tablespace HOSPITAL datafile 'G:\oradata\orcl\MYDB_EMR.dbf' size 800M autoextend on next 50M maxsize unlimited
ORACLE 数据库双机热备方案(Windows) http://www.microcolor.cn/solutions/70.html
最近实施的一个项目中使用了某国产双机热备产品,但是在数据库做双机热备时出现了一些问题,没办法。不得不研究一番了!经过两天的研究终于问题得以解决。将问题处理步骤记录下来以备后用,也希望能帮助到需要的人。
一、首先介绍下我们的环境:两台服务器+一个存储+两个双机热备软件
二、双机热备工作流程:在两台服务器上分别安装一个双机热备软件,并且两台服务器都挂载了存储,双机热备软件一直在监测两台服务器上配置的服务项是否正常,当监测到某台服务器上双机软件中配置的服务启动不了或者出现故障,双机软件自动切换另一台服务器上并启动双机软件配置的所有服务。
三、当然本片文章是以数据库的双机热备为主,我就将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.sql4、这时候在双机热备软件中在oracle启动前添加test.bat,这样问题解决了;
相关文章推荐
- activiti 部署在oracle多用户下不能自动建表问题的解决!
- Oracle 出现锁表问题解决步骤(以前写的一份故障排查报告)
- Activiti5.15.1部署到oracle后不能自动建表的问题分析及解决办法
- 如何解决Oracle ASM故障导致的数据丢失问题
- 联通专线切换成移动专线问题故障解决
- 关于IIS部署时出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的问题解决摘要
- ORACLE RAC安装问题解决记录(3)- SYS用户不支持TAF故障切换
- [原创]经历:asp.net oracle 部署问题以及解决方法
- 经历:asp.net oracle 部署问题以及解决方法
- 如何解决Oracle ASM故障导致的数据丢失问题
- 如何解决Oracle ASM故障导致的数据丢失问题
- Oracle故障排查之oracle解决锁表问题
- Oracle切换为归档模式的步骤及问题解决
- Oracle切换为归档模式的步骤及问题解决
- Oracle之故障处理:解决“ora-01652无法扩展temp段”问题
- WebService部署时“需要ORACLE客户端软件8.1.7或更高版本”等问题的解决
- 解决MyEclipse10.7部署报错抛空指针异常问题的方法
- 使用七牛云存储解决ios7.1的app部署问题
- oracle运行出现问题记录+解决方法
- [Oracle]--Library cache lock 故障解决一例 oracle10g