RAC-配置及其错误信息整理

RAC-配置及其错误信息整理

 

 

--前言

在本地虚拟机中安装的RAC

本地OS是win7

 

一.我的电脑各个IP配置

 

 

如上图:

其中,

1.Microsoft Loopback Adapter(回环接口,因为我没插网线)

2.本地连接可以不管它,因为我并没有插网线

3.VMware Network Adapter VMnet1

4.VMware Network Adapter VMnet8

我的RAC中各IP:

192.168.100.32 node1

192.168.100.33 node2

 

192.168.100.55 node1-vip

192.168.100.56 node2-vip

 

19.168.100.44 node1-priv

19.168.100.45 node2-priv

 

 

二、下面讲一下“局域网虚拟服务器的工作模式“

如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作。此时,对虚拟系统工作模式的选择就非常重要了。如果你选择的工作模式不正确,就无法实现上述目的,也就不能充分发挥VMWare在网络管理和维护中的作用。现在,让我们一起走近VMWare的三种工作模式。

  理解三种工作模式

VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。

  1.bridged(桥接模式)
  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行
通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台
电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

  2.host-only(主机模式)

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

  3.NAT(网络地址转换模式)

  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
  提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供(图1)。

  配置虚拟系统工作模式

  在实际的工作中,由于用户的需求不同、调试环境的要求不同,不同的用户需要选择不同的工作模式,也许是bridged模式,也可能是NAT模式或host-only模式。不管选择使用何种工作模式,将虚拟系统配置成相应的工作模式是非常简单的,在“新建虚拟机向导”对话框中就可以完成。
  在“新建虚拟机向导”对话框中一路点击“下一步”按钮,进入“Network Type”对话框后,就可以选择你所使用的工作模式(图2)。在“Network Type”对话框中有四个单选项,分别为bridged模式、NAT模式、host-only模式、不使用网络连接,选择你需要使用的工作模式后,点击“下一步”按钮,就可完成虚拟系统工作模式的配置。

 

PS:

通过NAT方式上网的guest系统与主机通信需要VMnet8网卡的支持,使用Host-Only模式的guest系统与主机通信需要VMnet1网卡的支持,使用桥接模式上网需要网络中存在DHCP服务器,且提供服务。

VMnet8提供NAT和DHCP服务,VMnet1提供DHCP服务。给VMware中的guest系统设置IP地址时,千万不能和VMnet1网卡或者VMnet8网卡的IP地址相同,VMnet1或VMnet8的地址一般都是192.168.xxx.1,如果一不小心设的相同,就可能会产生让人郁闷的结果,且系统此时没有任何提示。

在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。

 

PS:如果宿主机还是ping不通虚拟机中的OS可以检查下这里

这个VMware Bridge Protocol是否勾选了,如果没有的话可以在这个页面:安装->服务->添加->从磁盘安装->浏览->VMware安装目录VMware Server ->netbridge.inf->确定

 

三、RAC安装过程中出现的各种错误及解决方案

1.当创建数据库(dbca)时:

[oracle@node1 bin]$ dbca

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

 

Exception in thread "main" [oracle@node1 bin]$

[oracle@node1 bin]$

[oracle@node1 bin]$ xhost +   #####xhost + 是使所有用户都能访问Xserver.

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

 

解决方法:

[oracle@node1 bin]$ dbca

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

[oracle@node1 bin]$

Exception in thread "main" [oracle@node1 bin]$

[oracle@node1 bin]$ xhost +

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

 

方法:

[root@node1 ~]# /etc/init.d/vncserver restart

关闭 VNC 服务器:                                          [确定]

启动 VNC 服务器:no displays configured                    [确定]

[root@node1 ~]# vncserver

 

New 'node1:1 (root)' desktop is node1:1

 

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/node1:1.log

[root@node1 ~]# export DISPLAY=localhost:1.0

[root@node1 ~]# xhost +

access control disabled, clients can connect from any host

(或者参考http://space.itpub.net/519536/viewspace-625514)

 

2.注意事项:

1.双机配置信任关系。一定要在两个node上分别ssh在/etc/hosts里的IP。

2.监听文件配置。

3./u01/app/oracle/product/10.2.0/crs_/bin/racgvip

 修改 FAIL_WHEN_DEFAULTGW_NOT_FOUND=0 --忽略检查网关错误

4.node1-priv/node2-priv的IP要和node1/node2的IP在同一网段上。

 

5.查看集群名称(CLUSTER NAME)的两种方法

[root@rac1 bin]# ./cemutlo

Usage: ./cemutlo.bin [-n] [-w]

        where:

        -n prints the cluster name

        -w prints the clusterware version in the following format:

                 <major_version>:<minor_version>:<vendor_info>

[root@rac1 bin]# ./cemutlo -w

2:1:

[root@rac1 bin]# ./cemutlo -n

crs

 

同样可以查看到,该环境中集群名称为“crs”

 

3.PRKC-1002

这个是时间不同步问题,仔细检查执行计划。如果两台机器时间相差不多,这个错误可以忽略。

 

4.ORA-12523

ASM磁盘不能挂载(1/2),出现错误。检查监听的配置。最好都把HOSTname换成IP,然后重启服务。

 

5.CRS-1006,CRS-0215

结合网上的一些资料,是没有配置默认网关导致的,所以这里eth0在启动vip的时候没有check成功。

 

察看crs/bin/racgvip文件

[root@inth-rac02 oracle]# /opt/crs/product/10.2.0.1/crs_1/bin/racgvip

There is no VIP name

[root@inth-rac02 oracle]# /opt/crs/product/10.2.0.1/crs_1/bin/oifcfg getif -global

eth0 192.168.8.0 global public

eth1 192.168.1.0 global cluster_interconnect

[root@inth-rac02 oracle]# /opt/crs/product/10.2.0.1/crs_1/bin/cluvfy stage -post crsinst -n inth-rac02

[root@inth-rac02 oracle]# /opt/crs/product/10.2.0.1/crs_1/bin/crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

 

查看vip.log

 

[root@inth-rac01 ~]# vi /opt/crs/product/10.2.0.1/crs_1/log/inth-rac01/racg/ora.inth-rac01.vip.log

2009-11-25 13:07:49.037: [ RACG][3086912256] [10425][3086912256][ora.inth-rac01.vip]:01.vip]: Interface eth0 checked failed (host=inth-rac01)Invalid

parameters, or failed to bring up VIP (host=inth-rac01)

##############################################################################

结合网上的一些资料,是没有配置默认网关导致的,所以这里eth0在启动vip的时候没有check成功。

#########################################################################

[root@inth-rac01 ~]# /sbin/ifconfig -a

现在找不到eth0:1的vip虚拟IP

root@inth-rac01 ~]# /sbin/ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:0C:29:47:66:67

inet addr:192.168.8.129 Bcast:192.168.8.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe47:6667/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:2334 errors:0 dropped:0 overruns:0 frame:0

TX packets:1996 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:261342 (255.2 KiB) TX bytes:287548 (280.8 KiB)

Interrupt:169 Base address:0x14a4

 

eth1 Link encap:Ethernet HWaddr 00:0C:29:47:66:71

inet addr:192.168.1.206 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe47:6671/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:25 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3166 (3.0 KiB) TX bytes:1014 (1014.0 b)

Interrupt:193 Base address:0x1824

 

 

用crs_stat查看状态

[root@inth-rac01 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....c01.gsd application ONLINE ONLINE inth-rac01

ora....c01.ons application ONLINE ONLINE inth-rac01

ora....c01.vip application ONLINE OFFLINE

ora....c02.gsd application ONLINE OFFLINE

ora....c02.ons application ONLINE OFFLINE

ora....c02.vip application OFFLINE OFFLINE

 

VIP是OFFLINE的

 

解决方法

添加默认网关

 

route add default gw 192.168.8.1

 

或者用另一种方法 修改racgvip

将参数FAIL_WHEN_DEFAULTGW_NOT_FOUND=0

[root@inth-rac01 ~]# vi /opt/crs/product/10.2.0.1/crs_1/bin/racgvip

将参数FAIL_WHEN_DEFAULTGW_NOT_FOUND=0

 

 

[root@inth-rac01 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/crs_start ora.inth-rac01.vip

Attempting to start `ora.inth-rac01.vip` on member `inth-rac01`

Start of `ora.inth-rac01.vip` on member `inth-rac01` succeeded.

 

查看现在的ifconfig

[root@inth-rac01 ~]# /sbin/ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:0C:29:47:66:67

inet addr:192.168.8.129 Bcast:192.168.8.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe47:6667/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:2466 errors:0 dropped:0 overruns:0 frame:0

TX packets:2131 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:273195 (266.7 KiB) TX bytes:306026 (298.8 KiB)

Interrupt:169 Base address:0x14a4

 

eth0:1 Link encap:Ethernet HWaddr 00:0C:29:47:66:67

inet addr:192.168.8.29 Bcast:192.168.8.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:169 Base address:0x14a4

 

eth1 Link encap:Ethernet HWaddr 00:0C:29:47:66:71

inet addr:192.168.1.206 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe47:6671/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:27 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3473 (3.3 KiB) TX bytes:1014 (1014.0 b)

Interrupt:193 Base address:0x1824

 

 

[root@inth-rac01 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....c01.gsd application ONLINE ONLINE inth-rac01

ora....c01.ons application ONLINE ONLINE inth-rac01

ora....c01.vip application ONLINE ONLINE inth-rac02

ora....c02.gsd application ONLINE UNKNOWN inth-rac02

ora....c02.ons application ONLINE UNKNOWN inth-rac02

ora....c02.vip application ONLINE ONLINE inth-rac02

 

 

不过还是有些问题,导致另一个节点GSD和ONS的状态是unknown的,也就是还没有通信到。

 

但是此时的CRS还是健康的

[root@inth-rac02 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/olsnodes

inth-rac01

inth-rac02

 

[root@inth-rac02 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/oifcfg iflist

eth0 192.168.8.0

eth1 192.168.1.0

 

 

[root@inth-rac02 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

 

日志里也很正常

2009-11-25 00:07:51.203

[cssd(7919)]CRS-1601:CSSD Reconfiguration complete. Active nodes are inth-rac02 .

2009-11-25 00:07:52.154

[evmd(7779)]CRS-1401:EVMD started on node inth-rac02.

2009-11-25 00:07:52.160

[crsd(6684)]CRS-1012:The OCR service started on node inth-rac02.

2009-11-25 00:07:56.740

[crsd(6684)]CRS-1201:CRSD started on node inth-rac02.

2009-11-25 15:19:51.290

[cssd(9945)]CRS-1605:CSSD voting file is online: /dev/raw/raw1. Details in /opt/crs/product/10.2.0.1/crs_1/log/inth-rac02/cssd/ocssd.log.

2009-11-25 15:19:59.278

[cssd(9945)]CRS-1601:CSSD Reconfiguration complete. Active nodes are inth-rac01 inth-rac02 .

2009-11-25 15:20:19.107

[crsd(6977)]CRS-1012:The OCR service started on node inth-rac02.

2009-11-25 15:20:30.953

[evmd(9804)]CRS-1401:EVMD started on node inth-rac02.

2009-11-25 15:20:53.798

[crsd(6977)]CRS-1201:CRSD started on node inth-rac02.

 

不过GSD和OTS确实有问题

[root@inth-rac02 ~]# /opt/crs/product/10.2.0.1/crs_1/bin/srvctl status nodeapps

-n inth-rac02

VIP is running on node: inth-rac02

GSD is not running on node: inth-rac02

PRKO-2016 : Error in checking condition of listener on node: inth-rac02

ONS daemon is not running on node: inth-rac02

 

 

查看ons的log

[root@inth-rac02 ~]# vi /opt/crs/product/10.2.0.1/crs_1/log/inth-rac02/racg/ora.inth-rac02.ons.log

 

Adding remote host inth-rac01:2009-11-25 00:08:23.787: [ RACG][3086912256] [8925][3086912256][ora.inth-rac02.ons]: 6200

onsctl: ons started

2009-11-25 15:21:16.873: [ RACG][3086912256] [11319][3086912256][ora.inth-rac02.ons]: onsctl: shutting down ons daemon ...

CONNECT: Connection refused

Number of onsconfiguration retrieved, numcfg = 1

onscfg[0]

{node = inth-rac01, port = 6200}Adding remote host inth-rac01:6200

onsctl: shutdown of ons failed!

 

$ORA_CRS_HOME/bin/crsctl check crs用于检查后台进程状态

$ORA_CRS_HOME/bin/crsctl start resources启动crs资源

$ORA_CRS_HOME/bin/crsctl start crs启动crs,需要超级用户操作。

$ORA_CRS_HOME/bin/crsctl stop crs关闭crs,需要超级用户操作。

$ORA_CRS_HOME/bin/crs_unregister取消注册crs

$ORA_CRS_HOME/bin/ocrcheck检查ocr设置信息用ocrcheck

$ORA_CRS_HOME/bin/crsctl query css votedisk检查表决磁盘信息

 

四、RAC的启动和关闭

 

CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service)(通知),VIP, Database, Instance Service. 这些资源被分成2类:

GSDONS,VIP Listener 属于Nodeapps

DatabaseInstance Service 属于 Database-Related Resource

当安装完clusterware时就会出现GSDONS,VIP进程,因此说明这些资源是基础类资源,DatabaseInstance Service是依赖这些资源的。也就是说在启动时必须先启动nodeapp类资源,才能正常启动database。在关闭时需要先关闭上层应用后再关闭底层应用,因此要先关闭database( inistance)后再关闭nodeapps。关于Listener,NODEAPP里包含listener,不用单独启。具体常用命令如下:

 

检查RAC运行情况

node1-> crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora.RACDB.db application ONLINE ONLINE node1

ora....b1.inst application ONLINE ONLINE node1

ora....b2.inst application ONLINE ONLINE node2

ora....SM1.asm application ONLINE ONLINE node1

ora....C1.lsnr application ONLINE ONLINE node1

ora....ac1.gsd application ONLINE ONLINE node1

ora....ac1.ons application ONLINE ONLINE node1

ora....ac1.vip application ONLINE ONLINE node1

ora....SM2.asm application ONLINE ONLINE node2

ora....C2.lsnr application ONLINE ONLINE node2

ora....ac2.gsd application ONLINE ONLINE node2

ora....ac2.ons application ONLINE ONLINE node2

ora....ac2.vip application ONLINE ONLINE node2

 

通过Oracle用户身份登录时的启动关闭顺序:

1.关闭RAC:

node1-> ./srvctl stop database -d RACDB

node1-> ./srvctl stop asm -n node1

node1-> ./srvctl stop asm -n node2

node1-> ./srvctl stop nodeapps -n node1

node1-> ./srvctl stop nodeapps -n node2

2.启动RAC:

node1-> ./srvctl start nodeapps -n node1

node1-> ./srvctl start nodeapps -n node2

node1-> ./srvctl start asm -n node1

node1-> ./srvctl start asm -n node2

node1-> ./srvctl start database -d RACDB

--如果想单独启动某个实例,则也可以采取如下命令(假设有两个节点),这个跟以上关闭过程等效的:

node1-> srvctl stop instance -d RACDB -i RACDB1

node1-> srvctl stop instance -d RACDB -i RACDB2

node1-> srvctl stop asm -n node1

node1-> srvctl stop asm -n node2

node1-> srvctl stop nodeapps -n node1

node1-> srvctl stop nodeapps -n node2

--同样,如下的启动过程也是跟以上启动过程等效的(假设有两个节点)

node1-> srvctl start nodeapps -n node1

node1-> srvctl start nodeapps -n node2

node1-> srvctl start asm -n node1

node1-> srvctl start asm -n node2

node1-> srvctl start instance -d RACDB -i RACDB1

node1-> srvctl start instance -d RACDB -i RACDB2

如果单独启动关闭Listener,则可以采用如下命令:

node1-> srvctl start listener -n node1

node1-> srvctl stop listener -n node1

--通过root用户登录时的启动关闭顺序:

通过简单一行命令即可:

·         关闭RAC

node1-> crsctl stop

·         启动RAC

node1-> crsctl start

PS

另附上一个不成功触发器例子:

      原本我的意思是创建一个触发器,当用户登录后检查用户是不是“特殊用户”,如果是的话就就在连接到实例1中。

可惜没有成功!= 。=

如果哪位知道的话希望可以告诉我!

 

create or replace trigger tri_man1

after login on database

when (user in(man1))

begin

   LOGON('MAN1','MAN1'||'@'||'RACDB1');

   dbms_output.put_line("Man1,you are link in RACDB1 database ");

end;

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值