您的位置:首页 > 数据库 > Oracle

虚拟机VMware安装OracleRAC.RedHat Enterprise AS4安装Oracle10g RAC

2013-04-17 15:19 363 查看
虚拟机VMware安装OracleRAC.RedHat Enterprise AS4安装Oracle10g RAC

一、本文环境

虚拟机版本:

VMware GSX Server 3.2.0 build-14497

安装Linux版本:

[root@linuxrac6 etc]# lsb_release -a

LSB Version: :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch

Distributor ID: RedHatEnterpriseAS

Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 2)

Release: 4

Codename: NahantUpdate2

[root@linuxrac6 etc]# cat /etc/redhat-release

Red Hat Enterprise Linux AS release 4 (Nahant Update 2)

[root@linuxrac6 etc]# uname -a

Linux linuxrac6 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 i686 i386 GNU/Linux

可参照官方安装文档:

http://www.oracle.com/technology/global/cn/pub/articles/hunter_rac10gr2.html

或其他比较全面的文档

http://www.uml.org.cn/sjjm/200612311.htm#6

主机环境 双节点:

linuxrac9

linuxrac6

在生产环境下,完全按照官方文档是十分必要的,但在个人测试环境,很难去完全按照官方

文档,换句话说,也没有太多意义,我们不怕暴露问题,这样在安装的过程会了解的更多。一

次性安装成功是比较悲哀的。

二、创建虚拟机

网络图文并茂的文章很多,这里简单列出笔者流程,以供参考:

File ->

New Vitual Machine ->

Custom Next ->

Linux RedHat Enterprise Linux 4 Next ->

名称与目录 Next ->

Access Rights 不选中 make this virtual machine private <可动态调整> Next ->

Use that power on the virtual machine <可动态调整> Next ->

Memory <可动态调整> 当然是越大越好,可惜你没有那么多内存 Next ->

Use bridged networking <可动态调整> Next->

SCSI LSI Logic Next ->

Create a new vitrual disk Next ->

SCSI Next ->

Disk Size 8G 选中 Allocate all disk space now 不选中 Split disk into 2GB files ->

Disk file Name Finish

三、安装虚拟机操作系统,配置节点环境

可参照《虚拟机VMware安装OracleRAC.环境综述》一文配置:

<五、配置两台虚拟机>一节

linuxrac9 linuxrac6

<六、配置双机环境>一节

Oracle10g RAC还需要设置VIP,即还需要修改/etc/hosts,添加如下内容:

134.98.105.233 linuxrac9-vip

134.98.105.234 linuxrac6-vip

VIP(virtual IP 虚拟 IP),使用外部网络IP地址,是Oracle10g RAC的新特性。

采用这个技术后,一个节点发生故障后,与其关联的VIP将被自动切换到另外某个节点

上。新的节点重新进行地址解析,显示一个新MAC地址。对于直接连接的客户端,就会因连接

旧地址时而出现错误。

随后发送到VIP的数据包前往新的节点,该节点将把错误的RST数据包返回客户端。客户端

立即收到错误信息。

当客户端向故障停机的节点发出请求SQL,或者在连接状态下遍历数据时,客户端不会等待

很长的 TCP/IP 超时(大约 10 分钟),而是接收到一个TCP重置消息。对于SQL来说,该信息为

ORA-3113。对于连接,可使用tnsname中的下一个地址。

更进一步的操作是使用透明的应用程序故障切换(TAF)。成功配置TAF后,可以完全避免ORA

-3113错误

如果不使用VIP,连接已停用节点的客户端经常要等待10分钟的TCP超时,然后才能收到错误

信息。不使用VIP不会真正拥有好的高可用性解决方案。

$ cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

134.98.105.170 linuxrac9

134.98.105.171 linuxrac6

192.168.0.9 linuxrac9-priv

192.168.0.6 linuxrac6-priv

134.98.105.233 linuxrac9-vip

134.98.105.234 linuxrac6-vip

<七、设置共享磁盘>一节

四、安装配置OCFS2(oracle cluster file system)共享文件系统

RAC必须设置好共享存储,目前企业生产大多使用磁盘阵列,共享卷组划分裸设备。即稳定,

性能也不错!不过本文要采用的是比较少用的OCFS2文件系统。

提示:

裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取

的特殊字符设备。

