免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3423 | 回复: 8
打印 上一主题 下一主题

oracle 10g rac 服务器pulic端口断开时,会出现实例down掉,正常吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-14 21:17 |只看该作者 |倒序浏览
oracle 10g rac 服务器pulic端口断开时,会出现实例down掉,并且不能自动切换到服务器B的实例上,正常吗?

一、我的环境:
1.服务器:
  OS:windows 2k Advanced Server SP4
  oracle: 10g R2 RAC
2.客户端:
  OS:windows 2k SP4
  oracle: 10g R2 Client

二、TNS设置:
1.servera:
############################################################################
# tnsnames.ora.servera Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora.servera
# Generated by Oracle configuration tools.

RACTEST2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = servera-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACTEST)
      (INSTANCE_NAME = RACTEST2)
    )
  )

RACTEST1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = serverb-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACTEST)
      (INSTANCE_NAME = RACTEST1)
    )
  )

LISTENERS_RACTEST =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = serverb-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = servera-vip)(PORT = 1521))
  )

RACTEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = serverb-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = servera-vip)(PORT = 1521))
    (LOAD_BALANCE = on)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACTEST)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
#######################################################################
2.serverb的TNS设置与servera类似
3.客户端PC:
########################################################################
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

RACTEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 143.46.43.3)(PORT = 1521)) #143.46.43.3是serverb-vip
    (ADDRESS = (PROTOCOL = TCP)(HOST = 143.46.43.4)(PORT = 1521)) #143.46.43.4是servera-vip
    (LOAD_BALANCE = yes)
    (FAILOVER = on)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACTEST)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 60)
        (DELAY = 5)
      )
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
##########################################################################

三、servera实例down情况下的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
  C:\>srvctl status database -d ractest
  实例 RACTEST1 正在节点 serverb 上运行
  实例 RACTEST2 正在节点 servera 上运行

2.在客户端PC上连接oracle,连接到实例ractest2
  SQL> conn sys/sys @ractest as sysdba;
  已连接。
  SQL> select instance_number,instance_name,host_name from v$instance;

  INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
  --------------- ---------------------------------------------
                2 ractest2      SERVERA

3.stop ractest2
  C:\>srvctl stop instance -d ractest -i ractest2

  C:\>srvctl status database -d ractest
  实例 RACTEST1 正在节点 serverb 上运行
  实例 RACTEST2 没有在 servera 节点上运行

4.客户端PC的连接自动切换到ractest1,而且不会出现ORA错误
  SQL> select instance_number,instance_name,host_name from v$instance;

  INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
  --------------- ---------------------------------------------
                1 ractest1      SERVERB

四、servera的public网线断开时的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
  C:\>srvctl status database -d ractest
  实例 RACTEST1 正在节点 serverb 上运行
  实例 RACTEST2 正在节点 servera 上运行

2.在客户端PC上连接oracle,连接到实例ractest2
  SQL> conn sys/sys @ractest as sysdba;
  已连接。
  SQL> select instance_number,instance_name,host_name from v$instance;

  INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
  --------------- ---------------------------------------------
                2 ractest2      SERVERA
3.断开servera的public端口网线,过一会后,servera上的oracle实例ractest2会down
  C:\>srvctl status database -d ractest
  实例 RACTEST1 正在节点 serverb 上运行
  实例 RACTEST2 没有在 servera 节点上运行

4.客户端PC的连接丢失,且不能切换到serverb
  SQL> select instance_number,instance_name,host_name from v$instance;
  select instance_number,instance_name,host_name from v$instance
  *
  第 1 行出现错误:
  ORA-03135: 连接失去联系

  SQL> select instance_number,instance_name,host_name from v$instance;
  ERROR:
  ORA-03114: 未连接到 ORALCE

************************************************************************************************
Question:
1.我的配置有没有问题?
2.服务器的public端口网线断开情况下,实例ractest2会down,正常吗?能否发生自动切换?
3.Oracle RAC 的Failover功能的适用情况有哪些?
  请教各位高手!!

  篇幅较长,麻烦各位了。

论坛徽章:
0
2 [报告]
发表于 2006-03-14 21:18 |只看该作者
我还发现,无论拔掉哪个服务器的网线,都会出现servera的实例down机的情况,这是为什么呢?

论坛徽章:
0
3 [报告]
发表于 2006-03-15 09:14 |只看该作者
拔服务器的外网网线应该不会导致实例当掉的
可否把alert文件发上来看看?

论坛徽章:
0
4 [报告]
发表于 2006-03-15 10:42 |只看该作者
拔掉servera的public后:

serverb的alert记录:
Wed Mar 15 10:28:53 2006
Reconfiguration started (old inc 4, new inc 6)
List of nodes:
0
Global Resource Directory frozen
* dead instance detected - domain 0 invalid = TRUE
Communication channels reestablished
Master broadcasted resource hash value bitmaps
Non-local Process blocks cleaned out
Wed Mar 15 10:28:53 2006
LMS 0: 0 GCS shadows cancelled, 0 closed
Wed Mar 15 10:28:54 2006
LMS 1: 0 GCS shadows cancelled, 0 closed
Set master node info
Submitted all remote-enqueue requests
Dwn-cvts replayed, VALBLKs dubious
All grantable enqueues granted
Post SMON to start 1st pass IR
Wed Mar 15 10:28:54 2006
LMS 1: 5262 GCS shadows traversed, 0 replayed
Wed Mar 15 10:28:54 2006
LMS 0: 5308 GCS shadows traversed, 0 replayed
Wed Mar 15 10:28:54 2006
Submitted all GCS remote-cache requests
Post SMON to start 1st pass IR
Fix write in gcs resources
Wed Mar 15 10:28:54 2006
Instance recovery: looking for dead threads
Wed Mar 15 10:28:54 2006
Beginning instance recovery of 1 threads
Reconfiguration complete
Wed Mar 15 10:28:55 2006
parallel recovery started with 2 processes
Wed Mar 15 10:28:55 2006
Started redo scan
Wed Mar 15 10:28:55 2006
Completed redo scan
106 redo blocks read, 35 data blocks need recovery
Wed Mar 15 10:28:55 2006
Started redo application at
Thread 2: logseq 30, block 6273
Wed Mar 15 10:28:55 2006
Recovery of Online Redo Log: Thread 2 Group 4 Seq 30 Reading mem 0
  Mem# 0 errs 0: +DATA/ractest/onlinelog/group_4.266.584702129
Wed Mar 15 10:28:55 2006
Completed redo application
Wed Mar 15 10:28:55 2006
Completed instance recovery at
Thread 2: logseq 30, block 6379, scn 2143475
21 data blocks read, 39 data blocks written, 106 redo blocks read
Switch log for thread 2 to sequence 31

************************************************************************

servera的alert只有几句话:

Wed Mar 15 10:28:33 2006
Shutting down instance (abort)
License high water mark = 9
Wed Mar 15 10:28:47 2006
Instance terminated by USER, pid = 3020

论坛徽章:
0
5 [报告]
发表于 2006-03-15 21:10 |只看该作者
blue_stone ,来帮帮我阿

论坛徽章:
0
6 [报告]
发表于 2006-03-16 09:00 |只看该作者
说一下个人意见:

可能是由于PUBLIC断开后,与之绑定的VIP丢失,造成的假DOWN情况。

可以这样试一下,在SERVERA上运行lsnrctl status看一下,ractest2是否ready,或是
servera上:
sqlplus /nolog
connect / as sysdba   --避开listener
select sysdate from dual;

如果在servera上的两个操作均失败,那肯定是DOWN掉了(应该不会发生这种情况)

论坛徽章:
0
7 [报告]
发表于 2006-03-16 09:02 |只看该作者
看你的tnsnames配置,感觉failover应该能成功,哪位老大,能给说一下,洗耳恭听

论坛徽章:
0
8 [报告]
发表于 2006-03-16 14:48 |只看该作者
check your alter.log file and look for messages like the following

Cluster communication is configured to use the following interfaces for this instance
...

If the IP address speficied is bound to the interface that you unpluged, oracle will choose one instace to shutdown. (I/O fencing)

论坛徽章:
0
9 [报告]
发表于 2006-03-17 10:10 |只看该作者
好象是出现了裂脑(split-brain)的现象
裂脑是由于集群中的节点之间无法正常通讯而导致的集群中出现的不一致的现象
如果出现这种情况,Oracle RAC会终止一个实例,来保证集群的一致性

你的数据库使用了ASM来存储重做日志文件,当servera上的oracle instance 当掉以后, 该节点上的ASM instance是不是也当掉了?  

如果不启动oracle instance 只启动ASM instance拔网线是否ASM instance也会当掉?

crs的log能不能贴出来看看?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP