oracle10g rac configuration for linux x86

51
Dbabc.net Email: [email protected] ----------------------------------------------------------------------------------------------------------------- 1 页,共 51 Oracle10g RAC Configuration for Linux x86_64bit 目录 一、安装前的准备工作 ................................................................................................. 2 1.1 安装 Linux ........................................................................................................ 2 1.2 配置/etc/hosts .................................................................................................... 2 1.3Disable SELinux ................................................................................................ 2 1.4 分区.................................................................................................................... 3 1.5 创建组和用户.................................................................................................... 4 1.6 环境变量配置以及软件包的检查 ................................................................... 6 1.7 ssh 配置 ............................................................................................................. 8 1.7.1 所有节点创建.ssh 目录 ......................................................................... 8 1.7.2 生成密钥对............................................................................................ 8 1.7.3 所有节点查看相关信息 ........................................................................ 9 1.7.4 密钥分发............................................................................................... 10 1.7.5 测试 ssh ................................................................................................ 11 二、OCFS 的安装及配置............................................................................................ 11 2.1 安装 OCFS ..................................................................................................... 11 2.2 格式化分区为 OCFS2 格式........................................................................... 12 2.3 配置集群节点.................................................................................................. 14 2.4 配置 o2cb ......................................................................................................... 17 三、ClusterWare 安装................................................................................................ 18 四、Oracle10g 软件安装............................................................................................ 34 六、监听配置以及 RAC 测试..................................................................................... 47 6.1 修改 Node1 tnsnames.ora 文件................................................................ 47 6.2 修改 Node2 tnsnames.ora 文件................................................................ 48 6.3 修改参数 local_listener .................................................................................. 49 6.4 重新启动所有实例及监听器 ......................................................................... 49 6.5.客户端 tnsname.ora 设置 .............................................................................. 50 6.6.测试 RAC........................................................................................................ 50 七、RAC 重启命令...................................................................................................... 51 八、附:卸载 ClusterWare ......................................................................................... 51

Upload: dbabc

Post on 28-Jan-2015

140 views

Category:

Technology


9 download

DESCRIPTION

Oracle10g Rac Configuration For Linux X86

TRANSCRIPT

Dbabc.net Email : [email protected]

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

第 1 页,共 51 页

Oracle10g RAC Configuration for Linux x86_64bit

目录

一、安装前的准备工作 ................................................................................................. 2

1.1 安装 Linux ........................................................................................................ 2

1.2 配置/etc/hosts .................................................................................................... 2

1.3Disable SELinux ................................................................................................ 2

1.4 分区.................................................................................................................... 3

1.5 创建组和用户.................................................................................................... 4

1.6 环境变量配置以及软件包的检查 ................................................................... 6

1.7 ssh 配置 ............................................................................................................. 8

1.7.1 所有节点创建.ssh 目录 ......................................................................... 8

1.7.2 生成密钥对............................................................................................ 8

1.7.3 所有节点查看相关信息 ........................................................................ 9

1.7.4 密钥分发............................................................................................... 10

1.7.5 测试 ssh ................................................................................................ 11

二、OCFS 的安装及配置 ............................................................................................ 11

2.1 安装 OCFS ..................................................................................................... 11

2.2 格式化分区为 OCFS2 格式 ........................................................................... 12

2.3 配置集群节点.................................................................................................. 14

2.4 配置 o2cb......................................................................................................... 17

三、ClusterWare 安装................................................................................................ 18

四、Oracle10g 软件安装 ............................................................................................ 34

六、监听配置以及 RAC 测试 ..................................................................................... 47

6.1 修改 Node1 的 tnsnames.ora 文件 ................................................................ 47

6.2 修改 Node2 的 tnsnames.ora 文件 ................................................................ 48

6.3 修改参数 local_listener .................................................................................. 49

6.4 重新启动所有实例及监听器 ......................................................................... 49

6.5.客户端 tnsname.ora 设置 .............................................................................. 50

6.6.测试 RAC ........................................................................................................ 50