Oracle为RedHatEnterpriseAS4提供了OCFS2,先前版本使用的是OCFS。

安装OCFS2之前,须要设置 /usr/bin/system-config-securitylevel 。

OCFS2无法在启用SELinux 的情况下运行。所以必须要禁用 SELinux,即运行“Security

Level Configuration”进行配置:

# /usr/bin/system-config-securitylevel

单击 SELinux 选项卡并取消选中“Enabled”复选框。单击 [OK] 后,将显示一个警告对话框。

只需单击“Yes”确认该警告。所有节点修改后皆须重新引导。

http://oss.oracle.com/projects/ocfs2/ 下载相应组件(必须下载内核相对应的版本):

在每台节点机下,分别安装RPM包。

[root@linuxrac9 setup]# rpm -ivh ocfs2-tools-1.2.7-1.el4.i386.rpm

Preparing... ########################################### [100%]

1:ocfs2-tools ########################################### [100%]

[root@linuxrac9 setup]# rpm -ivh ocfs2-tools-devel-1.2.7-1.el4.i386.rpm

Preparing... ########################################### [100%]

1:ocfs2-tools-devel ########################################### [100%]

[root@linuxrac9 setup]# rpm -ivh ocfs2console-1.2.7-1.el4.i386.rpm

Preparing... ########################################### [100%]

1:ocfs2console ########################################### [100%]

[root@linuxrac9 setup]# rpm -ivh ocfs2-2.6.9-22.EL-1.2.7-1.el4.i686.rpm

Preparing... ########################################### [100%]

1:ocfs2-2.6.9-22.EL ########################################### [100%]

安装后,在每台节点机下,确认ocfs2模块已加载:

[root@linuxrac6 init.d]# /etc/init.d/o2cb status

Module "configfs": Loaded

Filesystem "configfs": Mounted

Module "ocfs2_nodemanager": Loaded

Module "ocfs2_dlm": Loaded

Module "ocfs2_dlmfs": Loaded

Filesystem "ocfs2_dlmfs": Mounted

Checking O2CB cluster ocfs2: Online

Heartbeat dead threshold: 31

Network idle timeout: 30000

Network keepalive delay: 2000

Network reconnect delay: 2000

Checking O2CB heartbeat: Active

如未启动,可通过以下命令,重启

[root@linuxrac6 init.d]# /etc/init.d/o2cb unload

Stopping O2CB cluster ocfs2: OK

Unloading module "ocfs2": OK

Unmounting ocfs2_dlmfs filesystem: OK

Unloading module "ocfs2_dlmfs": OK

Unmounting configfs filesystem: OK

Unloading module "configfs": OK

[root@linuxrac6 init.d]# /etc/init.d/o2cb load

Loading module "configfs": OK

Mounting configfs filesystem at /config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

配置OCFS2,建议使用ocfs2console进行图形化配置:

linuxrac9 0 134.98.105.170 7777

linuxrac6 0 134.98.105.171 7777

配置后生成文件 /etc/ocfs2/cluster.conf (当然也可以手工进行配置) ,内容如下:

[root@linuxrac6 ocfs2]# ls

cluster.conf

[root@linuxrac6 ocfs2]# cat *

cluster:

node_count = 2

name = ocfs2

node:

ip_port = 7777

ip_address = 134.98.105.170

number = 0

name = linuxrac9

cluster = ocfs2

node:

ip_port = 7777

ip_address = 134.98.105.171

number = 1

name = linuxrac6

cluster = ocfs2

再次强调,每台节点机必须都统一配置。

五、格式化与自动挂载

在任一节点进行

fdisk操作(具体分区方法可自带帮助),分区后显示内容:

[root@linuxrac6 ocfs2]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 978 7855753+ 83 Linux

/dev/sda2 979 1043 522112+ 82 Linux swap

Disk /dev/sdb: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 522 4192933+ 83 Linux

用ocfs2格式化分区,具体参数可参看man手册。

[root@linuxrac9 ~]# mkfs.ocfs2 -b 4K -C 32K -N 4 -L oradata /dev/sdb1

mkfs.ocfs2 1.2.7

Overwriting existing ocfs2 partition.

Proceed (y/N): y

Filesystem label=orafiles

Block size=4096 (bits=12)

Cluster size=32768 (bits=15)

Volume size=4293558272 (131029 clusters) (1048232 blocks)

