首页 > 数据库 > Oracle > 整理:RAC搭建过程
注:请大家一定不要用11.2.0.1版的ORACLE,没打补丁,问题很多,特别是运行root.sh脚本时报错。。。伤不起
在执行./root.sh 时会出现
Adding daemon to inittab字样,此时在另一个窗口开始执行不停的执行以下命令,直到可以执行为止
/bin/ddif=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
哈哈,这个办法可以保你过一关,但是下一关在哪里就不知道了,你装好了,再重启一下试试。。。。不说了,你猜不到结尾的
#public
192.168.137.101 rac1.localdomain rac1
192.168.137.102 rac2.localdomain rac2
#private
10.0.0.1 rac1-priv.localdomain rac1-priv
10.0.0.2 rac2-priv.lcoaldomain rac2-priv
#virtaul
192.168.137.10 rac1-vip.localdomain rac1-vip
192.168.137.20 rac2-vip.localdomain rac2-vip
#scan
192.168.137.100 rac-scan.localdomain rac-scan
192.168.137.200 rac-scan.localdomain rac-scan
192.168.137.300 rac-scan.localdomain rac-scan
sdb1 raw1 10G DATA 存放数据文件
sdc1 raw2 5G ARCH 归档日志
sdd1 ra3 2G OCR 存放ocr和voting
---还可以加更多,但没必要这个时候配置这么多,搭建grid完后就可以利用ASMCA创建更多磁盘了
DEVICE=eth0
TYPE=Ethernet
UUID=6adac61d-587c-4669-9778-a3f7261e2a7d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.137.102
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
cat>> /home/grid/.bash_profile<< EOF修改内核参数/etc/sysctl.conf
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1;
export ORACLE_SID=+ASM1;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/11.2.0/grid;
export NLS_DATE_FORMAT="yy-mm-dd HH24:MI:SS";
export PATH=\$ORACLE_HOME/BIN:\$PATH;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
cat>> /home/oracle/.bash_profile<< EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1;
export ORACLE_BASE=/u01/app/oracle;
exportORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_UNQNAME=prod;
export ORACLE_SID=prod1;
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 NLS_DATE_FORMAT="yy-mm-dd HH24:MI:SS";
exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF
sed -i 's/kernel.shmmax/#kernel.shmmax/g' /etc/sysctl.conf修改oracle用户限制
sed -i 's/kernel.shmall/#kernel.shmall/g' /etc/sysctl.conf
cat>> /etc/sysctl.conf<fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
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 = 1048586
EOF
cat>> /etc/security/limits.conf<oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
EOF
配置/etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
aliasgrep='grep --color=auto'
export PATH=$PATH:/u01/app/11.2.0/grid/bin
----以上已经很多事情了,不过你还可能做下面这些事情增加swap空间
1.检查swap大小和硬盘空间 free -m查看内存和swap | df -h查看硬盘空间 ,得有2.7G的空间才可以为xmanager准备,最好是在root的.bash_profile里面添加上下面内容
2.添加交换文件
mkdir -p /opt/temp
dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000 --这个是2G
3.创建交换空间
mkswap /opt/temp/swap
4.启动新增加的2G交换空间
swapon /opt/temp/swap
5.修改/etc/fstab,使新加的2G交换空间在系统重新启动后自动生效
echo "/opt/temp/swap swap swap defaults 0 0" >>/etc/fstab
6.重启生效
export DISPLAY=192.168.137.1:0.0
----在后面运行runInstall之前,先打开Xmanager - Passive工具,细节就不讲了,不懂的回复我,然后在root下面执行xhost +
再回到grid下面运行runInstall,就可以在window下看到虚拟机中的grid安装界面了
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.sharedBus = "VIRTUAL"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\Share\RAC1-1.vmdk"
scsi1:1.writeThrough = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\Share\RAC1-2.vmdk"
scsi1:2.writeThrough = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
scsi1:3.present = "TRUE"
scsi1:3.fileName = "E:\Share\RAC1-3.vmdk"
scsi1:3.writeThrough = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""
---OK,重启一下,这样就添加好了
fdisk /dev/sdc
fdisk /dev/sdd
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"KERNEL=="raw1", OWNER="grid", GROUP="asmadmin", MODE="660"KERNEL=="raw2", OWNER="grid", GROUP="asmadmin", MODE="660"KERNEL=="raw3", OWNER="grid", GROUP="asmadmin", MODE="660"[root@RAC1 ~]# start_udevStarting udev: [ OK ][grid@RAC1 ~]$ ll /dev/rawtotal 0crw-rw---- 1 grid asmadmin 162, 1 Mar 21 02:58 raw1crw-rw---- 1 grid asmadmin 162, 2 Mar 21 02:58 raw2crw-rw---- 1 grid asmadmin 162, 3 Mar 21 02:58 raw3crw-rw---- 1 root disk 162, 0 Mar 21 02:58 rawctl----OK,绑定裸设备成功
注: 这里没有提到安装ASMLIB,而且用的是CENTOS6.5的系统,内核里面也没有ASMLIB,当然不能运行ORACLEASM LISTDISKS这样的命令。有很多新手认为ASM与ASMLIB有关系,为什么RHEL 6上没有ASMLIB?,建议大家看看这篇文章就了然了 http://www.oracledatabase12g.com/archives/why-no-asmlib-redhat-linux6.html
直接复制RAC1的虚拟机的目录为RAC2,打开RAC2虚拟机,点击“I Copied It”
此时,只需要修改三个地方即可:主机名、.bash_profile配置的实例名等、IP地址
Rac1和Rac2分别执行:
ssh-keygen–t rsa
ssh-keygen–t dsa
Rac1
cat ~/.ssh/ *.pub >>~ /.ssh/authorized_keys
ssh oracle@rac2 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
Rac1和Rac2双节点执行
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date
su - grid
ASMCA
接着就是图形化界面配置了
我配置了又配置了两个磁盘组DATA和FRA,分别用来保存数据文件和闪回日志
在ASMCA界面会看到节点2上的设备没有mount,我们可以执行以下命令
$sqlplus / as sysasm
>alter diskgroup DATA mount;
./cluvfy stage -pre dbinst -fixup -n rac1,rac2 -osdba dba -verbose
如果出现/etc/resolv.conf未配置之类的错误,是因为没有指定DNS地址。但我们这里用的是hosts文件解析,所以可以忽略。
su - oracle
然后运行database目录下的./install 就很简单了
./cluvfy stage -pre dbcfg -n rac1,rac2 -d $ORACLE_HOME -verbose
DBCA
这里就描述一下,我这里面的数据库名叫orcl,在填写的时候不必担心不要区分orcl1还是orcl2,只需要把数据库名和SID都写为orcl就行,剩下分1和2的事
就交给oracle了
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30075367/viewspace-1579557/ ,如需转载,请注明出处,否则将追究法律责任。