七、RAC 重启命令 ...................................................................................................... 51

八、附:卸载 ClusterWare......................................................................................... 51

Dbabc.net Email : [email protected]

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

第 2 页,共 51 页

一、安装前的准备工作

1.1 安装 Linux

安装过程略,首先确定所安装 Linux 的版本。

本案例的 Linux Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

1.2 配置/etc/hosts

注:此操作需要在每个个节点都要操作

[root@node1 ~]# vi /etc/hosts

注:每个节点都需要一个唯一的公共和专用网际协议 (Internet Protocol, IP)

地址,以及一个附加公共 IP 地址,该附加公共 IP 地址作为客户端连接和连接

故障转移的虚拟 IP 地址。虚拟 IP 地址必须与公共 IP 属于同一个子网。

Hostname 最好用小写 (多个 PUBLIC NIC 的时候最好只用一个, hosts 这里我们

暂时保留)

1.3Disable SELinux

注:此操作需要在每个个节点都要操作

永久性 Disable SELinux:

[root@node1 ~]# vi /etc/grub.conf

Dbabc.net Email : [email protected]

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

第 3 页,共 51 页

此处需要注意:在 grub.conf 中

title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp)

root (hd0,0)

kernel /vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet

selinux=0

initrd /initrd-2.6.9-42.ELsmp.img

title Red Hat Enterprise Linux AS-up (2.6.9-42.EL)

root (hd0,0)

kernel /vmlinuz-2.6.9-42.EL ro root=LABEL=/ rhgb quiet

selinux=0

initrd /initrd-2.6.9-42.EL.imgLinux

其中 Linux 的版本 2.6.9-42.ELsmp 中的 ELsmp 表示 Red Hat Linux kernel that

supports symmetric multiprocessing (multiple processor machines) <---- 对

称多处理器机器。2.6.9-42.EL 中的 EL 表示 Red Hat Linux kernel for

uniprocessor machines <---- 支持单处理器机器。 为了安全起见最好将这两个

都添加上 selinux=0。

重启机子使得 selinux 生效。

1.4 分区

在分区之前需要安装 Powerpath 软件。

插入 Powerpath 软件光盘

进入光盘的目录 cd /media/cdrom/LINUX/2.6/pp5.0.x/rhel

找到 EMCpower.LINUX-5.0.0-157.rhel.x86_64.rpm 使用以下命令进行安装

rpm -ivh EMCpower.LINUX-5.0.0-157.rhel.x86_64.rpm

emcpreg -install 输入 *24 位序列号

安装完毕之后重启机子,重启之后通过 powermt display dev=all 检查是否安装

Dbabc.net Email : [email protected]

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

第 4 页,共 51 页

成功。

然后进行分区操作

[root@node1~]#fdisk /dev/emcpowera1

其它分区一样 /ocfs_data /ocfs_index /ocfs_log

1.5 创建组和用户

注:此操作需要在每个个节点都要操作

Dbabc.net Email : [email protected]

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

第 5 页,共 51 页

[root@node1 ~]# groupadd oinstall

[root@node1 ~]# groupadd -g 500 dba

[root@node1 ~]# groupadd -g 501 oinstall

[root@node1 ~]# useradd -u 500 -g dba -G oinstall oracle

[root@node1 ~]# passwd oracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

注:dba 是 Primary Group

Oracle 环境变量的设置:

修改 oracle 用户下的.bash_profile

在.bash_profile 下添加如下信息

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

# Set Oracle Environment

ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME

ORACLE_SID=racsid1;export ORACLE_SID

ORACLE_OWNER=oracle;export ORACLE_OWNER

ORACLE_BASE=/u01/product;export ORACLE_BASE

ORACLE_TERM=vt100;export ORACLE_TERM

LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH

set -u

PS1=`hostname`'<$PWD>$';export PS1

EDITOR=/bin/vi; export EDITOR

JAVA_HOME=/usr/local/java;export JAVA_HOME

ORA_NLS33=/u01/product/oracle/ocommon/nls/admin/data;export ORA_NLS33