5 cluster groups (tail covers 2005 clusters, rest cover 32256 clusters)

Journal size=67108864

Initial number of node slots: 4

Creating bitmaps: done

Initializing superblock: done

Writing system files: done

Writing superblock: done

Writing backup superblock: 1 block(s)

Formatting Journals: done

Writing lost+found: done

mkfs.ocfs2 successful

在两台节点机分别挂载文件系统:

mount -t ocfs2 -o datavolume /dev/sdb1 /oradata

注意:-o datavolume 不能丢也不能乱改,否则在安装CRS中执行root.sh会提示错误:

ocrconfig Failed to upgrade Oracle Cluster Registry configuration ,查看日志会提示

你分区格式类型错误!这个错误往往让人误解是权限问题,其实不然!

Oracle 数据库用户必须使用 datavolume 挂载选项,安装包含表决磁盘文件、集群注

册表 (OCR)、数据文件、重做日志、归档日志以及控制文件的卷,以确保Oracle进程

打开包含o_direct 标志的文件。

注意:有时会出现如下错误,确认配置无误的情况下,可以启动ocfs2console,点击

下配置(cluster->configure nodes),然后关闭后再次挂载,可解决问题,实在不行再重启,

问题主要来源于虚拟机下安装的不稳定性。

[root@linuxrac6 oradata]# mount -t ocfs2 -o datavolume /dev/sdb1 /oradata

ocfs2_hb_ctl: Unable to access cluster service while starting heartbeat

mount.ocfs2: Error when attempting to run /sbin/ocfs2_hb_ctl: "Operation not permitted"

设置为开机自动启动挂载

1、首先保证启动如下服务:

o2cb

ocfs2 <自动挂载文件系统>

设置启动服务方法众多,如:

[root@linuxrac9 ora9]# system-config-services

想让o2cb自动load须作如下设置

[root@linuxrac9 ora9]# /etc/init.d/o2cb configure

Configuring the O2CB driver.

This will configure the on-boot properties of the O2CB driver.

The following questions will determine whether the driver is loaded on

boot. The current values will be shown in brackets ('[]'). Hitting

<ENTER> without typing an answer will keep that current value. Ctrl-C

will abort.

Load O2CB driver on boot (y/n) [y]: y

Cluster to start on boot (Enter "none" to clear) [ocfs2]: ocfs2

Specify heartbeat dead threshold (>=7) [31]:

Specify network idle timeout in ms (>=5000) [30000]:

Specify network keepalive delay in ms (>=1000) [2000]:

Specify network reconnect delay in ms (>=2000) [2000]:

Writing O2CB configuration: OK

2、修改/etc/fstab增加一项:

[root@linuxrac9 ora9]# vi /etc/fstab

# This file is edited by fstab-sync - see 'man fstab-sync' for details

LABEL=/1 / ext3 defaults 1 1

none /dev/pts devpts gid=5,mode=620 0 0

none /dev/shm tmpfs defaults 0 0

none /proc proc defaults 0 0

none /sys sysfs defaults 0 0

LABEL=SWAP-sda2 swap swap defaults 0 0

/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0

/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0

/dev/sdb1 /oradata ocfs2 datavolume 0 0

事实证明VMware GSX Server 3.2.0 build-14497的共享磁盘不稳定,复制数据经常无故

关机,使得安装无法继续,十分令人头疼,笔者建议如发现此类现象,重新删除重新添加,

可按《虚拟机VMware安装OracleRAC.环境综述》一文描述尝试。

主要怀疑点:

1.ocfs2本身的稳定性

2.<有可能,操作系统不稳定>Red Hat Enterprise Linux AS release 4 本身问题

3.<有可能>虚拟机共享磁盘本身的问题

4.某环节的兼容性问题

六、设置节点机ORACLE的安装环境(各节点皆须设置)

1.设置内核参数

vi /etc/sysctl.conf

该参数定义了共享内存段的最大尺寸值,对于oracle来说,该缺省值太低了,这里将其设置

为261986254 bytes,当然可以根据实际情况更大,曾有人因kernel.shmmax设置太低而在运行

sqlplus " / as sysdba"出现ORA-12547:TNS:lost contact错误,笔者这里设置的N低也没有事。

kernel.shmmax = 261986254

# sysctl -p 立刻生效

2.添加用户组

