Install Oracle DB 10g RAC on RHEL6.6 (64Bit)
本文将呈现的细节如题所示。
在开始本文前,你需要准备好如下图所示的环境:
Openfiler:提供RAC的共享存储支持
ora10grac1:RAC的节点主机,节点一
ora10grac2:RAC的节点主机,节点二
一、操作系统的配置
Host表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@ora10grac1 ~]# cat /etc/hosts # Local 127.0.0.1 localhost # Public 192.168.221.144 ora10grac1 192.168.221.145 ora10grac2 # Virutal IP 192.168.221.146 ora10grac1-vip 192.168.221.147 ora10grac2-vip # Private 192.168.180.144 ora10grac1-priv 192.168.180.145 ora10grac2-priv [root@ora10grac1 ~]# |
主机名:
1 2 3 4 |
[root@ora10grac1 ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=ora10grac1 [root@ora10grac1 ~]# |
关闭防火墙与SELINUX:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@ora10grac1 ~]# chkconfig iptables --list iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@ora10grac1 ~]# service iptables status iptables: Firewall is not running. [root@ora10grac1 ~]# [root@ora10grac1 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@ora10grac1 ~]# [root@ora10grac1 ~]# sestatus SELinux status: disabled [root@ora10grac1 ~]# |
固定网卡配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
[root@ora10grac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" #BOOTPROTO="dhcp" BOOTPROTO="static" HWADDR="00:0C:29:CD:0C:5E" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="7bb071e3-c659-4ed8-a2a0-b911b041eecd" IPADDR=192.168.221.144 NETMASK=255.255.255.0 GATEWAY=192.168.221.1 DNS1=114.114.114.114 [root@ora10grac1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 HWADDR=00:0C:29:CD:0C:68 TYPE=Ethernet UUID=45cb7611-dd1e-4da2-bd27-a21582adf693 #ONBOOT=no ONBOOT=yes NM_CONTROLLED=yes #BOOTPROTO=dhcp BOOTPROTO=static IPADDR=192.168.180.144 NETMASK=255.255.255.0 GATEWAY=192.168.180.1 [root@ora10grac1 ~]# |
YUM源配置:
1 2 3 4 5 6 |
[root@ora10grac1 ~]# cat /etc/yum.repos.d/iso.repo [ISO] name=ISO baseurl=file:///iso/ gpgcheck=0 [root@ora10grac1 ~]# |
创建需要的路径:
1 2 3 4 5 |
[root@ora10grac1 ~]# mkdir /iso [root@ora10grac1 ~]# mkdir /backup [root@ora10grac1 ~]# mkdir /temp_me [root@ora10grac1 ~]# mkdir /software [root@ora10grac1 ~]# |
挂载光驱:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@ora10grac1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 2.5G 15G 15% / tmpfs 935M 72K 935M 1% /dev/shm /dev/sda1 283M 33M 236M 13% /boot [root@ora10grac1 ~]# [root@ora10grac1 ~]# mount /dev/sr1 /iso mount: block device /dev/sr1 is write-protected, mounting read-only [root@ora10grac1 ~]# [root@ora10grac1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 2.5G 15G 15% / tmpfs 935M 72K 935M 1% /dev/shm /dev/sda1 283M 33M 236M 13% /boot /dev/sr1 3.6G 3.6G 0 100% /iso [root@ora10grac1 ~]# |
安装RAC需要的软件包:
yum install -y libXp.i686 libXp.x86_64 libXp-devel.i686 libXp-devel.x86_64 libXpm.i686 libXpm-devel.i686 libXpm-devel.x86_64 libXpm.x86_64
yum install -y libXtst.x86_64 libXtst-devel.x86_64 libXtst.i686 libXtst-devel.i686
yum install -y binutils* compat-libstdc++-* elfutils-libelf-* elfutils-libelf-devel-* elfutils-libelf-devel-static-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh libaio-* libaio-devel-* libgcc libstdc++-* libstdc++-devel make sysstat unixODBC unixODBC-devel compat-libstdc++-33.i386 compat-libstdc++-296.i386 glibc.i686 glibc-devel.i386 unixODBC.i386 unixODBC-devel.i386 libaio.i386 libaio-devel.i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libaio-devel.i386 libXp.i386
yum install -y binutils* compat-db setarch compat-libstdc++-* control-center elfutils-libelf-* elfutils-libelf-devel-* elfutils-libelf-devel-static-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh libaio-* libaio-devel-* libgcc libstdc++-* libstdc++-devel make sysstat unixODBC unixODBC-devel compat-libstdc++-33.i386 compat-libstdc++-296.i386 glibc.i686 glibc-devel.i386 unixODBC.i386 unixODBC-devel.i386 libaio.i386 libaio-devel.i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libaio-devel.i386 libXp.i386
/etc/sysctl.conf
1 2 3 4 5 6 7 8 9 10 11 |
# Oracle 10g RAC kernel.shmall = 2097152 kernel.shmmax = 536870912 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 = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 |
/etc/security/limits.conf
1 2 3 4 5 |
# Oracle 10g RAC * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 |
/etc/pam.d/login
1 2 3 |
# Oracle 10g RAC session required /lib/security/pam_limits.so session required pam_limits.so |
用户和用户组:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@ora10grac1 ~]# cat create_user.sh groupadd -g 1000 oinstall groupadd -g 2000 dba groupadd -g 3000 asmadmin groupadd -g 4000 asmdba groupadd -g 5000 asmoper groupadd -g 6000 oper useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid useradd -u 1200 -g oinstall -G dba,oper,asmdba oracle echo "oracle" | passwd grid --stdin echo "oracle" | passwd oracle --stdin [root@ora10grac1 ~]# [root@ora10grac1 ~]# sh create_user.sh Changing password for user grid. passwd: all authentication tokens updated successfully. Changing password for user oracle. passwd: all authentication tokens updated successfully. [root@ora10grac1 ~]# |
环境变量:grid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Oracle 10g RAC export ORACLE_SID=+ASM1 export JAVA_HOME=/usr/local/java export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/10g/grid export ORACLE_PATH=/u01/app/oracle/common/oracle/sql export ORACLE_TERM=xterm export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS" export TNS_ADMIN=$ORACLE_HOME/network/admin export ORA_NLS11=$ORACLE_HOME/nls/data export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/common/oracle/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp |
环境变量:oracle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Oracle 10g RAC export ORACLE_SID=dblogic1 export ORACLE_UNQNAME=dblogic export JAVA_HOME=/usr/local/java export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10g/dbhome_1 export ORACLE_PATH=/u01/app/common/oracle/sql export ORACLE_TERM=xterm export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS" export TNS_ADMIN=$ORACLE_HOME/network/admin export ORA_NLS11=$ORACLE_HOME/nls/data export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/common/oracle/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp |
创建Oracle RAC相关的目录结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@ora10grac1 ~]# mkdir /u01 [root@ora10grac1 ~]# mkdir -p /u01/app/oracle [root@ora10grac1 ~]# chown -R grid.oinstall /u01/ [root@ora10grac1 ~]# chown -R oracle.oinstall /u01/app/oracle/ [root@ora10grac1 ~]# [root@ora10grac1 ~]# su - grid [grid@ora10grac1 ~]$ mkdir -p $ORACLE_BASE [grid@ora10grac1 ~]$ mkdir -p $ORACLE_HOME [grid@ora10grac1 ~]$ [grid@ora10grac1 ~]$ exit logout [root@ora10grac1 ~]# su - oracle [oracle@ora10grac1 ~]$ mkdir -p $ORACLE_HOME [oracle@ora10grac1 ~]$ exit logout [root@ora10grac1 ~]# [root@ora10grac1 ~]# chmod -R 775 /u01/ [root@ora10grac1 ~]# |
时间同步:
VMWARE Toolbox:
1 2 3 4 5 |
[root@ora10grac1 ~]# vmware-toolbox-cmd timesync status Disabled [root@ora10grac1 ~]# vmware-toolbox-cmd timesync enable Enabled [root@ora10grac1 ~]# |
SSH等价性:
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub
每个节点的用户:grid/oracle都需要做出配置。
Eg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
[root@ora10grac1 ~]# su - grid [grid@ora10grac1 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/grid/.ssh/id_rsa): Created directory '/home/grid/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/grid/.ssh/id_rsa. Your public key has been saved in /home/grid/.ssh/id_rsa.pub. The key fingerprint is: b7:2c:4a:65:da:86:13:18:52:14:d7:42:bb:05:aa:81 grid@ora10grac1 The key's randomart image is: +--[ RSA 2048]----+ | .+o+. | | . . o.o. | |E o o ... | | + o o | | . . o S . | | B o . | | = + o | | . + . | | . | +-----------------+ [grid@ora10grac1 ~]$ [grid@ora10grac1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub ora10grac1; The authenticity of host 'ora10grac1 (192.168.221.144)' can't be established. RSA key fingerprint is cb:5a:2e:1a:58:bf:9e:09:fd:07:ca:6a:2a:0b:d7:69. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ora10grac1,192.168.221.144' (RSA) to the list of known hosts. grid@ora10grac1's password: Now try logging into the machine, with "ssh 'ora10grac1'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [grid@ora10grac1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub ora10grac2; The authenticity of host 'ora10grac2 (192.168.221.145)' can't be established. RSA key fingerprint is 17:96:c9:21:f5:2d:d0:bd:ed:3a:fa:74:a2:50:45:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ora10grac2,192.168.221.145' (RSA) to the list of known hosts. grid@ora10grac2's password: Now try logging into the machine, with "ssh 'ora10grac2'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [grid@ora10grac1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub ora10grac1-priv; The authenticity of host 'ora10grac1-priv (192.168.180.144)' can't be established. RSA key fingerprint is cb:5a:2e:1a:58:bf:9e:09:fd:07:ca:6a:2a:0b:d7:69. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ora10grac1-priv,192.168.180.144' (RSA) to the list of known hosts. Now try logging into the machine, with "ssh 'ora10grac1-priv'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [grid@ora10grac1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub ora10grac2-priv; The authenticity of host 'ora10grac2-priv (192.168.180.145)' can't be established. RSA key fingerprint is 17:96:c9:21:f5:2d:d0:bd:ed:3a:fa:74:a2:50:45:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ora10grac2-priv,192.168.180.145' (RSA) to the list of known hosts. Now try logging into the machine, with "ssh 'ora10grac2-priv'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [grid@ora10grac1 ~]$ |
HangCheck-timer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[root@ora10grac1 ~]# cat /etc/modprobe.d/hangcheck.conf # HangCheck-time options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 [root@ora10grac1 ~]# [root@ora10grac1 ~]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local # HangCheck-time /sbin/modprobe hangcheck-timer [root@ora10grac1 ~]# [root@ora10grac1 ~]# grep Hangcheck /var/log/messages | tail -2 [root@ora10grac1 ~]# [root@ora10grac1 ~]# sh /etc/rc.local [root@ora10grac1 ~]# [root@ora10grac1 ~]# grep Hangcheck /var/log/messages | tail -2 Apr 23 21:39:23 ora10grac1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 30 seconds, margin is 180 seconds). Apr 23 21:39:23 ora10grac1 kernel: Hangcheck: Using get_cycles(). [root@ora10grac1 ~]# [root@ora10grac1 ~]# |
节点主机的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
[root@ora10grac1 ~]# yum install -y iscsi* Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Installing: iscsi-initiator-utils x86_64 6.2.0.873-13.el6 ISO 719 k Transaction Summary ===================================================================================================================== Install 1 Package(s) Total download size: 719 k Installed size: 2.4 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : iscsi-initiator-utils-6.2.0.873-13.el6.x86_64 1/1 Verifying : iscsi-initiator-utils-6.2.0.873-13.el6.x86_64 1/1 Installed: iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6 Complete! [root@ora10grac1 ~]# [root@ora10grac1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.221.132 [ OK ] iscsid: [ OK ] 192.168.221.132:3260,1 ora10grac [root@ora10grac1 ~]# [root@ora10grac1 ~]# iscsiadm -m node -T ora10grac -p 192.168.221.132 -l Logging in to [iface: default, target: ora10grac, portal: 192.168.221.132,3260] (multiple) Login to [iface: default, target: ora10grac, portal: 192.168.221.132,3260] successful. [root@ora10grac1 ~]# [root@ora10grac1 ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004647b Device Boot Start End Blocks Id System /dev/sda1 * 1 39 307200 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 39 2350 18566144 83 Linux /dev/sda3 2350 2611 2097152 82 Linux swap / Solaris Disk /dev/sdb: 20.5 GB, 20468203520 bytes 64 heads, 32 sectors/track, 19520 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 [root@ora10grac1 ~]# |
划分共享存储:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
[root@ora10grac1 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x48d56b07. 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) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdb: 20.5 GB, 20468203520 bytes 64 heads, 32 sectors/track, 19520 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x48d56b07 Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-19520, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-19520, default 19520): +512M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (514-19520, default 514): Using default value 514 Last cylinder, +cylinders or +size{K,M,G} (514-19520, default 19520): +512M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (1027-19520, default 1027): Using default value 1027 Last cylinder, +cylinders or +size{K,M,G} (1027-19520, default 19520): Using default value 19520 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@ora10grac1 ~]# partprobe /dev/sdb [root@ora10grac1 ~]# [root@ora10grac1 ~]# fdisk -l /dev/sdb Disk /dev/sdb: 20.5 GB, 20468203520 bytes 64 heads, 32 sectors/track, 19520 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x48d56b07 Device Boot Start End Blocks Id System /dev/sdb1 1 513 525296 83 Linux /dev/sdb2 514 1026 525312 83 Linux /dev/sdb3 1027 19520 18937856 83 Linux [root@ora10grac1 ~]# |
RAW:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
[root@ora10grac1 ~]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local # HangCheck-time /sbin/modprobe hangcheck-timer # Raw # OCR raw /dev/raw/raw1 /dev/sdb1 # Vote raw /dev/raw/raw2 /dev/sdb2 # Data raw /dev/raw/raw3 /dev/sdb3 [root@ora10grac1 ~]# [root@ora10grac1 ~]# ll /dev/raw/ total 0 crw-rw---- 1 root disk 162, 0 Apr 23 20:50 rawctl [root@ora10grac1 ~]# [root@ora10grac1 ~]# sh /etc/rc.local /dev/raw/raw1: bound to major 8, minor 17 /dev/raw/raw2: bound to major 8, minor 18 /dev/raw/raw3: bound to major 8, minor 19 [root@ora10grac1 ~]# [root@ora10grac1 ~]# ll /dev/raw/ total 0 crw-rw---- 1 root disk 162, 1 Apr 23 21:55 raw1 crw-rw---- 1 root disk 162, 2 Apr 23 21:55 raw2 crw-rw---- 1 root disk 162, 3 Apr 23 21:55 raw3 crw-rw---- 1 root disk 162, 0 Apr 23 20:50 rawctl [root@ora10grac1 ~]# |
UDEV:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[root@ora10grac1 ~]# cat /etc/udev/rules.d/60-raw.rules # Enter raw device bindings here. # # An example would be: # ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or # ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1. # Oracle 10g RAC KERNEL=="raw*",OWNER="grid",GROUP="oinstall",MODE="0660" [root@ora10grac1 ~]# [root@ora10grac1 ~]# ll /dev/raw/ total 0 crw-rw---- 1 root disk 162, 1 Apr 23 21:55 raw1 crw-rw---- 1 root disk 162, 2 Apr 23 21:55 raw2 crw-rw---- 1 root disk 162, 3 Apr 23 21:55 raw3 crw-rw---- 1 root disk 162, 0 Apr 23 20:50 rawctl [root@ora10grac1 ~]# [root@ora10grac1 ~]# start_udev Starting udev: udevd[25619]: GOTO 'pulseaudio_check_usb' has no matching label in: '/lib/udev/rules.d/90-pulseaudio.rules' [ OK ] [root@ora10grac1 ~]# [root@ora10grac1 ~]# ll /dev/raw/ total 0 crw-rw---- 1 grid oinstall 162, 1 Apr 23 21:57 raw1 crw-rw---- 1 grid oinstall 162, 2 Apr 23 21:57 raw2 crw-rw---- 1 grid oinstall 162, 3 Apr 23 21:57 raw3 crw-rw---- 1 grid oinstall 162, 0 Apr 23 21:57 rawctl [root@ora10grac1 ~]# |
三、Oracle RAC:Clusterware
上传介质:
解压:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@ora10grac1 ~]# cd /software [root@ora10grac1 software]# ls 10201_clusterware_linux_x86_64.cpio.gz [root@ora10grac1 software]# [root@ora10grac1 software]# gunzip 10201_clusterware_linux_x86_64.cpio.gz [root@ora10grac1 software]# ls 10201_clusterware_linux_x86_64.cpio [root@ora10grac1 software]# [root@ora10grac1 software]# cpio -idmv < 10201_clusterware_linux_x86_64.cpio (... ...etc) [root@ora10grac1 software]# ls 10201_clusterware_linux_x86_64.cpio clusterware [root@ora10grac1 software]# cd clusterware/ [root@ora10grac1 clusterware]# ls cluvfy doc install response rootpre rpm runInstaller stage upgrade welcome.html [root@ora10grac1 clusterware]# |
运行OUI:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
[root@ora10grac1 clusterware]# cp /etc/redhat-release /backup/ [root@ora10grac1 clusterware]# echo redhat-4 > /etc/redhat-release [root@ora10grac1 clusterware]# [root@ora10grac1 clusterware]# export DISPLAY=192.168.221.1:0.0 [root@ora10grac1 clusterware]# xhost + access control disabled, clients can connect from any host [root@ora10grac1 clusterware]# [root@ora10grac1 clusterware]# su - grid [grid@ora10grac1 ~]$ [grid@ora10grac1 ~]$ xhost + access control disabled, clients can connect from any host [grid@ora10grac1 ~]$ [grid@ora10grac1 ~]$ cd /software/clusterware/ [grid@ora10grac1 clusterware]$ [grid@ora10grac1 clusterware]$ ./runInstaller ******************************************************************************** Please run the script rootpre.sh as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area. Once you have run the script, please type Y to proceed Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle Clusterware installation. Answer 'n' to abort installation and then ask root to run 'rootpre.sh'. ******************************************************************************** Has 'rootpre.sh' been run by root? [y/n] (n) y Starting Oracle Universal Installer... Checking installer requirements... Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2 Passed All installer requirements met. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-04-23_10-08-25PM. Please wait ...[grid@ora10grac1 clusterware]$ Oracle Universal Installer, Version 10.2.0.1.0 Production Copyright (C) 1999, 2005, Oracle. All rights reserved. [grid@ora10grac1 clusterware]$ |
1 2 3 4 5 |
[root@ora10grac1 ~]# /u01/app/grid/oraInventory/orainstRoot.sh Changing permissions of /u01/app/grid/oraInventory to 770. Changing groupname of /u01/app/grid/oraInventory to oinstall. The execution of the script is complete [root@ora10grac1 ~]# |
2:
1 2 3 4 5 |
[root@ora10grac2 ~]# /u01/app/grid/oraInventory/orainstRoot.sh Changing permissions of /u01/app/grid/oraInventory to 770. Changing groupname of /u01/app/grid/oraInventory to oinstall. The execution of the script is complete [root@ora10grac2 ~]# |
3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[root@ora10grac1 ~]# /u01/app/grid/oraInventory/orainstRoot.sh Changing permissions of /u01/app/grid/oraInventory to 770. Changing groupname of /u01/app/grid/oraInventory to oinstall. The execution of the script is complete [root@ora10grac1 ~]# [root@ora10grac1 ~]# [root@ora10grac1 ~]# [root@ora10grac1 ~]# /u01/app/10g/grid/root.sh WARNING: directory '/u01/app/10g' is not owned by root WARNING: directory '/u01/app' is not owned by root WARNING: directory '/u01' is not owned by root Checking to see if Oracle CRS stack is already configured /etc/oracle does not exist. Creating it now. Setting the permissions on OCR backup directory Setting up NS directories Oracle Cluster Registry configuration upgraded successfully WARNING: directory '/u01/app/10g' is not owned by root WARNING: directory '/u01/app' is not owned by root WARNING: directory '/u01' is not owned by root Successfully accumulated necessary OCR keys. Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897. node <nodenumber>: <nodename> <private interconnect name> <hostname> node 1: ora10grac1 ora10grac1-priv ora10grac1 node 2: ora10grac2 ora10grac2-priv ora10grac2 Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. Now formatting voting device: /dev/raw/raw2 Format of 1 voting devices complete. Startup will be queued to init within 90 seconds. Adding daemons to inittab Expecting the CRS daemons to be up within 600 seconds. Failure at final check of Oracle CRS stack. 10 [root@ora10grac1 ~]# |
这里的报错即使打上Patch:4679769,虽然脚本看上去通过了,但事实上CRS的资源是没有被拉起来的。
故而,相信Oracle官方在兼容性上的描述吧,继续折腾,真的很浪费精力,而且不能增益些许:
————————————————————————————————
Done。