CLASSPATH=/u01/product/oracle/jdbc/lib/classesl11.zip:/usr/local/java;

export DISPLAY=127.0.0.1:0.0

export LD_ASSUME_KERNEL=2.6.9

Dbabc.net Email : [email protected]

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

第 6 页,共 51 页

PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:/u01/product/crs/bin:.;expo

rt PATH

cat .bash_profile

1.6 环境变量配置以及软件包的检查

注:此操作需要在每个个节点都要操作

确定以下软件包必须安装,检查是否安装软件包的命令#rpm -qa|grep compat

如果有没安装的软件请执行 #rpm –ivh xxxx 安装软件包

或者: rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n'

\binutils compat-db compat- libstdc++-296 control-center gcc gcc-c++ glibc

glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver

setarch

binutils-2.15.92.0.2-21

compat-db-4.1.25-9

Dbabc.net Email : [email protected]

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

第 7 页,共 51 页

control-center-2.8.0-12.rhel4.5

gcc-3.4.6-3

gcc-c++-3.4.6-3

glibc-2.3.4-2.25

glibc-common-2.3.4-2.25

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.6-3

libstdc++-3.4.6-3

make-3.80-6.EL4

pdksh-5.2.14-30.3

sysstat-5.0.5-11.rhel4

xscreensaver-4.18-5.rhel4.11

libaio-0.3.105-2

libaio-devel-0.3.105-2

#chown –R oracle.dba /u01

#chmod 755 /u01

#chown –R oracle.dba /ocfs_data

#chmod 755 /ocfs_data

修改内核参数

Vi /etc/sysctl.conf,增加以下各行

kernel.shmall = 2097152

kernel.shmmax = 4294967296 # 此处的值 是物理内存的一半

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 262144

修改后运行 sysctl -p 命令使得内核改变立即生效

设置/etc/security/limits.conf,

#vi /etc/security/limits.conf

加入:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

修改/etc/pam.d/login

Dbabc.net Email : [email protected]

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

第 8 页,共 51 页

添加

Session required pam_limits.so

1.7 ssh 配置

1.7.1所有节点创建.ssh目录

Node1

node1</home/oracle>$pwd

/home/oracle

node1</home/oracle>$mkdir .ssh

node1</home/oracle>$chmod 700 .ssh

node1</home/oracle>$

Node2

node2</home/oracle>$pwd

/home/oracle

node2</home/oracle>$mkdir .ssh

node2</home/oracle>$chmod 700 .ssh

node2</home/oracle>$

1.7.2 生成密钥对

Node1

node1</home/oracle>$ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_rsa.

Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:

d8:9c:2d:2f:01:45:e7:43:5b:8f:9c:de:26:39:bf:e0 oracle@node1

node1</home/oracle>$

node1</home/oracle>$ssh-keygen -t dsa

Generating public/private dsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_dsa.

Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.

The key fingerprint is:

17:70:f5:02:ab:ce:e5:d9:79:b6:1e:d4:ff:65:33:8b oracle@node1

Node2

Dbabc.net Email : [email protected]

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

第 9 页,共 51 页

node2</home/oracle>$ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_rsa.

Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:

b7:6b:33:7c:04:ea:d5:43:bc:6c:1d:b1:3c:b3:a5:59 oracle@node2

node2</home/oracle>$

node2</home/oracle>$ssh-keygen -t dsa

Generating public/private dsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_dsa.

Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.

The key fingerprint is:

ae:0a:a7:a7:4c:d3:50:3f:7e:e8:11:8e:53:ea:97:47 oracle@node2

1.7.3所有节点查看相关信息

Node1

node1</home/oracle/.ssh>$pwd

/home/oracle/.ssh

node1</home/oracle/.ssh>$ls –alh

total 24K

drwx------ 2 oracle dba 4.0K Nov 3 10:34 .

drwx------ 23 oracle dba 4.0K Nov 3 10:30 ..

-rw------- 1 oracle dba 668 Nov 3 10:34 id_dsa