添加组 oradba

添加用户 oracle

安装,管理,使用多合一

3. .bash_profile 设置

所列出的都是必须项!

a. 其中CRS_HOME没有特别的用义,主要用于查找方便。

b. 安装10G,须要先装CRS,再装Oracle DB,需要修改ORACLE_HOME环境变量。

如:

export ORACLE_HOME=$ORACLE_BASE/crs 用于安装CRS

export ORACLE_HOME=$ORACLE_BASE/db 用于安装Oracle Database

c. export ORACLE_SID=liwei1 在另一台节点上是 export ORACLE_SID=liwei2 ,具体名称

可自行拟定。

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

#ORACLE

export LD_ASSUME_KERNEL=2.4.1

export ORACLE_BASE=/oracle/ora9

export ORACLE_HOME=$ORACLE_BASE/db

export ORACLE_SID=liwei1

export CRS_HOME=$ORACLE_BASE/crs

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

#LIB,CLASS

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin:$CRS_HOME/bin

CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

unset USERNAME

4.配置hangcheck-timer

Oracle9202以前,是使用watchdog来检查系统是否挂起。自9202以后,oracle使用hangcheck-timer

模块。加载hangcheck-timer模块到内核中,能够定时检查系统是否挂起。

hangcheck_tick:该参数定义了模块启动的间隔时段。其默认值为 60 秒。

Oracle建议将其设置为 30 秒。

hangcheck_margin:该参数定义了多少时间以后系统没响应就认为是挂起。以秒为单位。

其默认值为 180秒。Oracle 建议将其设置为 180 秒。

该模块在AS3和AS4中是自带的,但AS4与AS3略有不同。

[root@linuxrac9 bin]# find /lib/modules -name "hangcheck-timer*"

/lib/modules/2.6.9-22.EL/kernel/drivers/char/hangcheck-timer.ko

AS4不能够使用如下命令(AS3)进行加载:

[root@linuxrac9 bin]# insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

insmod: can't read 'hangcheck-timer': No such file or directory

可使用如下方式:

modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

<添加到自动启动>

修改 /etc/rc.local ,加入一行:

modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

加载成功显示如下,注意第一行。

[root@linuxrac9 etc]# lsmod

Module Size Used by

hangcheck_timer 3289 0

ocfs2 375748 1

debugfs 9992 2 ocfs2

ocfs2_dlmfs 25352 1

ocfs2_dlm 228360 2 ocfs2,ocfs2_dlmfs

ocfs2_nodemanager 183024 7 ocfs2,ocfs2_dlmfs,ocfs2_dlm

configfs 26252 2 ocfs2_nodemanager

dm_mirror 27825 0

dm_mod 56661 1 dm_mirror

button 6481 0

battery 8901 0

ac 4805 0

md5 4033 1

ipv6 234881 16

pcnet32 30409 0

mii 4673 1 pcnet32

floppy 58481 0

ext3 116809 1

jbd 71385 2 ocfs2,ext3

mptscsih 41645 0

mptbase 54957 1 mptscsih

sd_mod 17217 5

scsi_mod 121293 2 mptscsih,sd_mod

[root@linuxrac9 etc]# grep hangcheck /var/log/messages

Mar 21 09:11:53 linuxrac9 kernel: Hangcheck: starting hangcheck timer 0.5.0 (tick is 30 seconds, margin is 180 seconds).

5. 补充说明

与安装Oracle 9i不同的是,笔者在安装Oracle10gRAC前,未安装相关补丁,也未修改gcc文件。

七、检查安装条件

如果在安装操作系统过程中选择全部安装就不必烦心了,下面列出Oracle推荐须要的:

binutils-2.15.92.0.2-13.EL4

compat-db-4.1.25-9

compat-libstdc++-296-2.96-132.7.2

control-center-2.8.0-12

gcc-3.4.3-22.1.EL4

gcc-c++-3.4.3-22.1.EL44

glibc-2.3.4-2.9

glibc-common-2.3.4-2.9

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-22.1

libstdc++-devel-3.4.3-22.1

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

setarch-1.6-1

以及

libaio-devel-0.3.103-3

libaio-0.3.103-3

八、使用Oracle安装介质安装CRS

Oracle 10g RAC 安装 需先安装CRS(Oracle提供的集群管理软件),再安装Oracle Database。

