RHEL6.5 + Oracle11g + RAC + ASM
实验环境
操作系统:RedHat Enterprise Linux 6.5
虚拟机:VMware-workstation 14.1.1
数据库:Oracle Database11g 11.2.0.4
存储:Openfileresa 2.99.2
拓扑图
实验规划
地址规划
主机 | Public IP | Private IP | Virtual IP | Storage IP | |
节点1 | rac1 | 172.19.44.100 | 192.168.1.100 | 172.19.44.110 | 192.168.2.100 |
节点2 | rac2 | 172.19.44.200 | 192.168.1.200 | 172.19.44.210 | 192.168.2.200 |
存储 | openfiler | N/A | N/A | N/A | 192.168.2.1 |
网卡 | N/A | eth0+eth1 | eth2 | N/A | eth3 |
Scan IP:172.19.44.151、172.19.44.152、172.19.44.153
DEVICE=eth2 BOOTPROTO=static BROADCAST=192.168.1.255 IPADDR=192.168.1.200 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes DEVICE=eth3 BOOTPROTO=static BROADCAST=192.168.2.255 IPADDR=192.168.2.200 NETMASK=255.255.255.0 NETWORK=192.168.2.0 ONBOOT=yes
主机名规划
主机名 | Public Name | Private Name | VIP | rac-scan | 实例名 | 数据库名 |
rac1 | rac1.vmos.cn | rac1-priv | rac1-vip | rac-scan | racdb1 | crm |
rac2 | rac2.vmos.cn | rac2-priv | rac2-vip | rac-scan | racdb2 | crm |
数据库规划
软件组件 | 用户 | 主组 | 次要组 | Base_home | Oracle_home |
Grid | grid | oinstall | asmadmin asmdba asmoper | /u01/app/grid | /u01/app/11.2.0/grid |
Oracle | oracle | oinstall | asmdb adba oper | /u01/app/oracle | /u01/app/oracle/product/11.2.0/db_1 |
存储规划
openfiler使用iSCSI映射出5个50G的LUN
/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf的Partition Type改为RAID array member Physical Volume为多盘RAID 5组成/dev/md0 Volume Group名为grid Logical Volumes名为racdb-asm1, racdb-asm2, racdb-asm3,racdb-asm4和racdb-crs 将iSCSI Target与LUN进行匹配
将iSCSI Target与LUN进行匹配
ASM磁盘组 | 磁盘组大小 | ASM冗余 | ASM磁盘 | iSCSI路径 | 存储类型 |
+CRS | 15G | Normal | CRS_SDB1 | /dev/sdb1 | OCR、投票盘 |
15G | CRS_SDB2 | /dev/sdb2 | |||
15G | CRS_SDB3 | /dev/sdb3 | |||
+DATA1 | 50G | Normal | DATA1_SDC | /dev/sdc | 数据文件 |
+DATA2 | 50G | DATA2_SDD | /dev/sdd | ||
+FRA | 15G | Normal | FRA_SDE1 | /dev/sde1 | 闪回恢复区 |
15G | FRA_SDE2 | /dev/sde2 | |||
15G | FRA_SDE3 | /dev/sde3 | |||
+REDO | 15G | Normal | REDO_SDF1 | /dev/sdf1 | 重做日志 |
15G | REDO_SDF2 | /dev/sdf2 | |||
15G | REDO_SDF3 | /dev/sdf3 |
系统环境配置(两个节点)
1. 系统安装
2. 关闭防火墙和SELinux
service NetworkManager stop chkconfig NetworkManager off chkconfig iptables off chkconfig ip6tables off service iptables stop service ip6tables stop sed -i 's/enforcing/disabled/g' /etc/selinux/config init 6
3. 设置本地YUM源
mkdir /media/rhel mount /dev/cdrom /media/rhel cd /media/rhel ls cd /etc/yum.repos.d/ touch rhel-media.repo vi rhel-media.repo 添加 [rhel-media] name=Red Hat Enterprise Linux 6.5 baseurl=file:///media/rhel enabled=1 gpgcheck=0 gpgkey=file:///media/rhel/RPM-GPG-KEY-redhat-release 执行 yum clean all vi /etc/fstab 添加 /dev/cdrom /media/rhle auto exec 0 0 vi /etc/rc.local 添加 mount -t iso9660 /dev/cdrom /media/rhel
RHEL6环境下oracle11g所需组件列表
binutils-2.20.51.0.2-5.11.el6.i686 compat-libcap1-1.10-1.i686 compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6.i686 gcc-c++-4.4.4-13.el6.i686 glibc-2.12-1.7.el6.i686 glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6.i686 libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6.i686 sysstat-9.0.4-11.el6.i686 安装必要组件 yum install binutils-2.* compat-libcap1-1.* compat-libstdc++-33-3.* compat-libstdc++-33-3.*.i686 gcc-4.* gcc-c++-4.* glibc-2.*.i686 glibc-2.* glibc-devel-2.* glibc-devel-2.*.i686 ksh libgcc-4.*.i686 libgcc-4.* libstdc++-4.* libstdc++-4.*.i686 libstdc++-devel-4.* libstdc++-devel-4.*.i686 libaio-0.* libaio-0.*.i686 libaio-devel-0.* libaio-devel-0.*.i686 make-3.* sysstat-9.* 安装附加组件 yum install numactl-devel unixODBC unixODBC-devel cd /root/ASMlib/ rpm -ivh elfutils-libelf-devel-static-0.152-1.el6.x86_64.rpm elfutils-libelf-devel-0.152-1.el6.x86_64.rpm 安装常用组件 yum install setuptool ntsysv system-config-securitylevel-tui system-config-network-tui system-config-date authconfig-gtk system-config-keyboard system-config-firewall system-config-firewall-tui dbus eggdbus 检测组件 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
4. 配置网卡聚合
5. 网络配置
Private-IP通过hosts来解析
节点1
hostname rac1.vmos.cn vi /etc/sysconfig/network 修改为 NETWORKING=yes HOSTNAME=rac1.vmos.cn vi /etc/hosts 添加 127.0.0.1 rac1.vmos.cn rac1 localhost.localdomain localhost #Private IP 192.168.1.100 rac1-priv.vmos.cn rac1-priv 192.168.1.200 rac2-priv.vmos.cn rac2-priv vi /etc/resolv.conf search vmos.cn nameserver 172.19.44.100
节点2
hostname rac2.vmos.cn vi /etc/sysconfig/network 修改为 NETWORKING=yes HOSTNAME=rac2.vmos.cn vi /etc/hosts 添加 127.0.0.1 rac2.vmos.cn rac2 localhost.localdomain localhost #Private IP 192.168.1.100 rac1-priv.vmos.cn rac1-priv 192.168.1.200 rac2-priv.vmos.cn rac2-priv vi /etc/resolv.conf search vmos.cn nameserver 172.19.44.100
6. 配置DNS服务(节点1)
Public、Virtual-IP和SCAN-IPs通过DNS来解析,Private-IP通过hosts文件来解析
安装服务 yum install bind* -y rpm -qa |grep bind service named restart 重启named服务开启chroot功能 =========================================================================== /var/named/chroot/etc/named.conf (需要修改) /var/named/chroot/var/named/vmos.cn.zone (需要创建) /var/named/chroot/var/named/44.19.172.in-addr.arpa.zone (需要创建) /var/named/chroot/var/named/2.168.192.in-addr.arpa.zone (需要创建) 拷贝样本配置文件并备份一份,然后设定权限 cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc/named.conf chown root.named /var/named/chroot/etc/named.conf cd /var/named/chroot/etc/ && cp named.conf named.bak.conf chown root.named /var/named/chroot/etc/named.conf ============================================================================ vi /var/named/chroot/etc/named.conf listen-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有 allow-query { any; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器 增加 zone "vmos.cn" IN { type master; file "vmos.cn.zone"; allow-update {none;}; }; zone "44.19.172.in-addr.arpa" IN { type master; file "44.19.172.in-addr.arpa.zone"; allow-update {none;}; }; zone "2.168.192.in-addr.arpa" IN { type master; file "2.168.192.in-addr.arpa.zone"; allow-update {none;}; }; ============================================================================= cd /var/named/chroot/var/named cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./vmos.cn.zone cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./44.19.172.in-addr.arpa.zone cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost ./2.168.192.in-addr.arpa.zone chown root.named named.ca chown root.named vmos.cn.zone chown root.named 44.19.172.in-addr.arpa.zone chown root.named 2.168.192.in-addr.arpa.zone ============================================================================= vi vmos.cn.zone 增加 ; Public name rac1 IN A 172.19.44.100 rac2 IN A 172.19.44.200 ; Virtual IP rac1-vip IN A 172.19.44.110 rac2-vip IN A 172.19.44.210 ; SCAN IP rac-scan IN A 172.19.44.150 rac-scan IN A 172.19.44.151 rac-scan IN A 172.19.44.152 ; Storage openfiler IN A 192.168.2.1 rac1-nas IN A 192.168.2.100 rac2-nas IN A 192.168.2.200 vi /var/named/chroot/var/named/44.19.172.in-addr.arpa.zone 增加 ; Public Name in Reverse 100 IN PTR rac1.vmos.cn. 200 IN PTR rac2.vmos.cn. ; Public Virtual IP in Reverse 110 IN PTR rac1-vip.vmos.cn. 210 IN PTR rac2-vip.vmos.cn. ; SCAN Virtual IP in Reverse 150 IN PTR rac-scan.vmos.cn. 151 IN PTR rac-scan.vmos.cn. 152 IN PTR rac-scan.vmos.cn. vi /var/named/chroot/var/named/2.168.192.in-addr.arpa.zone 增加 ; Storage Network Reverse 1 IN PTR openfiler.vmos.cn. 100 IN PTR rac1-nas.vmos.cn. 200 IN PTR rac2-nas.vmos.cn. ============================================================================= 重启DNS服务并设置开机自启 service named restart chkconfig --level 2345 named on 安装dns缓存加速服务(两个节点) yum -y install nscd sed -i '$a\enable-cache hosts yes' /etc/nscd.conf service nscd start service nscd status chkconfig --level 2345 nscd on 测试解析,节点2如果没有nslookup命令 yum -y install bind-utils
7.创建Oracle和Grid用户和用户组(两个节点)
userdel oracle groupdel oinstall groupdel dba groupadd --gid 1001 oinstall groupadd --gid 1002 dba groupadd --gid 1003 asmadmin groupadd --gid 1004 asmdba groupadd --gid 1005 asmoper groupadd --gid 1006 oper useradd --uid 1001 --gid oinstall --groups dba,oper,asmdba,asmoper oracle useradd --uid 1002 --gid oinstall --groups dba,asmadmin,asmdba,asmoper grid 修改两节点的grid和oracle用户密码,使其相同,密码为Huawei@1234 passwd oracle passwd grid
8.创建目录(两个节点)
创建Oracle Grid Home目录 mkdir -p /u01/app/grid11204 mkdir -p /u01/app/grid chown -R grid:oinstall /u01 创建Oracle Base目录 mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle 创建Oracle RDBMS Home目录 mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -R oracle.oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle 创建Oracle Inventory目录 mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory
9.停用NTP服务(两个节点)
service ntpd stop chkconfig –level 2345 ntpd off mv /etc/ntp.conf /etc/ntp.conf.bak service ntpd status rm /var/run/ntpd.pid
10.配置环境变量
为每个RAC节点设置环境变量时, 确保为每个RAC节点指定唯一的Oracle SID,需要修改两个地方 Oracle:export ORACLE_SID=rac2db grid:export ORACLE_SID=+ASM2
grid环境变量(节点1)
su - grid vi /home/grid/.bash_profile 添加 #For Grid TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_SID=+ASM1; export ORACLE_SID ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/grid11204; export ORACLE_HOME ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME ORACLE_TERM=xterm; export ORACLE_TERM GRID_HOME=/u01/app/grid11204/; export GRID_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH umask 022 执行 source /home/grid/.bash_profile
grid环境变量(节点2)
su - grid vi /home/grid/.bash_profile 添加 #For grid TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_SID=+ASM2; export ORACLE_SID ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/grid11204; export ORACLE_HOME ORACLE_HOSTNAME=rac2; export ORACLE_HOSTNAME ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME ORACLE_TERM=xterm; export ORACLE_TERM GRID_HOME=/u01/app/grid11204/; export GRID_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH umask 022 执行 source /home/grid/.bash_profile
oracle环境变量(节点1)
su - oracle vi /home/oracle/.bash_profile 添加 #For Oracle TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_SID=rac1db; export ORACLE_SID ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1; export ORACLE_HOME ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME ORACLE_TERM=xterm; export ORACLE_TERM LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH umask 022 执行 source /home/oracle/.bash_profile
oracle环境变量(节点2)
su - oracle vi /home/oracle/.bash_profile 添加 #For Oracle TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_SID=rac2db; export ORACLE_SID ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1; export ORACLE_HOME ORACLE_HOSTNAME=rac2; export ORACLE_HOSTNAME ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME ORACLE_TERM=xterm; export ORACLE_TERM LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH BASE_PATH=/usr/sbin:$PATH:$HOME/bin; export BASE_PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH umask 022 执行 source /home/oracle/.bash_profile
若提示
-bash: export: ` ': not a valid identifier
或者
-bash: umask: 022 : octal number out of range
删除export之后语句最后的空格
11.配置Shell资源限制(两个节点)
vi /etc/security/limits.conf 添加 oracle soft nofile 131072 oracle hard nofile 131072 oracle soft nproc 131072 oracle hard nproc 131072 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 3500000 oracle hard memlock 3500000 # Recommended stack hard limit 32MB for oracle installations # oracle hard stack 32768 grid soft nofile 131072 grid hard nofile 131072 grid soft nproc 131072 grid hard nproc 131072 grid soft core unlimited grid hard core unlimited grid soft memlock 3500000 grid hard memlock 3500000 # Recommended stack hard limit 32MB for grid installations # grid hard stack 32768
12.配置PAM认证模块(两个节点)
vi /etc/pam.d/login 添加 session required /lib64/security/pam_limits.so
13.配置系统用户环境(两个节点)
vi /etc/profile 添加 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -u 131072 ulimit -n 131072 else ulimit -u 131072 -n 131072 fi fi if [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -u 131072 ulimit -n 131072 else ulimit -u 131072 -n 131072 fi fi
14.配置内核参数(两个节点)
vi /etc/sysctl.conf 添加 #For oracle 11g net.core.wmem_max = 1048576 fs.file-max = 6815744 kernel.msgmni = 2878 kernel.sem = 250 32000 100 142 kernel.shmmni = 4096 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 3145728 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.conf.eth2.rp_filter=2 (eth2为心跳网卡) 使其立即生效 sysctl -p
15.配置SSH互信 (两个节点)
节点一生成私钥和公钥 yum install openssh-clients su - oracle mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -t rsa ssh-keygen -t dsa 节点二生成私钥和公钥 yum install openssh-clients su - oracle mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -t rsa ssh-keygen -t dsa 将节点一和节点二的公匙内容拷贝到RAC1的authorized_keys文件中(节点一执行) touch ~/.ssh/authorized_keys cd ~/.ssh cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys scp authorized_keys rac2:.ssh/ chmod 600 ~/.ssh/authorized_keys 将节点一和节点二的公匙内容拷贝到RAC2的authorized_keys文件中(节点二执行) cd ~/.ssh cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys scp authorized_keys rac1:.ssh/ chmod 600 ~/.ssh/authorized_keys 切换su - grid 后两个节点再重复上述步骤 检验显示配置,选择yes,日期显示则表示成功 ssh rac1 date ssh rac2 date ssh rac1.vmos.cn date ssh rac2.vmos.cn date ssh rac1-priv date ssh rac2-priv date
16.挂载ISCSI磁盘(两个节点)
yum -y install iscsi\* rpm -qa | grep iscsi-initiator-utils service iscsid restart chkconfig --level 2345 iscsid on chkconfig --level 2345 iscsi on chkconfig iscsi --list
openfiler有bug,需要vi /etc/initiators.deny文件中全部行注释掉
发现远程资源 iscsiadm -m discovery -t sendtargets -p 192.168.2.1 提示 192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-crs 192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm4 192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm3 192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm2 192.168.2.1:3260,1 iqn.2018.com.openfiler:racdb-asm1 登录远程资源 iscsiadm -m node -T iqn.2018.com.openfiler:racdb-crs -p 192.168.2.1 -l iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm1 -p 192.168.2.1 -l iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm2 -p 192.168.2.1 -l iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm3 -p 192.168.2.1 -l iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm4 -p 192.168.2.1 -l 自动登录 iscsiadm -m node -T iqn.2018.com.openfiler:racdb-crs -p 192.168.2.1 --op update -n node.startup -v automatic iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm1 -p 192.168.2.1 --op update -n node.startup -v automatic iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm2 -p 192.168.2.1 --op update -n node.startup -v automatic iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm3 -p 192.168.2.1 --op update -n node.startup -v automatic iscsiadm -m node -T iqn.2018.com.openfiler:racdb-asm4 -p 192.168.2.1 --op update -n node.startup -v automatic
cat /proc/partitions
17.格式化分区(节点1)
fdisk /dev/sdb Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-50752, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-51104, default 51104): 15000 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 将sdb划分为3个主分区,每个15G,其他步骤省略 继续按照存储规划列表步骤格式化/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf
18.创建ASM disk配置共享存储(两个节点)
yum -y install parted partprobe /dev/sdb /dev/sdc /dev/sdb /dev/sde /dev/sdf
安装ASMlib组件(两个节点)
如果服务器可访问外网 wget http://public-yum.oracle.com/public-yum-ol6.repo wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle yum install kmod-oracleasm wget http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel6/amd64/2.1.8/oracleasm-support-2.1.8-1.el6.x86_64.rpm wget http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm 如果无法联网 cd /root/ASMlib rpm -ivh kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm rpm -ivh oracleasm*
配置ASMLib(两个节点)
/usr/sbin/oracleasm configure -i grid asmadmin y y
vi /etc/sysconfig/oracleasm # ORACLEASM_SCANORDER: Matching patterns to order disk scanning ORACLEASM_SCANORDER="dm" # ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan ORACLEASM_SCANEXCLUDE="sda" 执行 /etc/init.d/oracleasm enable
读取asm模块(两个节点)
oracleasm init
使用oracleasm创建ASM盘(节点1)
oracleasm createdisk crs_sdb1 /dev/sdb1 oracleasm createdisk crs_sdb2 /dev/sdb2 oracleasm createdisk crs_sdb3 /dev/sdb3 oracleasm createdisk data1_sdc /dev/sdc1 oracleasm createdisk data2_sdd /dev/sdd1 oracleasm createdisk fra_sde1 /dev/sde1 oracleasm createdisk fra_sde2 /dev/sde2 oracleasm createdisk fra_sde3 /dev/sde3 oracleasm createdisk redo_sdf1 /dev/sdf1 oracleasm createdisk redo_sdf2 /dev/sdf2 oracleasm createdisk redo_sdf3 /dev/sdf3 oracleasm scandisks oracleasm listdisks
如果创建错误,输入oracleasm deletedisk CRS_SDB来删除
剩余节点同步磁盘信息(节点2)
oracleasm scandisks oracleasm listdisks
验证
/usr/sbin/oracleasm-discover 'ORCL:*'
Grid安装
1. 因为两个节点时间不一致,运行脚本出现#CRS-2674: Start of 'ora.ctssd' on 'rac2' failed错误
节点1 yum install -y xinetd vi /etc/xinetd.d/time-stream 修改 disable = yes改为no service xinetd start chkconfig time-stream on 节点2 yum install -y rdate vixie-cron rdate -s 172.19.44.100 vi /etc/crontab */1 * * * * rdate -s 172.19.44.100
2. 因为两个节点时区不一样,出现ERROR:PRVF-5479错误
两个节点 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3. 因为DNS解析超时,出现ERROR:PRVF-5636错误
节点1 vi /etc/named.conf 修改 zone “.” IN { type hint; file "/dev/null"; }; service named restart
4.安装cvuqdisk包(两个节点)
cvuqdisk的安装包在GI的光盘里,安装前需要建立好oinstall组
yum install smartmontools export CVUQDISK_GRP=oinstall echo $CVUQDISK_GRP cd /u01/app/grid/grid-software/grid/rpm rpm -ivh cvuqdisk-1.0.9-1.rpm rpm -qa | grep cvuqdisk
5. 使用winscp将oracle安装源传入/root目录
节点1
yum groupinstall "Desktop" "Desktop Platform" "X Window System" "Graphics Creation Tools" yum install tightvnc-server unzip xorg-x11-apps.x86_64 vncpasswd 123456 reboot vncserver chkconfig vncserver on export DISPLAY=:1.0 xhost + mkdir /u01/app/grid/grid-software mv /root/11.2.0.4/p13390677_112040_Linux-x86-64_3of7.zip /u01/app/grid/grid-software chown grid.oinstall /u01/app/grid/grid-software cd /u01/app/grid/grid-software chown grid.oinstall p13390677_112040_Linux-x86-64_3of7.zip su - grid cd /u01/app/grid/grid-software unzip p13390677_112040_Linux-x86-64_3of7.zip sed -i 's/CV_ASSUME_DISTID=OEL4/CV_ASSUME_DISTID=OEL6/' /u01/app/grid/grid-software/grid/stage/cvu/cv/admin/cvu_config grep CV_ASSUME_DISTID=OEL6 /u01/app/grid/grid-software/grid/stage/cvu/cv/admin/cvu_config 提示CV_ASSUME_DISTID=OEL6 如果运行安装脚本出现could not execute auto check for display colors using command错误 export DISPLAY=172.19.44.1:0.0 (172.19.44.1为ssh客户端地址) cd grid ./runInstaller
跳过软件升级
install and configure oracle grid infrastructure for a cluster
advanced installation
next
cluster name输入rac-scan,scan name输入rac-scan.vmos.cn,不勾选configure gns
添加节点2,输入节点2的public主机名和vip主机名
定义网卡类型,将心跳网卡类型改为private,存储网卡do not use,绑定的外网卡类型改为public
oracle automatic storage management(oracle asm)
组名为CRS,冗余级别为Normal,勾选三个CSR磁盘,ASM扫描默认路径/dev/oracleasm/disks
use same passwords for these accounts,密码为Huawei1234
do not use inteligent platform management interface(ipm)
asmadmin,asmdba,asmoper
next
next
install
等待安装
节点1执行脚本完成后,节点2再执行脚本,完成后再点OK
/u01/app/oraInventory/orainstRoot.sh /u01/app/grid11204/root.sh
运行脚本提示无错误后,在OK继续
close
/u01/app/grid11204/bin/srvctl status asm
/u01/app/grid11204/bin/crs_stat -t -v
验证正常
创建磁盘组
asmca
状态正常
disk group标签点击create
新建FRA,redundancy选择Normal,select member disks勾选ORCL:FRA_SDE1、SDE2、SDE3
创建FRA磁盘组成功
继续创建REDO,redundancy选择External,select member disks勾选ORCL:REDO_SDF1、SDF2、SDF3
最后创建DATA,redundancy选择Normal,select member disks勾选ORCL:DATA1_SDC和ORCL:DATA2_SDD
Exit
Oracle安装
使用winscp将oracle安装源cd1和cd2传入/root目录
mkdir /u01/app/oracle/oracle-software mv /root/p13390677_112040_Linux-x86-64_1of7.zip /u01/app/oracle/oracle-software mv /root/p13390677_112040_Linux-x86-64_2of7.zip /u01/app/oracle/oracle-software chown oracle.oinstall /u01/app/oracle/oracle-software cd /u01/app/oracle/oracle-software chown oracle.oinstall p13390677_112040_Linux-x86-64_1of7.zip chown oracle.oinstall p13390677_112040_Linux-x86-64_2of7.zip su - oracle cd /u01/app/oracle/oracle-software unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip sed -i 's/CV_ASSUME_DISTID=OEL4/CV_ASSUME_DISTID=OEL6/' /u01/app/oracle/oracle-software/database/stage/cvu/cv/admin/cvu_config grep CV_ASSUME_DISTID=OEL6 /u01/app/oracle/oracle-software/database/stage/cvu/cv/admin/cvu_config cd /u01/app/oracle/oracle-software/database ./runInstaller
不接收安全更新
Yes
跳过软件更新
install database software only
oracle real application clusters database installation,勾选两个节点
Next
Enterprise Edition
路径默认
管理组和操作组成员默认
Install
等待安装
节点1执行脚本完成后,节点2再执行脚本,完成后再点OK
/u01/app/oracle/product/11.2.0/db_1/root.sh
脚本运行完成
完成
创建数据库
su - root dbca
Oracle Real Application Clusters(RAC) database
Create a Database
创建通用数据库
配置类型为Admin-Managed,输入数据库名为CRM,勾选两个节点
不需要配置企业管理器
启动自动维护任务
使用统一密码,密码为Huawei1234
数据库存储类型选择ASM,数据区选择之前创建的DATA磁盘组
选择数据库闪回恢复区,勾选之前创建好的FRA磁盘组
不开启归档
创建自带sample schema
SGA和PGA自动管理
连接数150
字符集改为AL32UTF8
连接模式为封闭式
Next
开始创建数据库
OK
OK
创建数据库时间较长,等待完成
相关软件和脚本
本站所有文章均可随意转载,转载时请保留原文链接及作者。