-rw-r--r-- 1 oracle dba 602 Nov 3 10:34 id_dsa.pub

-rw------- 1 oracle dba 887 Nov 3 10:33 id_rsa

-rw-r--r-- 1 oracle dba 222 Nov 3 10:33 id_rsa.pub

Node2

node2</home/oracle/.ssh>$pwd

/home/oracle/.ssh

node2</home/oracle/.ssh>$ls –alh

total 24K

drwx------ 2 oracle dba 4.0K Nov 3 10:45 .

drwx------ 20 oracle dba 4.0K Nov 3 10:31 ..

-rw------- 1 oracle dba 672 Nov 3 10:45 id_dsa

Dbabc.net Email : [email protected]

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

第 10 页,共 51 页

-rw-r--r-- 1 oracle dba 602 Nov 3 10:45 id_dsa.pub

-rw------- 1 oracle dba 887 Nov 3 10:45 id_rsa

-rw-r--r-- 1 oracle dba 222 Nov 3 10:45 id_rsa.pub

1.7.4密钥分发

Node1

node1</home/oracle/.ssh>$ssh node1 cat

/home/oracle/.ssh/id_rsa.pub >>authorized_keys

The authenticity of host 'node1 (192.168.0.25)' can't be established.

RSA key fingerprint is f8:93:51:cd:af:ee:81:a0:f6:eb:b5:14:58:f2:a5:0a.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'node1,192.168.0.25' (RSA) to the list of known

hosts.

oracle@node1's password:

node1</home/oracle/.ssh>$ssh node1 cat

/home/oracle/.ssh/id_dsa.pub >>authorized_keys

node1</home/oracle/.ssh>$ssh node2 cat

/home/oracle/.ssh/id_rsa.pub >>authorized_keys

The authenticity of host 'node2 (192.168.0.26)' can't be established.

RSA key fingerprint is 30:84:8c:43:58:a3:0a:8d:07:49:d3:4c:51:37:18:91.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'node2,192.168.0.26' (RSA) to the list of known

hosts.

oracle@node2's password:

node1</home/oracle/.ssh>$ssh node2 cat

/home/oracle/.ssh/id_dsa.pub >>authorized_keys

oracle@node2's password:

node1</home/oracle/.ssh>$

node1</home/oracle/.ssh>$scp authorized_keys node2:/home/oracle/.ssh

oracle@node2's password:

authorized_keys 100% 1648 1.6KB/s 00:00

Node2

node2</home/oracle/.ssh>$ls –alh

total 28K

drwx------ 2 oracle dba 4.0K Nov 3 11:08 .

drwx------ 20 oracle dba 4.0K Nov 3 10:31 ..

-rw-r--r-- 1 oracle dba 1.7K Nov 3 11:08 authorized_keys

-rw------- 1 oracle dba 672 Nov 3 10:45 id_dsa

Dbabc.net Email : [email protected]

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

第 11 页,共 51 页

-rw-r--r-- 1 oracle dba 602 Nov 3 10:45 id_dsa.pub

-rw------- 1 oracle dba 887 Nov 3 10:45 id_rsa

-rw-r--r-- 1 oracle dba 222 Nov 3 10:45 id_rsa.pub

node2</home/oracle/.ssh>$chmod 600 authorized_keys

1.7.5测试ssh

在 node1 上:node1</home/oracle/.ssh>$ssh node2 date

Mon Nov 3 11:12:12 CST 2008

同样在 node2 上:node2</home/oracle>$ssh node1 date

Tue Nov 4 14:05:56 CST 2008

不需要输入密码说明配置 ssh OK

二、OCFS的安装及配置

2.1 安装 OCFS

注:此操作需要在每个个节点都要操作。

首先要选择正确的 OCFS 版本。

OCFS 的版本要与 Linux 的版本的相符合。建议从 http://oss.oracle.com/ 下载

node1</home/oracle>$uname -a

Linux node1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 x86_64

x86_64 GNU/Linux

与此 Linux 想对应的 OCFS 的软件 版本是