这里使用的介质是:

10201_clusterware_linux32.zip

注意:安装CRS不能通过网络mount共享文件夹,否则在过程会提示找不着对应节点(如linuxrac9,

linuxrac9-priv,linuxrac9-vip等),错误提示是十分奇怪的。

mount -t smbfs -o username=administrator,password=yiming,ip=134.98.105.169 -l //micropc/Speed /mntnet

注意:安装有时也会提示linuxrac9-vip这类名称已被使用,首先确保linuxrac9-vip所用IP地址在

网络上无冲突。如问题依然存在,可重新设置节点机/etc/hosts的vip部分再重启。在系统启动信息中

不能相同IP已存在的提示。

安装crs过程中,需要执行root.sh,必须要在单台节点机完成后,再到别外一台节点机执行。

节点机linuxrac9执行记录:

[root@linuxrac9 /]# /oracle/ora9/crs/root.sh

WARNING: directory '/oracle/ora9' is not owned by root

WARNING: directory '/oracle' is not owned by root

Checking to see if Oracle CRS stack is already configured

/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory

Setting up NS directories

Oracle Cluster Registry configuration upgraded successfully

WARNING: directory '/oracle/ora9' is not owned by root

WARNING: directory '/oracle' is not owned by root

assigning default hostname linuxrac9 for node 1.

assigning default hostname linuxrac6 for node 2.

Successfully accumulated necessary OCR keys.

Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.

node <nodenumber>: <nodename> <private interconnect name> <hostname>

node 1: linuxrac9 linuxrac9-priv linuxrac9

node 2: linuxrac6 linuxrac6-priv linuxrac6

Creating OCR keys for user 'root', privgrp 'root'..

Operation successful.

Now formatting voting device: /oradata/crs/vote

Format of 1 voting devices complete.

Startup will be queued to init within 90 seconds.

Adding daemons to inittab

Expecting the CRS daemons to be up within 600 seconds.

CSS is active on these nodes.

linuxrac9

CSS is inactive on these nodes.

linuxrac6

Local node checking complete.

Run root.sh on remaining nodes to start CRS daemons.

节点机linuxrac6执行记录:

[root@linuxrac6 etc]# /oracle/ora9/crs/root.sh

WARNING: directory '/oracle/ora9' is not owned by root

WARNING: directory '/oracle' is not owned by root

Checking to see if Oracle CRS stack is already configured

/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory

Setting up NS directories

Oracle Cluster Registry configuration upgraded successfully

WARNING: directory '/oracle/ora9' is not owned by root

WARNING: directory '/oracle' is not owned by root

clscfg: EXISTING configuration version 3 detected.

clscfg: version 3 is 10G Release 2.

assigning default hostname linuxrac9 for node 1.

assigning default hostname linuxrac6 for node 2.

Successfully accumulated necessary OCR keys.

Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.

node <nodenumber>: <nodename> <private interconnect name> <hostname>

node 1: linuxrac9 linuxrac9-priv linuxrac9

node 2: linuxrac6 linuxrac6-priv linuxrac6

clscfg: Arguments check out successfully.

NO KEYS WERE WRITTEN. Supply -force parameter to override.

-force is destructive and will destroy any previous cluster

configuration.

Oracle Cluster Registry for cluster has already been initialized

Startup will be queued to init within 90 seconds.

Adding daemons to inittab

Expecting the CRS daemons to be up within 600 seconds.

CSS is active on these nodes.

linuxrac9

linuxrac6

CSS is active on all nodes.

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Waiting for the Oracle CRSD and EVMD to start

Oracle CRS stack installed and running under init(1M)

Running vipca(silent) for configuring nodeapps

Creating VIP application resource on (2) nodes...

Creating GSD application resource on (2) nodes...

Creating ONS application resource on (2) nodes...

Starting VIP application resource on (2) nodes...

Starting GSD application resource on (2) nodes...

Starting ONS application resource on (2) nodes...

Done.

九. 处理安装CRS失败

由于各类原因,CRS在虚拟机下安装是十分脆弱的,如发现中途意外关机或重启现象,须

要彻底删除CRS,并重新安装,在原有基础进行修复是没有意义的。

1.停止进程

2.清除自启动文件

rm -f /etc/init.d/init.cssd

rm -f /etc/init.d/init.crs

rm -f /etc/init.d/init.crsd

