oracle10+3300磁盘阵列碰到的问题

牛麦康纳
博客专家认证
2010-01-16 07:59:26
SUNv240服务器2台,SUN3300磁盘阵列1台,做Oracle的主备切换。
Oracle版本10.2 磁盘阵列在2台机器上都能format到而且都分好了区,而且都mount到了相同的目录下
df -k 都可以看到/dev/dsk/c2t0d0s0 70589121 1025989 68857241 2% /opt/oracle/oradata
现在碰到这个问题:第一台机器启动Oracle的监听、sqlplus都正常
第二台机器启动监听正常,当启动sqlplus的时候出现下列问题:
SQL> startup
ORACLE instance started.

Total System Global Area 612368384 bytes
Fixed Size 1980584 bytes
Variable Size 184551256 bytes
Database Buffers 419430400 bytes
Redo Buffers 6406144 bytes
ORA-00214: control file
'/opt/oracle/oradata/HDMDB2/controlfile/o1_mf_5nvbyx02_.ctl' version 526
inconsistent with file
'/opt/oracle/flash_recovery_area/HDMDB2/controlfile/o1_mf_5nvbyx61_.ctl'
version 459
请问高手这是为什么。。我2台服务器的表空间都指到了磁盘阵列的同一块硬盘上了,网上说是同步时有问题,能不能给我来电详细的说明和解决办法?
谢谢了!
...全文
115 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
牛麦康纳 2010-01-20
  • 打赏
  • 举报
回复
谢谢大家,我的问题解决了,跟大家分享下。
flash_recovery_area这个目录下的东东应该是容灾备份需要的东西吧,我没有把它放在磁盘阵列上,而是放到了每台机器各自的硬盘上,这样就导致启动时候这个文件不同步。
解决办法是重新建了个表空间,这次注意把flash_recovery_area这个文件配置在/opt/oracle/oradata下(磁阵mount的目录),就解决了问题。
跟剑飞霜所说的一样,只能启动一台机器的Oracle,通过SunCluster的shell脚本来控制,当一台断掉时启动另一台的Oracle。
问题解决了,给大家散分。另外大家谁还有给磁盘阵列分区以及做瑞达等相关的材料,希望能给个链接学习下 谢谢了!
Hemes_MC 2010-01-19
  • 打赏
  • 举报
回复
不知道你的双机怎么会出现这样的情况!
我想你可能要注意下备机的TNS文件和监听文件。
我做双机的时候,主机是直接安装的Oracle软件,但是备机则不再安装Oracle软件,而是把主机的Oracle安装目录打个tar包,上传到备机解压下就可以了。
打包目录如下:
1.#cd /var/opt
#tar cvf oracle_var.tar oracle
2.# cd /usr/local
# tar cvf oracle_bin.tar bin
3.# cd /opt
# tar cvf oracle_oraInventory.tar oraInventory
# tar cvf oracle.tar oracle


傻儿哥 2010-01-19
  • 打赏
  • 举报
回复
这是基于主机群集的主备方式,
基本要求是两台机器即使没有群集的情况下,也可以通过手动挂载VG,浮动ip(service ip),来各自对外提供服务(条件是另一个节点是DOWN下来的)。
做的方法也很简单,只需要你在两台要做群集的节点上安装oracle软件,把库文件都放在共享磁盘阵列上,
共享文件可以包括(控制文件,数据文件,spfile/pfile,归档数据文件)这样一台机器挂掉之后,只是另外一台的机器吧这台机器丢下来的vg,ip挂过去,就可以直接使用了。
|||||||||||||||||||||
这种主备方式也存在一个缺点,就是它只能避免因为主机、网络故障导致的失败,如果数据文件失败了,
比如说控制文件挂了,它是无法再另一个节点起来的。

|||||||||||

部署也很简单,在一台节点上配好,记得至少把控制文件,数据文件,要放在共享磁盘阵列上,
启动oracle没有问题。
这个时候,把配好的节点down下来,通过手工挂载vg,加ip的方式,在另一个节点把库起来,就
ok了。(但一定要注意,它不是双活的,必须先停掉A节点才能再起B节点哈)
牛麦康纳 2010-01-17
  • 打赏
  • 举报
回复
恩,我的应该是service guard的方式
因为我需要用sun cluster来做HA,让主机Oracle先运行,当主机出现问题时Sun cluster通过shell脚本来启动备机的Oracle。
inthirties 2010-01-17
  • 打赏
  • 举报
回复
你这个做的不是data guard的方式,是service guard的方式,所以只能有启一个机器上的服务,故障时切换到另一个服务。 如果是RAC的话,也不是你这样简单的mount到同一个上面就可以的,正如你的提到的一样,没有crsd/cssd的服务保证两个节点同步,所以出现问题,建议你多service guard的方式来做。
Dave 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yejingtao703 的回复:]
恩。我先去你blg学习下,我是个java工程师,可是工作中用到了就要学,呵呵。
我不知道啥是data gurad,其实就是不知道怎么把让两台机器的数据库公用1个表空间
[/Quote]

两台机器的数据库公用1个表空间
--这个是Oracle 的RAC 技术. 开发的话没必要搞的这么深..




------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
牛麦康纳 2010-01-17
  • 打赏
  • 举报
回复
恩。我先去你blg学习下,我是个java工程师,可是工作中用到了就要学,呵呵。
我不知道啥是data gurad,其实就是不知道怎么把让两台机器的数据库公用1个表空间
Dave 2010-01-16
  • 打赏
  • 举报
回复


ORA-00214: control file 'string' version string inconsistent with file 'string' version string
Cause: An inconsistent set of control files, datafiles/logfiles, and redo files was used.
Action: Use a consistant set of control files, datafiles/logfiles, and redo log files. That is, all the files must be for the same database and from the same time period.


楼主做的是data gurad? 



------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
相关推荐
发帖
Oracle 高级技术

3472

社区成员

Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
帖子事件
创建了帖子
2010-01-16 07:59
社区公告
暂无公告