ocfs2‐tools‐1.2.7‐1.el4.x86_64.rpm

ocfs2-2.6.9-42.ELsmp-1.2.5-6.x86_64.rpm 一定要与 Linux 的相同

ocfs2console‐1.2.7‐1.el4.x86_64.rpm

注:ocfs2-2.6.9-42.ELsmp-1.2.5-6.x86_64.rpm 的版本一定要与 Linux 的版本

相同,而 ocfs2‐tools 和 ocfs2console 则不需要。

首先在 node1 上安装

[root@node1 ~]# rpm -ivh ocfs2-tools-1.2.7-1.el4.x86_64.rpm

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

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

[root@node1 ~]#

[root@node1 ~]# rpm -ivh ocfs2-2.6.9-42.ELsmp-1.2.7-1.el4.x86_64.rpm

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

1:ocfs2-2.6.9-42.ELsmp################################# [100%]

[root@node1 ~]# rpm -ivh ocfs2console-1.2.7-1.el4.x86_64.rpm

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

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

然后再 node2 上安装

Dbabc.net Email : [email protected]

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

第 12 页,共 51 页

[root@node2 ~]# rpm -ivh ocfs2-tools-1.2.7-1.el4.x86_64.rpm

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

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

[root@node2 ~]# rpm -ivh ocfs2-2.6.9-42.ELsmp-1.2.7-1.el4.x86_64.rpm

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

1:ocfs2-2.6.9-42.ELsmp################################## [100%]

[root@node2 ~]# rpm -ivh ocfs2console-1.2.7-1.el4.x86_64.rpm

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

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

当然你也可以使用 rmp –ivh ocfs* 来安装全部的软件。

2.2 格式化分区为 OCFS2 格式

在 node1上用 root用户运行 ocfs2console 然后点击 TasksFormat出现如下图

所示接口

[root@node1 ~]# ocfs2console

点击 OK 后,如下图所示点击 YES

Dbabc.net Email : [email protected]

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

第 13 页,共 51 页

出现下图所示的格式化状态

格式化完成后如下图所示

Dbabc.net Email : [email protected]

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

第 14 页,共 51 页

2.3 配置集群节点

格式化完成后,开始配置集群节点(在 node1 上即可)如下图所示

之后弹出如下窗口

Dbabc.net Email : [email protected]

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

第 15 页,共 51 页

点击 Add 如下所示

添加物理主机网卡 ip 地址及主机 Host Name 。注:此 ip 是 eth0 上的 ip 地址

然后接着 add 节点,然后同样加入节点 2 的物理主机网卡位元元址及主机 Host

Name (就是主机名称) 。如果有第三个节点,也需要加入。依次类推。

确认 “apply”的时候如果报错:

o2cb_ctl: Unable to access cluster service while creating node

那么需要到 /etc/ocfs2/ 查看 cluster.conf 是否有内容,如果有,全部删除掉。

然后继续上面的一步,加入两个节点的 Private IP 及 Public Host Name. 一般

Dbabc.net Email : [email protected]

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

第 16 页,共 51 页

这个时候 APPLY 不会报错,而会出现以下的 OK 的画面。 而且其中的 active 及

Node 的下面会有内容出现。见下图:

在 node1 上查看/etc/ocfs2/cluster.conf 如下所示

在 node1 上利用接口上传配置文件到其它节点:

# ocfs2console

然后选择 Cluster ‐> Propagate Configuration„„ 所有都 finished, 然后

File‐>Quit

Dbabc.net Email : [email protected]

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

第 17 页,共 51 页

开始测试及配置 O2CB ,当然这一步运行没有问题的前提是前面的 ocfs2 配置完

全没有问题。在所有节点上,enable cluster stack .

测试方法:

[root@node1 ocfs2]# /etc/init.d/o2cb enable

Writing O2CB configuration: OK

O2CB cluster ocfs2 already online

2.4 配置 o2cb

在所有的节点上配置

[root@node1 ~]# /etc/init.d/o2cb configure

Configuring the O2CB driver.

Dbabc.net Email : [email protected]

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

第 18 页,共 51 页

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]:

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

O2CB cluster ocfs2 already online

同样在 node2 上运行以上命令。

测试 o2cb

可以通过以下命令来关闭,启动,查看 o2cb 的状态。目前启动状态。

[root@node1 ~]# /etc/init.d/o2cb stop

[root@node1 ~]# /etc/init.d/o2cb start

一切 ok 之后,开始挂载 ocfs2 分区

在每个节点上建立挂载点目录,并给权限(每个节点),

# mkdir ‐p /ocfs_data /ocfs_index /ocfs_log

# chown ‐R oracle.dba /ocfs_data /ocfs_index /ocfs_log

# chmod 775 /ocfs_data /ocfs_index /ocfs_log

然后在每个节点,修改 /etc/fstab 档,添加以下存储系统(每个节点)

/dev/emcpowera1 /ocfs_data ocfs2 _netdev,datavolume,nointr 0 0

/dev/emcpowerb1 /ocfs_index ocfs2 _netdev,datavolume,nointr 0 0

/dev/emcpowerc1 /ocfs_log ocfs2 _netdev,datavolume,nointr 0 0

在节点 1 上运行 # mount ‐a ‐t ocfs2 查看是否能挂载,df ‐h 可以看到。

重新启动几次,查看是否能自动加载新增加的文件系统。

三、ClusterWare 安装

在安装之前首先要检查所有的节点是否时间同步。

通过 ntpdate 10.161.8.200 命令在所有的节点上运行。

如果时间不同步的话在安装 cluster 的过程中会出错。一定要时间同步切记。

Dbabc.net Email : [email protected]

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

第 19 页,共 51 页

为了检查安装 ClusterWare 需要的环境参数是否完整,可以通过运行

sh runcluvfy.sh stage -pre crsinst -n node1,node2 来检查安装之前的条件。

此步骤需要用 oracle 用户来执行

通过 sh runcluvfy.sh 检查的过程中有两个 oracle 的 bug:

1.)

ERROR:

Could not find a suitable set of interfaces for VIPs.

Node connectivity check failed.

2.)Membership check for user "oracle" in group "oinstall" [as Primary]

failed.

Check failed on nodes:

node2,node1

Administrative privileges check failed.

此两处是 oracle 的 bug,其它的检测项目都应该是 pass。

最后开始安装 ClusterWare[以 oracle 用户执行] .

在 node1 上面:

将 clusterware 的 zip 文件解压(gunzip)为

10201_clusterware_linux_x86_64.cpio

然后使用命令: $ cpio ‐idmv <10201_clusterware_linux_x86_64.cpio

解压为 clusterware 目录 。 然后在图形接口下开始执行(在节点 1 上执行):

Dbabc.net Email : [email protected]

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

第 20 页,共 51 页

需要用 root 来运行 rootpre.sh 运行之后输入[y]

如下图所示:

点击【Next】出现如下窗口,选择【Product Languages】将【Path】更改为

Dbabc.net Email : [email protected]

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

第 21 页,共 51 页

/u01/product/crs

点击【OK】之后如下图所示

Dbabc.net Email : [email protected]

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

第 22 页,共 51 页

Oracle Check 一切 ok,点击【Next】,如下图所示

添加节点 2(node2)相关信息如下

Dbabc.net Email : [email protected]

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

第 23 页,共 51 页

点击【OK】之后如下图所示

Dbabc.net Email : [email protected]

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

第 24 页,共 51 页

点击【Next】,如下所示将 192.168.0.1 编辑为【Public】

点击【OK】如下所示

Dbabc.net Email : [email protected]

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

第 25 页,共 51 页

点击【Next】如下图所示操作

其中 normal redundancy(默认方式)表示 Oracle 提供 2 路镜像来保护数据。

external redundancy 表示 Oracle 不帮你管理镜像,功能由外部存储系统实现。

Dbabc.net Email : [email protected]

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

第 26 页,共 51 页

这里我们都选择 external redundancy,将其放到公用的存储中。

点击【Next】开始安装

之后,需要用 root 用户在 node1 和 node2 上分别运行

Dbabc.net Email : [email protected]

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

第 27 页,共 51 页

/u01/product/oraInventory/orainstRoot.sh 和 /u01/product/root.sh

注意运行的顺序,先在 node1 上运行,运行状态如下图所示

[root@node1 ~]# sh /u01/product/crs/root.sh

Dbabc.net Email : [email protected]

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

第 28 页,共 51 页

在 node1 上运行完成之后,在 node2 上运行

Dbabc.net Email : [email protected]

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

第 29 页,共 51 页

在节点 2 提示行 Running vipca(silent) for configuring nodeapps

按照提示信息运行 vipca,运行过程如下图所示

注:通常情况下,会在最后一个节点上提示运行 vipca

Dbabc.net Email : [email protected]

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

第 30 页,共 51 页

按照提示信息操作,选择所有的网卡

点击【Next】需要输入 Virtural IP 根据/etc/hosts 里的信息输入 IP Alias Name,

这样 ip address 就跟着带了出来。如下所示

Dbabc.net Email : [email protected]

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

第 31 页,共 51 页

Dbabc.net Email : [email protected]

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

第 32 页,共 51 页

Dbabc.net Email : [email protected]

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

第 33 页,共 51 页

安装完之后,在 node1 上点击 ok 后完成安装

Dbabc.net Email : [email protected]

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

第 34 页,共 51 页

到此 Cluster Ware 安装完成。

四、Oracle10g 软件安装

node1</home/oracle/rac>$cpio - idmv<10201_database_linux_x86_64.cpio

node1</home/oracle/rac>$cd database

node1</home/oracle/rac>$ls

Dbabc.net Email : [email protected]

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

第 35 页,共 51 页

Dbabc.net Email : [email protected]

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

第 36 页,共 51 页

Dbabc.net Email : [email protected]

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

第 37 页,共 51 页

选择所有的节点,进行安装

Dbabc.net Email : [email protected]

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

第 38 页,共 51 页

按照上图填写 group

Dbabc.net Email : [email protected]

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

第 39 页,共 51 页

选择仅安装软件,之后通过 dbca 来建库

Dbabc.net Email : [email protected]

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

第 40 页,共 51 页

安装过程中提示 用 root 用户 运行 root.sh

分别在 node1 和 node2 上用 root 运行 root.sh

Dbabc.net Email : [email protected]

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

第 41 页,共 51 页

Dbabc.net Email : [email protected]

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

第 42 页,共 51 页

五、DBCA 创建数据库

Dbabc.net Email : [email protected]

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

第 43 页,共 51 页

如上图所示选择所有的节点

Dbabc.net Email : [email protected]

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

第 44 页,共 51 页

其它部分略掉,在 Step11 中需要添加 Services name

点击左侧的 Add 按钮出现如下所示的接口,

Dbabc.net Email : [email protected]

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

第 45 页,共 51 页

在弹出的窗口中输入 services name 的名字:hft_data

点击【OK】之后如下图所示

Dbabc.net Email : [email protected]

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

第 46 页,共 51 页

点击【Next】进入下一步的安装。

在接下来的 dbca 的过程当中会出下如下的错误提示,此错误是由于没有运行

netca 创建 listener 引起的。点击【Yes】,创建默认的 listener。dbca 结束之

后可以通过修改 tnsnames.ora 以及 listener.ora 来解决此 error。

Dbabc.net Email : [email protected]

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

第 47 页,共 51 页

点击【Exit】dbca 建库完成

Dbca 结束之后可以进入 sqlplus 查看一下相关的参数。

六、监听配置以及RAC测试

配置相关参数档:listener.ora , tnsnames.ora

SQL> show parameter listener

NAME TYPE VALUE

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

local_listener string

remote_listener string LISTENERS_RACNAME

SQL>

开始修改及配置节点1,2 的spfile 中的local_listener, 以及Listener.ora 、

tnsnames.ora