rm -f /etc/init.d/init.evmd

find /etc -name '*init.crs*' -exec rm {} /;

rm -f /etc/inittab.crs

修改 /etc/inittab 去除文件末尾crs部分

3.重启

确认无任何CRS进程,ps -ef 无 /oracle/ora9/crs/bin/ 类似项

调用 ./runInstaller 删除安装组件

4.手工清除其他文件

rm -rf /etc/oracle/

rm -rf /etc/ora*

rm -rf <CRS安装目录>

rm -rf /tmp

rm -rf /var/tmp

rm -rf <CRS 注册文件和表决文件>

5.设置好环境变量,重新安装

十. 使用Oracle安装介质安装Database

成功安装CRS后,使用如下命令查看运行状态:

[root@linuxrac9 var]# crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

[oracle@linuxrac6 ~]$ crs_stat -t

Name Type Target State Host

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

ora....ac6.gsd application ONLINE ONLINE linuxrac6

ora....ac6.ons application ONLINE ONLINE linuxrac6

ora....ac6.vip application ONLINE ONLINE linuxrac6

ora....ac9.gsd application ONLINE ONLINE linuxrac9

ora....ac9.ons application ONLINE ONLINE linuxrac9

ora....ac9.vip application ONLINE ONLINE linuxrac9

crs命令在任一节点均可操作,查看详细名称可用:

[root@linuxrac6 ~]# crs_stat

NAME=ora.linuxrac6.gsd

TYPE=application

TARGET=ONLINE

STATE=ONLINE on linuxrac6

NAME=ora.linuxrac6.ons

TYPE=application

TARGET=ONLINE

STATE=ONLINE on linuxrac6

NAME=ora.linuxrac6.vip

TYPE=application

TARGET=ONLINE

STATE=ONLINE on linuxrac6

...

查看详细信息,可用命令crs_stat -p ora.linuxrac6.gsd

[root@linuxrac6 ~]# crs_stat -p ora.linuxrac6.gsd

NAME=ora.linuxrac6.gsd

TYPE=application

ACTION_SCRIPT=/oracle/ora9/crs/bin/racgwrap

ACTIVE_PLACEMENT=0

AUTO_START=1

CHECK_INTERVAL=600

DESCRIPTION=CRS application for GSD on node

FAILOVER_DELAY=0

FAILURE_INTERVAL=0

FAILURE_THRESHOLD=0

HOSTING_MEMBERS=linuxrac6

OPTIONAL_RESOURCES=

PLACEMENT=restricted

REQUIRED_RESOURCES=

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=0

STOP_TIMEOUT=0

UPTIME_THRESHOLD=7d

USR_ORA_ALERT_NAME=

USR_ORA_CHECK_TIMEOUT=0

USR_ORA_CONNECT_STR=/ as sysdba

USR_ORA_DEBUG=0

USR_ORA_DISCONNECT=false

USR_ORA_FLAGS=

USR_ORA_IF=

USR_ORA_INST_NOT_SHUTDOWN=

USR_ORA_LANG=

USR_ORA_NETMASK=

USR_ORA_OPEN_MODE=

USR_ORA_OPI=false

USR_ORA_PFILE=

USR_ORA_PRECONNECT=none

USR_ORA_SRV=

USR_ORA_START_TIMEOUT=0

USR_ORA_STOP_MODE=immediate

USR_ORA_STOP_TIMEOUT=0

USR_ORA_VIP=

确认一切正常后,使用安装介质安装,注意修改ORACLE_HOME路径,这里使用的是

export ORACLE_HOME=/oracle/ora9/db

安装介质:

10201_database_linux32.zip

安装过程没有什么可说的,笔者推荐安装database全部组件项,不建议自定义安装。安

装过程内存尽量设置的大一些。

强调,这里只安装软件,不创建数据库。

十一、处理安装Database失败

rm -rf /tmp

使用 ./runInstaller删除相应组件

rm -rf <database安装目录>

以下步骤,未安装数据库可跳过

rm -rf <数据库文件目录>

rm -rf <数据库RAC配置文件目录 admin>

十二、配置监听

启动netca,选择配置集群,

配置监听,添加监听,一直NEXT。

配置本地命名方法,只添加“本地命名”,NEXT,完成。

这时用crs_stat -t 查看,即多了两个lsnr的进程。

