[root@node2 ~]# vim /etc/sysconfig/ntpd
如图,修改第2行,添加-x参数。在最下面添加一行SYNC_HWCLOCK=yes。保存退出 [root@node2 ~]# /etc/init.d/ntpd restart [root@node2 ~]# chkconfig ntpd on
注意!NTP服务器不是刚搭好,客户端就能马上同步成功的,需要在node1上运行命令 ntpq -p 查看reach值,当该值达到17以上时候,ntp客户端再运行/etc/init.d/ntpd restart 就能同步成功了,这里可以选择继续进行下面的操作,在安装软件之前别忘了同步一下就好。
5:创建相关的用户和组 (node1和node2) groupadd -g 1100 oinstall groupadd -g 1200 dba groupadd -g 1300 oper
groupadd -g 2100 asmadmin groupadd -g 2200 asmdba groupadd -g 2300 asmoper
useradd -u 777 -g oinstall -G dba,oper,asmadmin,asmdba -d /home/oracle -s /bin/bash -c \Software Owner\
echo \
useradd -u 888 -g oinstall -G dba,asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c \Infrastructure Owner\
echo \
6:配置grid用户和oracle用户的环境变量 (node1和node2上分别配置,注意区别!) [root@node1 ~]# su - oracle
[oracle@node1 ~]$ vim .bash_profile 添加如下内容: export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=node1.cty.com (node2上改为node2.cty.com) export ORACLE_SID=racdb1 (node2上改为 racdb2) export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_UNQNAME=racdb (node1&node2一定要保持一致) export TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_TERM=xterm export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export EDITOR=vi export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss' umask 022
保存退出,用source .bash_profile重读一下配置文件
[root@node1 ~]# su - grid
[grid@node1 ~]$ vim .bash_profile 添加如下内容: export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1 (node2上改为 +ASM2) export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid export ORACLE_TERM=xterm
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss' export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export EDITOR=vi export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 umask 022
保存退出,用source .bash_profile重读一下配置文件
7:创建所需的目录及赋予相应的权限 (node1和node2,root用户) mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/app/grid chown -R grid:oinstall /u01/app/11.2.0 chmod -R 775 /u01 查看:
[root@node1 ~]# ll /u01 -d
drwxrwxr-x 3 oracle oinstall 4096 Apr 16 14:06 /u01 [root@node1 ~]# ll /u01/app total 12
drwxrwxr-x 3 grid oinstall 4096 Apr 16 14:06 11.2.0 drwxrwxr-x 2 grid oinstall 4096 Apr 16 14:06 grid drwxrwxr-x 2 oracle oinstall 4096 Apr 16 14:06 oracle
8:编辑/etc/security/limits.conf文件,在下面添加如下内容: (node1和node2) [root@node1 ~]# vim /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 保存退出
9:编辑/etc/pam.d/login文件,添加下面两行: (node1和node2) [root@node1 ~]# vim /etc/pam.d/login session required /lib/security/pam_limits.so session required pam_limits.so
10:编辑/etc/profile文件,添加如下参数: (node1和node2) [root@node1 ~]# vim /etc/profile
if [ $USER = \ if [ $SHELL = \ ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi fi
保存退出,用source /etc/profile重读一下配置文件
11:编辑/etc/sysctl.conf文件,编辑/修改下列参数,原则是文件原本的参数如果大于下面列出的,就不改,小于的,照下面改,没有的,就添加。 (node1和node2) [root@node1 ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0
kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536
kernel.shmmax = 4294967295 kernel.shmall = 268435456 kernel.shmmni = 4096 fs.aio-max-nr = 1048576 fs.file-max = 6815744
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
net.ipv4.tcp_wmem = 262144 262144 262144 net.ipv4.tcp_rmem = 4194304 4194304 4194304
保存退出,之后别忘了用sysctl -p 命令使参数生效 12:配置两个节点间的ssh互相信任: (node1 & node2,分别在grid和oracle用户上都要做!) oracle用户: node1上:
[root@node1 ~]# su - oracle
[oracle@node1 ~]$ ssh-keygen -t rsa (一路回车,默认空密码) [oracle@node1 ~]$ ssh-keygen -t dsa (一路回车,默认空密码)
[oracle@node1 ~]$ cd /home/oracle/.ssh/ (.ssh目录需要先运行上面的命令才会生成) [oracle@node1 .ssh]$ ls
id_dsa id_dsa.pub id_rsa id_rsa.pub
node2上:
[root@node2 ~]# su - oracle
[oracle@node2 ~]$ ssh-keygen -t rsa (一路回车,默认空密码) [oracle@node2 ~]$ ssh-keygen -t dsa (一路回车,默认空密码)
[oracle@node2 ~]$ cd /home/oracle/.ssh/ (.ssh目录需要先运行上面的命令才会生成) [oracle@node2 .ssh]$ ls
id_dsa id_dsa.pub id_rsa id_rsa.pub
node1上:
[oracle@node1 .ssh]$ cat id_rsa.pub >> authorized_keys (把node1自己的rsa密钥导入authorized_keys文件中) [oracle@node1 .ssh]$ cat id_dsa.pub >> authorized_keys (把node1自己的dsa密钥导入authorized_keys文件中)
[oracle@node1 .ssh]$ ssh 80.8.29.2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys (把node2的rsa密钥导入node1的authorized_keys文件中)
[oracle@node1 .ssh]$ ssh 80.8.29.2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys (把node2的rsa密钥导入node1的authorized_keys文件中)
[oracle@node1 .ssh]$ scp authorized_keys 80.8.29.2:/home/oracle/.ssh/authorized_keys
(此时的authorized_keys文件中已经包含了所有节点,即node1,node2的密钥信息,将它scp给node2的对应目录下即可)
测试,所有节点的oracle和grid用户必须都做,最终目的是下列所有的操作,都不需要yes/no确认! (其实个人觉得测试时不加date,效果看得明显点)
node1上:
[oracle@node1 .ssh]$ ssh 80.8.29.1 date [oracle@node1 .ssh]$ ssh 80.8.29.2 date [oracle@node1 .ssh]$ ssh 10.20.89.1 date [oracle@node1 .ssh]$ ssh 10.20.89.2 date [oracle@node1 .ssh]$ ssh node1 date [oracle@node1 .ssh]$ ssh node2 date
[oracle@node1 .ssh]$ ssh node1.cty.com date [oracle@node1 .ssh]$ ssh node2.cty .com date [oracle@node1 .ssh]$ ssh node1-priv date [oracle@node1 .ssh]$ ssh node2-priv date
[oracle@node1 .ssh]$ ssh node1-priv.cty.com date [oracle@node1 .ssh]$ ssh node2-priv.cty.com date [oracle@node1 .ssh]$ ls
authorized_keys id_dsa id_dsa.pub id_rsa id_rsa.pub known_hosts
node2上:
[oracle@node2 .ssh]$ ssh 80.8.29.1 date [oracle@node2 .ssh]$ ssh 80.8.29.2 date [oracle@node2 .ssh]$ ssh 10.20.89.1 date [oracle@node2 .ssh]$ ssh 10.20.89.2 date [oracle@node2 .ssh]$ ssh node1 date [oracle@node2 .ssh]$ ssh node2 date
[oracle@node2 .ssh]$ ssh node1.cty.com date [oracle@node2 .ssh]$ ssh node2.cty.com date [oracle@node2 .ssh]$ ssh node1-priv date [oracle@node2 .ssh]$ ssh node2-priv date
[oracle@node2 .ssh]$ ssh node1-priv.cty.com date [oracle@node2 .ssh]$ ssh node2-priv.cty.com date [oracle@node2 .ssh]$ ls
authorized_keys id_dsa id_dsa.pub id_rsa id_rsa.pub known_hosts