6.1 修改 Node1 的 tnsnames.ora 文件

确认 tnsnames.ora 已经备份,然后在节点 1 上 tnsnames.ora 中修改。

①.在 tnsnames.ora 添加

Dbabc.net Email : [email protected]

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

第 48 页,共 51 页

LOCAL_RAC =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.25)(PORT = 1521))

)

此处的 host 需要填写 node1 物理主机的真实 ip(即 eth0 上的 ip)

②.将 LISTENERS_RACNAME 的主机名修改成虚拟 ip

LISTENERS_RACNAME =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521))

)

③.修改 node1 listener.ora 将主机名换成虚拟 ip 即可

LISTENER_NODE1 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)(IP

= FIRST))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.25)(PORT = 1521)(IP = FIRST))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

)

6.2 修改 Node2 的 tnsnames.ora 文件

确认 tnsnames.ora 已经备份,然后在 node2 上 tnsnames.ora 中修改。

①.在 tnsnames.ora 添加

LOCAL_RAC =

(ADDRESS_LIST =

Dbabc.net Email : [email protected]

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

第 49 页,共 51 页

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.26)(PORT = 1521))

)

此处的 host 需要填写 node2 物理主机的真实 ip(即 eth0 上的 ip)

②.将 LISTENERS_RACNAME 的主机名修改成虚拟 ip

LISTENERS_RACNAME =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521))

)

③ 修改 node2 listener.ora 将主机名换成虚拟 ip 即可

LISTENER_NODE1 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521)(IP

= FIRST))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.26)(PORT = 1521)(IP = FIRST))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

)

6.3 修改参数 local_listener

SQL> alter system set local_listener='LOCAL_RAC' scope=both ;

注:节点 1 上执行就行了,因为 spfile 共享

6.4 重新启动所有实例及监听器

每个节点上重新启动所有实例及监听器

Dbabc.net Email : [email protected]

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

第 50 页,共 51 页

6.5.客户端 tnsname.ora 设置

RAC =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521))

(FAILOVER = ON)

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = hfthrp)

)

)

如果有必要的话也可以设置一个 IP 连接单机

6.6.测试 RAC

配置安装完成。测试如下

node1</home/oracle>$crs_stat -t

State 全部显示 online 说明一切 ok

Dbabc.net Email : [email protected]

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

第 51 页,共 51 页

七、RAC重启命令

重启 RAC

关闭 RAC:

1.首先关闭 OEM:$emctl start dbconsole

2.关闭数据库:$ srvctl stop database -d db_name

3.关闭 crs:#crsctl stop crs 此处需要用 root 权限,并且需要在全部节

点上执行。

4.重启服务器:#init6

启动 RAC

由于 RAC 开机自动启动,开机后通过运行 crs_stat –t 查看 RAC 是否

完全启动。如果其 status 是 offline 状态可通过 crs_start Name 来启动。完

整的 Name 可以通过 crs_stat 来查看。如果其 status 是 unknown 状态,首先

通过 crs_stop Name 来关掉 Name,然后再通过 crs_start Name 来启动。

八、附:卸载ClusterWare

如果在安装 clusterware 时如果出现报错现象,需要重新安装时,必须先清

除已经安装的 cluserware,否则可能会影响到下次安装。

运行自身带的卸载工具卸载

然后使用以下命令进行删除

rm -f /etc/init.crs

rm -f /etc/init.crsd

rm -f /etc/init.cssd

rm -f /etc/init.evmd

rm -f /etc/oracle/ocr.loc

rm -f /etc/rc0.d/K96init.crs

rm -f /etc/rc1.d/K96init.crs

rm -f /etc/rc2.d/K96init.crs

rm -f /etc/rc3.d/S96init.crs

rm -f /etc/rc4.d/K96init.crs

rm -f /etc/rc6.d/K96init.crs

cp -f /etc/inittab.orig /etc/inittab

删除 crs 的安装目录,以及/ocfs_data/crs 下的 ocr.dbf votingdisk

重启机子,重新安装