主机互信配置:配置好互信后,一定的测试下ssh db1 date ssh db1-priv date
时间同步的问题:主节点一定的比次节点慢(建议配置时间同步服务) 不然后续报错
Root执行脚本问题:执行一定时有root,否则报错。执行报错见安装指南(报错为BUG,在10.2.0.4修复)
环境规划
节点1 | 节点2 | |
主机名 | db1 | db2 |
网卡: Public Network Adapter1 | Eth0 | Eth0 |
网卡:Private Network Adapter2 | Eth1 | Eth1 |
IP/网络名:Public IP | 192.168.157.8/db1 | 192.168.157.9db2 |
IP/网络名:VIP | 192.168.157.88/db1-vip | 192.168.157.99/db2-vip |
IP/网络名:Private IP | 192.168.168.8/db1-priv | 192.168.168.9/db2-priv |
主机的配置:
种子环境配置内核参数
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 142 kernel.shmall = 2097152 kernel.shmmax = 7147483648 kernel.shmmni = 4096 kernel.msgmax = 8192 kernel.msgmnb = 65535 kernel.msgmni = 2878 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4621440 net.core.rmem_max = 4621440 net.core.wmem_default = 262144 net.core.wmem_max = 262144 |
sysctl -p
vi /etc/security/limits.conf
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 |
修改安全限制
[root@DB1 oracle]# vi /etc/pam.d/login
增加下面一行
#%PAM-1.0 session required /lib/security/pam_limits.so |
配置Hangcheck计时器
root@DB1 oracle]# vi /etc/rc.local
增加下面一行
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180 |
种子环境创建组及用户
/usr/sbin/groupadd -g 1000 oinstall /usr/sbin/groupadd -g 1001 dba #检查组 cat /etc/group |
建立用户 /usr/sbin/useradd -u 1000 -g oinstall -G dba oracle 如果用户存在 /usr/sbin/usermod -g oinstall -G dba oracle 如果nobody用户不存在 /usr/sbin/useradd nobody cat /etc/passwd |
种子环境创建目录
mkdir -p /u01/oracle chmod -fR 777 /u01/oracle |
种子环境配置hosts 文件
vi /etc/hosts
192.168.157.8 DB1 192.168.157.88 DB1-vip 192.168.168.8 DB1-priv 192.168.157.9 DB2 192.168.157.99 DB2-vip 192.168.168.9 DB2-priv |
配置种子环境的oracle用户的初始化参数
export ORACLE_BASE=/u01/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2 export ORACLE_SID=RACDB1 export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib |
上面的打包成种子文件
复制两份环境,采用copy的方式,更改基本的信息。
共享存储的配置:
创建RAC共享存储的方式(创建的方法)
建议放在RAC1的主目录下,我的主目录是E:\Virtual Machines\VM
创建共享盘 在 win7 下开个cmd 窗口执行
注意: 1-4 我们计划做表决盘和锁盘等小东西用,建议最小200M
5-6 给ASM用2G也足够了
在cmd中执行下面的命令建立共享存储:
vmware-vdiskmanager -c -s 200MB -a lsilogic -t 0 "E:\DB_ST\disk1.vmdk"
这个添加到虚拟机的vmx文件中
scsi1.present = "TRUE"
scsi1.sharedBus = "virtual"
scsi1.virtualDev = "lsilogic"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\BT_ST2\disk1.vmdk"
scsi1:0.writeThrough = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\BT_ST2\disk2.vmdk"
scsi1:1.writeThrough = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\BT_ST\2disk3.vmdk"
scsi1:2.writeThrough = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\BT_ST2\disk4.vmdk"
scsi1:3.writeThrough = "TRUE"
scsi1:3.mode = "independent-persistent"
cd C:\Program Files (x86)\VMware\VMware Db vmware-vdiskmanager -c -s 200MB -a lsilogic -t 0 "D:\DB_ST2\disk1.vmdk" vmware-vdiskmanager -c -s 200MB -a lsilogic -t 0 "D:\DB_ST2\disk2.vmdk" vmware-vdiskmanager -c -s 2000MB -a lsilogic -t 0 "D:\DB_ST2\disk3.vmdk" vmware-vdiskmanager -c -s 2000MB -a lsilogic -t 0 "D:\DB_ST2\disk4.vmdk" vmware-vdiskmanager -c -s 2000MB -a lsilogic -t 0 "D:\DB_ST2\disk5.vmdk" vmware-vdiskmanager -c -s 2000MB -a lsilogic -t 0 "D:\DB_ST2\disk6.vmdk" |
使用种子环境复制出RAC1 与RAC2虚拟机并配置共享存储
复制及改名字
把E:\RAC目录分别复制到 虚拟机的两个HOME 下,并将目录分别改为 DB1 和 DB2。
然后手工修改配置文件中的显示名字
DB1.vmx | DB2.vmx | |
displayName = "DB1" | displayName = "DB2" |
配置共享存储
手工添加虚拟磁盘到虚拟机 修改两个VMX文件,一次性配置好共享存储
scsi1.present = "TRUE" scsi1.sharedBus = "virtual" scsi1.virtualDev = "lsilogic" disk.locking = "false" diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0" scsi1:0.present = "TRUE" scsi1:0.fileName = "D:\DB_ST2\disk1.vmdk" scsi1:0.writeThrough = "TRUE" scsi1:0.mode = "independent-persistent" scsi1:1.present = "TRUE" scsi1:1.fileName = "D:\DB_ST2\disk2.vmdk" scsi1:1.writeThrough = "TRUE" scsi1:1.mode = "independent-persistent" scsi1:2.present = "TRUE" scsi1:2.fileName = "D:\DB_ST2\disk3.vmdk" scsi1:2.writeThrough = "TRUE" scsi1:2.mode = "independent-persistent" scsi1:3.present = "TRUE" scsi1:3.fileName = "D:\DB_ST2\disk4.vmdk" scsi1:3.writeThrough = "TRUE" scsi1:3.mode = "independent-persistent" scsi1:4.present = "TRUE" scsi1:4.fileName = "D:\DB_ST2\disk5.vmdk" scsi1:4.writeThrough = "TRUE" scsi1:4.mode = "independent-persistent" scsi1:5.present = "TRUE" scsi1:5.fileName = "D:\DB_ST2\disk6.vmdk" scsi1:5.writeThrough = "TRUE" scsi1:5.mode = "independent-persistent" |
配置裸设备
查看下磁盘信息:
Fdisk –l
[root@DB1 ~]# fdisk -l Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap / Solaris /dev/sda3 145 1958 14570955 83 Linux Disk /dev/sdb: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk /dev/sdb doesn't contain a valid partition table Disk /dev/sdc: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk /dev/sdc doesn't contain a valid partition table Disk /dev/sdd: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdd doesn't contain a valid partition table Disk /dev/sde: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sde doesn't contain a valid partition table Disk /dev/sdf: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdf doesn't contain a valid partition table Disk /dev/sdg: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdg doesn't contain a valid partition table |
磁盘分区
分区方法:采用下面的命令分完所有的分区(一台上操作,另外一台会同步)
[root@DB1 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-200, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-200, default 200): Using default value 200 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
划分完成后的效果:
Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap / Solaris /dev/sda3 145 1958 14570955 83 Linux Disk /dev/sdb: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 200 204784 83 Linux Disk /dev/sdc: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 200 204784 83 Linux Disk /dev/sdd: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 254 2040223+ 83 Linux Disk /dev/sde: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sde1 1 254 2040223+ 83 Linux Disk /dev/sdf: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 254 2040223+ 83 Linux Disk /dev/sdg: 2097 MB, 2097152000 bytes 255 heads, 63 sectors/track, 254 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdg1 1 254 2040223+ 83 Linux |
如果不一样咋办?执行以下命令进行同步,然后再检查
partprobe |
配置裸盘:两台机器都要做一遍
cd /etc/udev/rules.d
vi 60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N" ACTION=="add", KERNEL=="raw*",owner="oracle",group="oinstall",mode="660" |
识别裸设备
start_udev
Starting udev: [ OK ] |
配置好的效果重新启动服务器也能够正常的显示出来
cd /dev/raw
ls -l *
crw-rw---- 1 oracle oinstall 162, 1 Apr 21 16:00 raw1 crw-rw---- 1 oracle oinstall 162, 2 Apr 21 16:00 raw2 crw-rw---- 1 oracle oinstall 162, 3 Apr 21 16:00 raw3 crw-rw---- 1 oracle oinstall 162, 4 Apr 21 16:00 raw4 crw-rw---- 1 oracle oinstall 162, 5 Apr 21 16:00 raw5 crw-rw---- 1 oracle oinstall 162, 6 Apr 21 16:00 raw6 crw-rw---- 1 oracle oinstall 162, 7 Apr 21 16:00 raw7 crw-rw---- 1 oracle oinstall 162, 8 Apr 21 16:00 raw8 |
安装oracleasmlib程序包
所需的程序包可以到这里下载:
http://www.oracle.com/technology/software/tech/linux/asmlib/rhel5.html
http://oss.oracle.com/projects/compat-oracle/files/Enterprise_Linux/
注意一定要与操作系统版本相符。
包还真不少,本着宁可无用,不能无有的原则,能下到的统统装上
俺装的包有下列:
[root@db1 rhel5]# ls -l
total 225376
-rwxr--r-- 1 oracle oinstall 410476 May 29 15:16 compat-binutils215-2.15.92.0.2-24.i386.rpm
-rwxr--r-- 1 oracle oinstall 4256 May 29 15:16 compat-libcwait-2.1-1.i386.rpm
-rwxr--r-- 1 oracle oinstall 88787 May 29 15:17 compat-libstdc++-egcs-1.1.2-1.i386.rpm
-rwxr--r-- 1 oracle oinstall 3840 May 29 15:17 compat-oracle-el5-1.0-5.i386.rpm
-rwxr--r-- 1 oracle oinstall 1079629 May 29 15:17 openmotif21-2.1.30-11.EL5.i386.rpm
-rwxr--r-- 1 oracle oinstall 122314 May 29 15:17 openmotif21-debuginfo-2.1.30-11.EL5.i386.rpm
-rwxr--r-- 1 oracle oinstall 125313 May 30 15:02 oracleasm-2.6.18-53.el5-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall 126085 May 30 15:02 oracleasm-2.6.18-53.el5debug-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall 125927 May 30 15:02 oracleasm-2.6.18-53.el5PAE-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall 123346 May 30 15:02 oracleasm-2.6.18-53.el5xen-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall 13658 May 30 15:13 oracleasmlib-2.0.3-1.el5.i386.rpm
-rwxr--r-- 1 oracle oinstall 22936 May 30 15:13 oracleasm-support-2.0.4-1.el5.i386.rpm
-rwxr--r-- 1 oracle oinstall 10662 May 29 15:17 xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm
安装示例:
[root@db1 rhel5]# rpm -ivh compat-binutils215-2.15.92.0.2-24.i386.rpm
Preparing... ###########################################[100%]
1:compat-binutils215 ###########################################[100%]
提示,如果在安装过程中提示你缺少其它包,你可以先到操作系统安装光盘中寻找并安装所需系统包 ,
然后再来安装下载到的包。
配置ASM
注意:必须以 root 身份进行
首先在 db1 执行:
[root@db1 ~]# /etc/init.d/oracleasm configure
Configuring the OracleASMlibrary driver.
This will configure the on-boot properties of the OracleASMlibrary
driver. The following questions will determine whether the driver is
loaded on bootand whatpermissions it will have. The currentvalues
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep thatcurrent value. Ctrl-C will abort.
Defaultuser to own the driver interface []: oracle
Defaultgroup to own the driver interface []: dba
Start OracleASMlibrary driver on boot(y/n) [n]: y
Fix permissions of OracleASMdisks on boot(y/n) [y]: y
Writing OracleASMlibrary driver configuration:[ OK ]
Loading module "oracleasm": [ OK ]
MountingASMlibdriver filesystem: [ OK ]
Scanning system forASMdisks: [ OK ]
提示:如果本步执行出错(可能出错机率最高的是在 Scanning system forASM),不妨将转换一下命令行的执行方式,改成:
[root@db1 ~]# sh /etc/init.d/oracleasm configure
有可能解决你的问题!
然后切换至 db2 执行
[root@db2 ~]# /etc/init.d/oracleasm configure
Configuring the OracleASMlibrary driver.
This will configure the on-boot properties of the OracleASMlibrary
driver. The following questions will determine whether the driver is
loaded on bootand whatpermissions it will have. The currentvalues
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep thatcurrent value. Ctrl-C will abort.
Defaultuser to own the driver interface []: oracle
Defaultgroup to own the driver interface []: dba
Start OracleASMlibrary driver on boot(y/n) [n]: y
Fix permissions of OracleASMdisks on boot(y/n) [y]: y
Writing OracleASMlibrary driver configuration:[ OK ]
Loading module "oracleasm": [ OK ]
MountingASMlibdriver filesystem: [ OK ]
Scanning system forASMdisks: [ OK ]
再切换回 db1 执行
[root@db1 ~]# /etc/init.d/oracleasm creatediskVOL1 /dev/sdd1
Marking disk "/dev/sdd1" as anASMdisk:[ OK ]
[root@db1 ~]# /etc/init.d/oracleasm creatediskVOL2 /dev/sde1
Marking disk "/dev/sde1" as anASMdisk: [ OK ]
[root@db1 linux-patch]# /etc/init.d/oracleasm scandisks
Scanning system forASMdisks: [ OK ]
查看一下当前的磁盘组:
Scanning system forASMdisks: [ OK ]
[root@db1 ~]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
Db2 上也查看一下当前磁盘组:
[root@db2 ~]# /etc/init.d/oracleasm scandisks
Scanning system forASMdisks: [ OK ]
[root@db2 ~]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
Ok,配置完成
配置 Clusterware安装环境
- 设置 ssh
在 clusterware (CRS) 和 Rac Database 安装过程中,Oracle Universal Installer (OUI) 必须能够以 oracle的身份自动将软件复制到所有 RAC 节点。这里我们通过配置 ssh 让 oracle 用户拥有不输入密码即可访问各节点的能力。
首先两个节点间互 ping,要确保都是通的
[root@db1 ~]# ping 192.168.157.9
[root@db1 ~]# ping 192.168.168.9
要建立用户等效性, 需要在两个节点上以 oracle 用户身份生成用户的公钥和私钥, 首先在 db1 执 行 :
[root@db1 opt]# su - oracle
[oracle@db1 ~]$ mkdir ~/.ssh
[oracle@db1 ~]$ chmod 700 ~/.ssh
[oracle@db1 ~]$ 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:
d2:69:eb:ac:86:62:27:50:99:ff:e8:1e:a2:e6:5d:7f oracle@db1
[oracle@db1 ~]$ 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:
0a:9a:20:46:a2:28:ec:72:23:82:f2:9d:f8:62:9b:d1 oracle@db1
然后换 db2 执行
[root@db2 ~]# ping 192.168.157.8
[root@db2 ~]# ping 192.168.168.8
[root@db2 opt]# su - oracle
[oracle@db2 ~]$ mkdir ~/.ssh
[oracle@db2 ~]$ chmod 700 ~/.ssh
[oracle@db2 ~]$ 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:
dd:be:7a:37:e4:b5:f0:b2:24:95:50:61:ea:a1:61:07 oracle@db2
[oracle@db2 ~]$ 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:
bc:b5:cb:43:c7:19:53:d6:f7:16:69:85:12:7f:aa:be oracle@db2
切换回 db1,接着执行:
[oracle@db1 ~]$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
[oracle@db1 ~]$ cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
提示:下列命令会提示你输入 db2 的 oracle 密码,按照提示输入即可,如果失败可重新尝试执行命令。
[oracle@db1 ~]$ ssh db2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
The authenticity of host'db2 (192.168.100.102)' can't be established.
RSA key fingerprint is 92:d1:ce:5b:c8:a1:52:d5:ac:00:5f:48:5d:12:06:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning:Permanently added'db2,192.168.100.102' (RSA) to the list of known hosts.
oracle@db2's password:
[oracle@db1 ~]$ ssh db2 cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
oracle@db2's password:
[oracle@db1 ~]$ scp ~/.ssh/authorized_keys db2:~/.ssh/authorized_keys
oracle@db2's password:
authorized_keys 100% 1992 2.0KB/s 00:00
两机相互执行,看看是否还需要输入密码
[oracle@db1 ~]$ ssh db1 date
[oracle@db1 ~]$ ssh db2 date
[oracle@db1 ~]$ ssh db1-priv date
[oracle@db1 ~]$ ssh db2-priv date
切换至 db2 执行
[oracle@db2 ~]$ ssh db1 date
[oracle@db2 ~]$ ssh db2 date
[oracle@db2 ~]$ ssh db1-priv date
[oracle@db2 ~]$ ssh db2-priv date
提示:
注意命令的返回信息,由于 rac 对节点间时间较敏感,因此如果此处显示节点单时间不一至,建议同步(一般相隔超过 20 秒就需要同步时间了)。
检查安装环境
在安装 crs 之前,建议先利用 CVU(ClusterVerification Utility)检查 CRS 的安装前环境
[oracle@DB1 ~]$ cd /soft/clusterware/cluvfy
[oracle@DB1 cluvfy]$ ./runcluvfy.sh stage -pre crsinst -n db1,db2 -verbose
执行 群集服务设置 的预检查
返回信息太多,这里就不贴俺执行的结果了。
需要注意几点,其返回的信息中有几个错误可忽略~~
A).与 VIP 查找一组适合的接口有关,错误信息如下:
错误信息如下:
ERROR:
Couldnot find a suitable set of interfaces for VIPs.
这是一个 bug,Metalink 中有详细说明,doc.id:338924.1,如说明中所述,可以忽略该错误,没什么问题。
B).有一堆包的验证会出现错误,要么提示找不到,要么是版本不对。例如:
Check:Package existence for "compat-gcc-7.3-2.96.128"
Db Name Status Comment
------------------------------ ------------------------------ ----------------
db2 missing failed
db1 missing failed
Result: Package existence check failed for "compat-gcc-7.3-2.96.128".
Check:Package existence for "compat-gcc-c++-7.3-2.96.128"
Db Name Status Comment
------------------------------ ------------------------------ ----------------
db2 missing failed
db1 missing failed
Result: Package existence check failed for "compat-gcc-c++-7.3-2.96.128".
...........
...........
这之类的吧
不用管它们,这也是一个 BUG,只要确认节点中都已经安装了正确版本的 compat-* 包即可。
开始安装 CRS
rac 的安装并没有太明显的主从关系,一般我们认为,在哪个上面执行了安装,哪个就是主(实际也不
完全是这样,主节点安装的时候,也会自动将文件复制到其它节点的)
这里我们选择 db1 进行安装~~
注意,下列操作需要在视窗模式下执行哟