- 浏览: 1022804 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
关于虚拟 IP
10g 中为什么使用虚拟 IP (VIP)?为什么当它的主节点发生故障时它只是返回一个无效的连接?
这全是出于对应用程序可用性的考虑。当一个节点发生故障时,与其关联的 VIP 将被自动故障切换到另外某个节点上。当出现这种情况时,会发生两件事。
1. 新的节点重新进行地址解析,显示该地址的一个新的 MAC 地址。对于直连客户端,这通常使它们在连接旧地址时出现错误。
2. 到 VIP 的后续数据包将被传送到新的节点,该节点将把错误 RST 数据包返回客户端。这导致客户端立即收到错误信息。
这意味着,当客户端向故障节点发出 SQL 时,或者在连接状态下遍历地址列表时,客户端会接收到一个 TCP 重置信息,而不是等待很长的 TCP/IP 超时(大约 10 分钟)。发送 SQL 时,该信息为 ORA-3113。而连接时,使用 tnsname 中的下一个地址。
更进一步的操作是使用透明的应用程序故障切换 (TAF)。成功配置 TAF 后,就可以完全避免 ORA-3113 错误!第 31 节(“透明的应用程序故障切换 — (TAF)”)将更详细地介绍 TAF。
如果不使用 VIP,连接停用节点的客户端经常要等待 10 分钟的 TCP 超时,然后才收到错误信息。因此,如果没有 VIP, 用户将不能真正拥有一流的高可用性解决方案(来源 — Metalink 说明 220970.1)。
确保 RAC 节点名没有出现在环回地址中
确保在 /etc/hosts 文件的环回地址中不包含节点名(linux1 或 linux2)。如果机器名出现在环回地址条目中,如下所示:
127.0.0.1 linux1 localhost.localdomain localhost
需要按如下所示将其删除:
127.0.0.1 localhost.localdomain localhost
如果 RAC 节点名出现在环回地址中,您在 RAC 安装期间将接收到以下错误信息:
ORA-00603: ORACLE server session terminated by fatal error
或者
ORA-29702: error occurred in Cluster Group Service operation
验证 localhost 在 /etc/hosts 文件中定义为回送地址
确保 localhost.localdomain 和 localhost 项作为回送地址包含在每个 Oracle RAC 节点的 /etc/hosts 文件中:
127.0.0.1 localhost.localdomain localhost
如果 /etc/hosts 文件中不存在 localhost 项,Oracle 集群件将无法启动应用程序资源 — 特别是 ONS 进程。该错误将指明“Failed to get IP for localhost”并写入 ONS 的日志文件。例如:
CRS-0215 could not start resource 'ora.linux1.ons'. Check log file
"/u01/app/crs/log/linux1/racg/ora.linux1.ons.log"
for more details.
ONS 日志文件包含类似以下内容的行:
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.保留所有权利。
2007-04-14 13:10:02.729: [ RACG][3086871296][13316][3086871296][ora.linux1.ons]:Failed to get IP for localhost (1)
Failed to get IP for localhost (1)
Failed to get IP for localhost (1)
onsctl:ons failed to start
...
调整网络设置
在 Oracle 9.2.0.1 以及更高版本中,Oracle 在 Linux 上使用 UDP 作为进行过程间通信 (IPC) 的默认协议,如在 RAC 集群中实例之间的缓存融合和集群管理器缓冲区传输。
Oracle 强烈建议将默认的和最大的接收缓冲区大小(SO_RCVBUF 套接字选项)调整为 1MB,并将默认的和最大的发送缓冲区大小(SO_SNDBUF 套接字选项)调整为 256KB。
接收缓冲区由 TCP 和 UDP 用于保留所接收的数据,直到应用程序读出这些数据为止。由于不允许对端设备发送超过缓冲区大小窗口的数据,因此接收缓冲区不会溢出。这意味着,不适合套接字接收缓冲区可能导致发送设备发送的信息淹没接收设备的数据报将会被丢弃。
您无需重新引导即可在 /proc 文件系统中更改默认的和最大的窗口大小:
# su - root
# sysctl -w net.core.rmem_default=1048576
net.core.rmem_default = 1048576
# sysctl -w net.core.rmem_max=1048576
net.core.rmem_max = 1048576
# sysctl -w net.core.wmem_default=262144
net.core.wmem_default = 262144
# sysctl -w net.core.wmem_max=262144
net.core.wmem_max = 262144
以上命令更改正在运行的操作系统。现在,将以下各行程序添加到 RAC 集群中两个节点的 /etc/sysctl.conf 文件中,使以上更改永久生效(针对每次重新引导而言):
# +---------------------------------------------------------+
# | ADJUSTING NETWORK SETTINGS |
# +---------------------------------------------------------+
# | With Oracle 9.2.0.1 and onwards, Oracle now makes use |
# | of UDP as the default protocol on Linux for |
# | inter-process communication (IPC), such as Cache Fusion |
# | and Cluster Manager buffer transfers between instances |
# | within the RAC cluster. Oracle strongly suggests to |
# | adjust the default and maximum receive buffer size |
# | (SO_RCVBUF socket option) to 1024 KB, and the default |
# | and maximum send buffer size (SO_SNDBUF socket option) |
# | to 256 KB. The receive buffers are used by TCP and UDP |
# | to hold received data until it is read by the |
# | application. The receive buffer cannot overflow because |
# | the peer is not allowed to send data beyond the buffer |
# | size window. This means that datagrams will be |
# | discarded if they don't fit in the socket receive |
# | buffer. This could cause the sender to overwhelm the |
# | receiver. |
# +---------------------------------------------------------+
# +---------------------------------------------------------+
# | Default setting in bytes of the socket "receive" buffer |
# | which may be set by using the SO_RCVBUF socket option. |
# +---------------------------------------------------------+
net.core.rmem_default=1048576
# +---------------------------------------------------------+
# | Maximum setting in bytes of the socket "receive" buffer |
# | which may be set by using the SO_RCVBUF socket option. |
# +---------------------------------------------------------+
net.core.rmem_max=1048576
# +---------------------------------------------------------+
# | Default setting in bytes of the socket "send" buffer |
# | which may be set by using the SO_SNDBUF socket option. |
# +---------------------------------------------------------+
net.core.wmem_default=262144
# +---------------------------------------------------------+
# | Maximum setting in bytes of the socket "send" buffer |
# | which may be set by using the SO_SNDBUF socket option. |
# +---------------------------------------------------------+
net.core.wmem_max=262144
检查并关闭 UDP ICMP 拒绝
在 Linux 安装期间,我指示不配置防火墙选项。默认情况下,配置防火墙的选项由安装程序选择。这使我吃了好几次苦头,因此我要仔细检查防火墙选项是否未配置,并确保 udp ICMP 过滤已关闭。
如果 UDP ICMP 被防火墙阻塞或拒绝,Oracle 集群件软件将在运行几分钟之后崩溃。如果 Oracle 集群件进程出现故障,您的 <machine_name>_evmocr.log 文件中将出现以下类似内容:
08/29/2005 22:17:19
oac_init:2: Could not connect to server, clsc retcode = 9
08/29/2005 22:17:19
a_init:12!: Client init unsuccessful : [32]
ibctx:1:ERROR: INVALID FORMAT
proprinit:problem reading the bootblock or superbloc 22
如果遇到此类错误,解决方法是删除 udp ICMP (iptables) 拒绝规则,或者干脆关闭防火墙选项。之后,Oracle 集群件软件将开始正常工作,而不会崩溃。以下命令应该以 root 用户帐户的身份执行:
1. 检查以确保防火墙选项关闭。如果防火墙选项已停用(如下面的示例所示),则不必继续执行以下步骤。
# /etc/rc.d/init.d/iptables status
Firewall is stopped.
2. 如果防火墙选项已启用,您首先需要手动停用 UDP ICMP 拒绝:
# /etc/rc.d/init.d/iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
3. 然后,针对下一次服务器重新引导关闭 UDP ICMP 拒绝(应该始终被关闭):
# chkconfig iptables off
发表评论
-
11gR2 RAC dbca无法发现ASM磁盘组
2012-07-30 11:28 1455安装好Grid Infrastructure和Database ... -
RAC dbca无法发现ASM磁盘组
2012-07-30 11:20 0查看( 1501 ) / 评论( 10 ) / 评分( 0 / ... -
RAC优化要点
2011-01-19 23:03 1965RAC环境下,DB CACHE的命中率对系统的性能影响 ... -
11gR2 cluvfy tools usage
2011-01-05 03:01 1290Note that the following only s ... -
配置11gR2 RAC SCAN
2011-01-02 21:11 348411G RAC scan即用DNA解析的I ... -
CRS-0215: Could not start resource 'ora..vip' [ID 356535.1]
2010-12-17 17:34 3382Oracle Server - Enterprise Edit ... -
Oracle RAC选件技术的价值何在?
2010-07-14 11:38 1674随着IT技术的发展,网格计算目前已经成为一个热点,它所带来的低 ... -
怎样修改 SCAN信息(来自于metalink)
2010-06-06 00:34 1572Applies to: Oracle Server ... -
Modifying the VIP or VIP Hostname of a 10g or 11g Oracle Clusterware Node [ID 27
2010-05-14 11:28 2365Applies to: Oracle Server ... -
RAC或OPS环境下重新创建控制文件 引自Metalink
2010-05-13 13:33 1672PURPOSE-------This article desc ... -
How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware [
2010-04-30 12:06 2460Applies to: Oracle Server ... -
10gR2 RAC Install issues on Oracle EL5 or RHEL5 or SLES10 (VIPCA / SRVCTL / OUI
2010-04-30 12:04 1584Applies to: Oracle Server ... -
RAC环境下listener无法启动案例分析
2010-04-26 21:24 2483RAC系统重新配置listener后无法启动: [root@ ... -
CRS-1019: Resource ora.rac02.ons (application) cannot run on rac01 问题解决
2010-04-25 16:15 2699[root@rac01 bin]# ./crs_stat -t ... -
AIX集群修改IP步骤
2010-04-25 01:50 4404集群修改IP步骤 环境: AIX 5L HACMP ... -
RAC Ocfs2文件系统常见问题解决方法
2010-01-11 14:28 1616现象一:mount -t ocfs2 -o datavolum ... -
启动OCFS2时出错:o2cb_ctl Unable load configuration file
2010-01-11 14:22 2204操作系统版本:RedHat-AS5 ... -
RAC User Equivalence Check Failed
2010-01-11 14:17 1661在使用SSH方式配置RAC时,可能会在检查用户等价时失败。 ... -
ORACLE RAC:监听原理 简介
2010-01-11 14:15 3670RAC1 RAC2 都需需要配置监听,各自监听自己的 实例 ... -
Oracle集群文件系统(OCFS2)用户指南
2010-01-11 14:02 2819http://oss.oracle.com/projects/ ...
相关推荐
自己做的虚拟ip管理工具,用来批量添加、删除虚拟ip。可以根据输入起止ip或起始ip+数量的形式进行生成,生成结束后运行对应的批处理文件进行添加。 如果运行批处理失败可能是批处理文件字符集问题,重新另存为一下就...
虚拟IP软件是一种网络工具,主要用于生成和切换虚拟的IP地址,以满足用户在不同场景下的需求。这种软件的核心功能在于提供一个动态、可变化的IP环境,为用户提供匿名浏览、多账号管理、防止IP封锁等多种便利。 在...
在某些特定情况下,我们可能需要使用虚拟IP来进行测试,例如,当我们需要模拟不同网络环境或者避免直接使用真实IP带来的问题时。本文将详细介绍LoadRunner如何使用虚拟IP进行测试。 首先,确保Load Generator(负载...
在探讨动态、固定、实体IP与虚拟IP的概念及其应用时,我们首先需要理解IP地址的基本原理。IP地址(Internet Protocol Address)是互联网协议提供的一种数字标识,用于唯一地标识网络中的每一台设备。一个标准的IPv4...
虚拟ip映射 一. 防火墙——虚拟ip——虚拟ip 网络拓扑图:
Win10安装虚拟网卡设置固定IP步骤 Windows 10操作系统中,默认情况下没有内置的虚拟网卡设备,但我们可以通过安装虚拟网卡来实现固定IP的设置。本文将逐步介绍Win10安装虚拟网卡设置固定IP的步骤。 第一步:添加...
虚拟ip软件,搭hadoop平台,做一个backup切换的实验用的着,没打算要分身
### LoadRunner中虚拟IP的设置详解 #### 一、虚拟IP的基本概念 在LoadRunner的性能测试中,虚拟IP(也称为IP欺骗)是一种常用的技术手段,它可以帮助测试人员模拟多个客户端同时访问服务器的情况,从而更准确地评估...
【LoadRunner虚拟IP操作步骤详解】 LoadRunner是一款强大的性能测试工具,它允许用户模拟大量并发用户来测试应用程序的性能和稳定性。在某些测试场景中,为了模拟不同来源的用户访问,我们可能需要配置虚拟IP。以下...
### LoadRunner使用虚拟IP进行压力测试的详细流程与解析 #### 一、理解虚拟IP及其在压力测试中的应用 在IT行业中,虚拟IP技术被广泛应用于负载均衡、高可用性集群以及性能测试等领域。虚拟IP地址,即VIPA(Virtual...
### LoadRunner使用虚拟IP测试流程详解 #### 一、虚拟IP的概念与应用场景 虚拟IP(Virtual IP)是一种网络技术,通过这种技术可以在多台物理主机上实现一个共享的IP地址,从而达到负载均衡、高可用性等目的。在软件...
一般来说,用NAT连接时,虚拟系统一般设置为DHCP,动态获取IP地址的。但是由于某些情况下,我们需要它是一个静态IP,方便我们进行管理和操作。那有没有办法呢?有的!
Centos6.8网卡配置虚拟IP示例文档
在构建高可用性数据库系统时,CentOS 7 下的 MySQL 双主备结合 keepalived 虚拟 IP 是一种常见的解决方案。该方案确保了数据的实时备份和在一台服务器宕机时能够无缝切换到另一台服务器,从而提供不间断的服务。 ...
当主服务器出现故障时,Keepalived会检测到并启动故障转移,将虚拟IP(VIP)漂移到另一台正常运行的服务器,保证服务不间断。 虚拟IP是网络中的一个概念,通常与Keepalived结合使用。在一个高可用集群中,VIP作为一...
natapp服务器虚拟分配IP,natapp 服务器虚拟分配IPnatapp 服务器虚拟分配IPnatapp 服务器虚拟分配IP
这个压缩包文件“vs获取本机网卡ip/子网掩码/默认网关信息并排除虚拟网卡.rar”提供了一个C++解决方案,利用Visual Studio 2010(VS)进行开发,主要涉及VC++编程技巧。以下是对这个项目的一些详细解析。 首先,你...
本文基于CentOS 7下采取一台机器充当虚拟路由,来实现Windows环境与Linux环境中相互通信。具体见下文,供大家参考。 一、环境及需求说明 本地测试环境,由于Win7+VMware这台机器网卡太新,无法被VMware EXSi识别,...
loadrunner虚拟ip配置流程文档教程。。。。。。。。。。