[root@linuxrac6 ~]# crs_stat -t

Name Type Target State Host

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

ora....C6.lsnr application ONLINE ONLINE linuxrac6

ora....ac6.gsd application ONLINE ONLINE linuxrac6

ora....ac6.ons application ONLINE ONLINE linuxrac6

ora....ac6.vip application ONLINE ONLINE linuxrac6

ora....C9.lsnr application ONLINE ONLINE linuxrac9

ora....ac9.gsd application ONLINE ONLINE linuxrac9

ora....ac9.ons application ONLINE ONLINE linuxrac9

ora....ac9.vip application ONLINE ONLINE linuxrac9

如使用rsh的rcp方法,偶尔在配置监听时会提示rcp失败,还是推荐ssh!

这个步骤十分重要,如跳过,直接创建数据库,会提示ORA-12547:TNS:lost contact,即

便以后重新正确配置,也还会提示ORA-12547:TNS:lost contact错误,在oracle用户下使用sqlplus

" / as sysdba "也会同样提示这个错误,解决这个问题,须重新安装oracle database。

提示ORA-12547:TNS:lost contact错误时,sqlnet.log内容:

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

Fatal NI connect error 12546, connecting to:

(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/oracle/ora9/db/bin/oracle)(ARGV0=oracleliwei1)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')(DETACH=NO))(CONNECT_DATA=(CID=(PROGRAM=sqlplus)(HOST=linuxrac9)(USER=root))))

VERSION INFORMATION:

TNS for Linux: Version 10.2.0.1.0 - Production

Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production

TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production

Time: 20-MAR-2008 17:24:08

Tracing not turned on.

Tns error struct:

ns main err code: 12546

TNS-12546: TNS:permission denied

ns secondary err code: 12560

nt main err code: 516

TNS-00516: Permission denied

nt secondary err code: 13

nt OS err code: 0

另外,有个常见错误也要说明下:

Unable to connect to database. ORA-12162: TNS:Service name is incorrectly specified

这是由于配置文件.bash_profile中ORACLE_SID名称不对,或者配置文件里的名称前带空格造成。

可以通过手工临时修改为安装时配置名称,然后进行后续操作。

[root@linuxrac6 ~]# export ORACLE_SID=liwei1

[root@linuxrac6 ~]# sqlplus '/ as sysdba'

十三、创建数据库

使用 dbca -datafileDestination /oradata/liwei 创建数据库。

-datafileDestination /oradata/liwei 表示指定数据库文件存放目录,也可在dbca界面选择。

创建时选择全部节点,由于本示例未使用ASM,须跳过配置ASM部分。

注意:

临近最后配置服务时,须手工点击添加,输入服务名,这里是liwei,这里界面右侧会

自动添加两个实例,默认设置为首选,默认TAF策略为无,单击下一步。

注意:

由于空间问题,可以缩减创建表空间的大小,但REDO不可盲目减少,RAC须指定不同

thread,新手可直接保持REDO的默认设置。

创建数据库这个步骤在虚拟机上操作是最慢的,须耐性等待。完成后,即可进行RAC数据库

的测试了。

crs_stat -t 如下显示:

[oracle@linuxrac6 ~]$ crs_stat -t

Name Type Target State Host

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

ora....C6.lsnr application ONLINE ONLINE linuxrac6

ora....ac6.gsd application ONLINE ONLINE linuxrac6

ora....ac6.ons application ONLINE ONLINE linuxrac6

ora....ac6.vip application ONLINE ONLINE linuxrac6

ora....C9.lsnr application ONLINE ONLINE linuxrac9

ora....ac9.gsd application ONLINE ONLINE linuxrac9

ora....ac9.ons application ONLINE ONLINE linuxrac9

ora....ac9.vip application ONLINE ONLINE linuxrac9

ora.liwei.db application ONLINE ONLINE linuxrac9

ora....iwei.cs application ONLINE ONLINE linuxrac6

ora....ei1.srv application ONLINE ONLINE linuxrac9

ora....ei2.srv application ONLINE ONLINE linuxrac6

ora....i1.inst application ONLINE ONLINE linuxrac9

ora....i2.inst application ONLINE ONLINE linuxrac6

十四、总结

虚拟机 Oracle 10g RAC 环境构建完成。后续文章将着重介绍CRS相关应用方法和故障排除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: