一、操作系统部署
1、网络配置
/etc/hosts
2、配置hangcheck-timer:用于监视 Linux内核是否挂起
vim /etc/modprobe.conf
iptions hangcheck-timer hangcheck_tick=30hangcheck_margin=180
开机自动加载:
vim /etc/rc.local
modprobe hangcheck-timer
3、创建oracle用户node1和node2
groupadd -g 1000 oinstall
groupadd -g 1001 dba
useradd -g oinstall -G dba -u 1000 oracle
passwd oracle
mkdir /u01/app -p
chown oracle.oinstall /u01 -R
chmod 775 /u01 -R
4、配置oracle环境变量
node1
su - oralce
vim .bash_profile
export ORACLE_BASE=/u01/app
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=RACDB1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
umask 022
node2:
su - oracle
vim .bash_profile
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=RACDB2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
umask 022
5、配置信任关系
在oracle下
node1:
ssh-keygen -t rsa
ssh-keygen -t dsa
cd .ssh/
node2:
ssh-keygen -t rsa
ssh-keygen -t dsa
cd .ssh/
cat *.pub > authorized_keys
scp authoirzed_keysnode1:/home/oracle/.ssh/
node1:
cat *.pub >> authorized_keys
scp authorized_keys node2:/home/oracle/.ssh
验证
node1:
ssh node1
ssh node2
ssh priv1
ssh priv2
node2:
ssh node2
ssh node1
ssh priv2
ssh priv1
6、修改操作系统内核参数
vim /etc/sysctl.conf 文件底端
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
7、修改内核限制
[root@node1~]# grep -v '^#'/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@dba ~]# grep 'limit'/etc/pam.d/system-auth
session required pam_limits.so
二、共享存储
1、配置裸设备
<1>分区
所有的外部用到共享磁盘都要做!
让磁盘生效
[root@node1~]#fdisk /dev/vdb
[root@node1~]#fdisk /dev/vdc
[root@node1~]#fdisk /dev/vdd
[root@node1~]#fdisk /dev/vde
[root@node1~]#fdisk /dev/vdf
<建立映射关系>
[root@node1~]#vim /etc/sysconfig/rawdevices
-----增加如下内容
/dev/raw/raw1 /dev/vda
/dev/raw/raw2 /dev/vdf
/dev/raw/raw3 /dev/vdd
/dev/raw/raw4 /dev/vde
/dev/raw/raw5 /dev/vdb
<3>启动服务
[root@node1~]#/etc/init.d/rawdevicesrestart
2、编辑/etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw/dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw/dev/raw/raw1 %M %m"
ACTION=="add",KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw/dev/raw/raw2 %M %m"
ACTION=="add",KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw/dev/raw/raw3 %M %m"
ACTION=="add",KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw/dev/raw/raw4 %M %m"
ACTION=="add",KERNEL=="/dev/sdf1",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="81",RUN+="/bin/raw/dev/raw/raw5 %M %m"
KERNEL=="raw[1-4]", OWNER="oracle",GROUP="oinstall", MODE="640"
启动服务
[root@node1~]#start_udev
查看
[root@node1~]#ll /dev/raw
节点二上根据实际情况来做以上步骤。。。
2、安装oracleasm包(圈出来的是必须安装的)
3、安装完软件包的时候配置asm
4、创建asm磁盘组
【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdc1
【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdf1
【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdd1
【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vde1
【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdb1
查看磁盘组
[root@node1~]#/etc/init.d/oracleasm listdisks
node2上查看asm磁盘组
第二个节点上需要去刷新一下共享磁盘的信息
/etc/int.d/oracleasm listdisks
....
三、安装clusterware软件
在安装cluster软件之前需要先检查一下CRS安装前环境
[oracle@nodde1~]$/oracle/clusterware/cluvfy/runcluvfy.shstage -pre crsinst -n node1,node2 -verbose
选择crs安装目录 crs安装目录不要放在$ORACLE_HOME下 否则会报错
检查环境
指定节点
指定网卡
指定ocr存储位置 下面这个是不对的,10G的裸设备应该是/dev/raw/raw
执行votingdisk的位置
执行脚本一定要按顺序执行每个脚本都是先执行node2再node1
第二个脚本/u01/app/product/10.2.0/crs_1/root.sh先执行node2在执行node1 这段时间比较长得需要至少一根烟的功夫,慢点儿吸~
第二个脚本再node1节点执行的时候如果遇到这种错误
解决方案就是配置一下vipca和srvctl
1、找到LD_ASSUME_KERNEL然后在后面添加一行
unset LD_ASSUME_KERNEL (两个文件都要添加)
vim vipca
vim srvctl
(红框内为手动添加进去的内容 添加完毕之后请重新执行)
2、手工重新配置vip1和vip2
如果碰到这种错误
在crs的bin下执行
./oifcfg setif -globaleth0/192.168.0.0:public
./oifcfg setif -globaleth1/192.168.1.0:cluster_interconnect
3、配置vip
单机exit退出vip的配置
接下来进入主配置继续进行
单机exit退出
四、安装Oracle软件
单机next
检查完环境之后
单机next 安装oracle软件到oracle目录下
单机Next
一定要两个节点全选因为我们是集群
检查集群环境
这里我们仅安装数据库软件 一会儿再去创建数据库
安装
这个时间比较长得两根烟的功夫
顺序执行脚本先node2再node1
然后退出
五、dbca建库
选择rac database
创建数据库
全部选中因为两个实例 共用一个数据库
选择数据库类型
制定数据库全名
为了安全起见先不配置管理
创建sys sysman等用户的密码
我们用asm文件系统存储
制定数据库存放位置
制定字符集