1.准备RAC环境
1)对于RAC中每个节点,至少需要一个业务IP,一个心跳,一个虚拟IP绑定在业务IP上,SCANIP也绑定在业务上
vi /etc/hosts编辑网络映射文件
10.69.17.29 rac1
10.69.17.31 rac2
192.165.1.189 rac1heart
192.165.1.195 rac2heart
10.69.17.200 rac1vip
10.69.17.201 rac2vip
10.69.17.202 linux-cluster-scan
该文件主备节点都要一致
2) 建立文件夹,用户,属组,建立SSH信任
分别在RAC各节点上执行。
【检查命令】
# grep dba /etc/group
无输出则表示dba组不存在。如果dba组已存在,则使用以下命令删除dba组。
【删除命令】
# /usr/sbin/groupdel dba
【创建命令】
# /usr/sbin/groupadd -g 200 dba
分别在RAC各节点上执行。
【检查命令】
# grep oinstall /etc/group
无输出则表示oinstall组不存在。如果oinstall组已存在,则使用以下命令删除oinstall组。
【删除命令】
# /usr/sbin/groupdel oinstall
【创建命令】
# /usr/sbin/groupadd -g 201 oinstall
分别在RAC各节点上执行。
【检查命令】
# grep oracle /etc/passwd
无输出则表示Oracle用户不存在。如果Oracle用户已存在,则使用以下命令删除Oracle用户。
【删除命令】
# /usr/sbin/userdel -rf oracle
【创建命令】
# /usr/sbin/useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle
【命令说明】
用户名为oracle,隶属于dba组。
【修改密码】
# passwd oracle
分别在RAC各节点上执行。
【检查命令】
# grep grid /etc/passwd
无输出则表示Grid用户不存在。如果Grid用户已存在,则使用以下命令删除Grid用户。
【删除命令】
# /usr/sbin/userdel -rf grid
【创建命令】
# /usr/sbin/useradd -u 301 -g oinstall -G dba -d /home/grid -s /bin/bash -m grid
【命令说明】
用户名为grid,隶属于dba组。
【修改密码】
# passwd grid
分别在RAC各节点上执行
【命令】
# chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle
分别在RAC各节点上执行
【命令】
# chown -R grid:oinstall /opt/oracrs
# chmod -R 775 /opt/oracrs
分别在RAC各节点上执行
【命令】
# chown -R oracle:dba /opt/oraadm
# chmod -R 770 /opt/oraadm
在RAC各节点上检查/usr/local/bin目录是否存在,如不存在则需创建该目录,并赋予777权限。
【命令】
# mkdir /usr/local/bin
# chmod 777 /usr/local/bin
# ll /usr/local |grep bin
drwxrwxrwx 2 root root 4096 2007-05-03 21:24 bin
在RAC各节点上检查/tmp是否具有777权限,如不具备则赋予/tmp目录777权限。
【命令】
# chmod 777 /tmp
# ll / |grep tmp
drwxrwxrwx 17 root root 4096 2008-06-13 10:00 tmp
用oracle用户编辑/home/oracle/.profile文件,设置环境变量。
# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/11gR2/db
export GRID_HOME=/opt/oracrs/product/11gR2/grid
export ORACLE_SID=instance_name
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.UTF8或AMERICAN_AMERICA.ZHS16GBK
【重要说明】
红色部分请根据实际情况进行设置。
instance_name唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:Rac中有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推。
用grid用户编辑/home/grid/.profile文件,设置环境变量。
# Grid Environment
export ORACLE_BASE=/opt/oracrs/base
export ORACLE_HOME=/opt/oracrs/product/11gR2/grid
export ORACLE_SID=asm_instance_name
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.UTF8或AMERICAN_AMERICA.ZHS16GBK
【重要说明】
红色部分请根据实际情况进行设置。
instance_name唯一的标识一个ASM实例,一般以数据库名加上实例号为命名规范,例如:Rac中有两个ASM实例,ASM实例1命名为+ASM1,实例2命名为+ASM2,依次类推。
2. 建立root,grid,oracle的信任机制
1.1.1 设置root用户的信任机制
步骤1: 运行命令#ssh-keygen –t dsa生成密钥
--以root用户登陆节点1
# ssh-keygen -t dsa
--以root用户登陆节点2
# ssh-keygen -t dsa
对于提示一律直接输入回车,输出类似如下:
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
b8:88:e0:7d:d7:62:f2:bb:e2:ac:92:86:68:82:c4:f5 root@ATAEUSM
步骤2: 将节点2下生成的/root/.ssh/id_dsa.pub文件复制到节点1的/root/.ssh目录下,并改名为authorized_keys2:
--以root用户登陆节点2
# cd /root/.ssh
# scp /root/.ssh/id_dsa.pub hostnameA:/root/.ssh/authorized_keys2
步骤3: 输入节点1的密码完成操作
步骤4: 将节点1密钥信息加入到文件authorized_keys2中
--以root用户登陆节点1
# cd /root/.ssh
# cat id_dsa.pub >> authorized_keys2
步骤5: 将节点1的文件authorized_keys2复制到节点2的目录/root/.ssh/
--以root用户登陆节点1
# scp authorized_keys2 hostnameB:/root/.ssh/
1.1.2 设置Oracle用户的信任机制
步骤1: 运行命令#ssh-keygen –t dsa生成密钥
--以Oracle用户登陆节点1
$ ssh-keygen -t dsa
--以Oracle用户登陆节点2
$ 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:
e2:68:fb:ee:2f:96:51:eb:68:30:92:a3:01:34:6c:7f
步骤2: 将节点2下生成的/home/oracle/.ssh/id_dsa.pub文件复制到节点1的/home/oracle/.ssh目录下,并改名为authorized_keys2:
--以Oracle用户登陆节点2
$ cd /home/oracle/.ssh/
$ scp id_dsa.pub hostnameA:/home/oracle/.ssh/authorized_keys2
步骤3: 输入节点1的密码完成操作
步骤4: 登陆节点1的/home/oracle/.ssh目录下,将密钥信息加入文件authorized_keys2中
--以Oracle用户登陆节点1
$ cd /home/oracle/.ssh/
$ cat id_dsa.pub >> authorized_keys2
步骤5: 将节点1的文件authorized_keys2复制到节点2的目录/home/oracle/.ssh/
--以Oracle用户登陆节点1
$ scp authorized_keys2 hostnameB:/home/oracle/.ssh/
1.1.3 设置Grid用户的信任机制
步骤1: 运行命令#ssh-keygen –t dsa生成密钥
--以Grid用户登陆节点1
$ ssh-keygen -t dsa
--以Grid用户登陆节点2
$ ssh-keygen -t dsa
对于提示一律直接输入回车,输出类似如下:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/grid/.ssh/id_dsa.
Your public key has been saved in /home/grid/.ssh/id_dsa.pub.
The key fingerprint is:
e2:68:fb:ee:2f:96:51:eb:68:30:92:a3:01:34:6c:7f
步骤2: 将节点2下生成的/home/grid/.ssh/id_dsa.pub文件复制到节点1的/home/grid/.ssh目录下,并改名为authorized_keys2:
--以Grid用户登陆节点2
$ cd /home/grid/.ssh/
$ scp id_dsa.pub hostnameA:/home/grid/.ssh/authorized_keys2
步骤3: 输入节点1的密码完成操作
步骤4: 登陆节点1的/home/grid/.ssh目录下,将密钥信息加入文件authorized_keys2中
--以Grid用户登陆节点1
$ cd /home/grid/.ssh/
$ cat id_dsa.pub >> authorized_keys2
步骤5: 将节点1的文件authorized_keys2复制到节点2的目录/home/grid/.ssh/
--以Grid用户登陆节点1
$ scp authorized_keys2 hostnameB:/home/grid/.ssh/
1.1.4 校验root、oracle和grid用户的远程拷贝
分别在RAC各节点上进行验证,分别用oracle、root和grid用户登陆一次操作系统,执行以下命令,如果不需要密码即可登陆对方系统,则视为正确。
# ssh hostnameA hostname
# ssh hostnameB hostname
# ssh hostnameA-heart hostname
# ssh hostnameB-heart hostname