ITPub博客

首页 > 数据库 > Oracle > 安装rac数据库时实例的编号由谁指定

安装rac数据库时实例的编号由谁指定

原创 Oracle 作者:crystal_ocean 时间:2014-03-19 15:07:22 0 删除 编辑
今天重新安装了一套oracle rac,有了一个新发现,就是两个实例的编号到底由谁指定。
我的rac环境是两个节点分别命名为node1、node2,环境变量设置如下:

node1:
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/crs_1
export ORACLE_SID=racdb1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

node2:
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/crs_1
export ORACLE_SID=racdb2
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

在node2上安装完cluster和database软件后,查看crs状态如下:
[oracle@node1 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....E1.lsnr application    ONLINE    ONLINE    node1       
ora.node1.gsd  application    ONLINE    ONLINE    node1       
ora.node1.ons  application    ONLINE    ONLINE    node1       
ora.node1.vip  application    ONLINE    ONLINE    node1       
ora....E2.lsnr application    ONLINE    ONLINE    node2       
ora.node2.gsd  application    ONLINE    ONLINE    node2       
ora.node2.ons  application    ONLINE    ONLINE    node2       
ora.node2.vip  application    ONLINE    ONLINE    node2   

 这个时候一切看起来是那么正常。


接下来在node2使用dbca配置asm实例、创建数据库racdb后,查看crs状态如下:
[oracle@node1 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....SM2.asm application    ONLINE    ONLINE    node1       
ora....E1.lsnr application    ONLINE    ONLINE    node1       
ora.node1.gsd  application    ONLINE    ONLINE    node1       
ora.node1.ons  application    ONLINE    ONLINE    node1       
ora.node1.vip  application    ONLINE    ONLINE    node1       
ora....SM1.asm application    ONLINE    ONLINE    node2       
ora....E2.lsnr application    ONLINE    ONLINE    node2       
ora.node2.gsd  application    ONLINE    ONLINE    node2       
ora.node2.ons  application    ONLINE    ONLINE    node2       
ora.node2.vip  application    ONLINE    ONLINE    node2       
ora.racdb.db   application    ONLINE    ONLINE    node1       
ora....b1.inst application    ONLINE    ONLINE    node2       
ora....b2.inst application    ONLINE    ONLINE    node1 

这个时候我们看到数据库实例1和asm实例1都安装在node2上了,而实例2却安装在node1上了,为了进一步确认我登录到数据库racdb进行查询,结果如下:

SQL> select INST_ID,INSTANCE_NAME,HOST_NAME from gv$instance;

   INST_ID INSTANCE_NAME    HOST_NAME
---------- ---------------- ----------------------------------------------------------------
         1 racdb1           node2.ocean.com
         2 racdb2           node1.ocean.com

为什么会出现这种情况呢?在安装之前两个节点已经分别在环境变量中设定好实例名,为什么oracle没有按照环境变量中设定的进行分配?
经过多方查询得知,原因是在安装rac数据库时节点实例和ASM实例的编号是由oracle自动进行分配的,当我们在第一个节点即node1上进行安装时,实例的编号和节点的编号是对应的,当我们在第二个节点上安装时,实例的编号和节点的编号是相反的,也就是说实例1会安装在node2上,实例2会安装在node1上。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29457434/viewspace-1124960/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-23

  • 博文量
    13
  • 访问量
    90568