1 環境配置
參考官方文檔《Grid Infrastructure Installation Guide for Linux》
1.1 軟件環境
操作系統:
[root@howe1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)
[root@howe1 ~]# uname -a
Linux howe1 2.6.32-220.el6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686 i686 i386 GNU/Linux
1.2 rpm包檢查
Oracle Linux 6 and Red Hat Enterprise Linux 6 The following packages (or later versions) must be installed: 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
除了上述rpm包,以下sysstat、cvuqdisk、elfutils-libelf、elfutils-libelf-devel、pdksh、unixODBC 、unixODBC-devel等包也需要安裝。
檢查語句如下:
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \ compat-libstdc++-33 \ compat-libcap1 \ cvuqdisk \ elfutils-libelf \ elfutils-libelf-devel \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ ksh \ pdksh \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ sysstat \ unixODBC \ unixODBC-devel
結果如下:
[root@howe1 ~]# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \ > compat-libstdc++-33 \ > compat-libcap1 \ > gcc \ > gcc-c++ \ > glibc \ > glibc-common \ > glibc-devel \ > glibc-headers \ > ksh \ > libgcc \ > libstdc++ \ > libstdc++-devel \ > libaio \ > libaio-devel \ > make \ > sysstat \ > cvuqdisk \ > elfutils-libelf \ > elfutils-libelf-devel \ > pdksh \ > unixODBC \ > unixODBC-devel binutils-2.20.51.0.2-5.28.el6 (i686) package compat-libstdc++-33 is not installed package compat-libcap1 is not installed gcc-4.4.6-3.el6 (i686) gcc-c++-4.4.6-3.el6 (i686) glibc-2.12-1.47.el6 (i686) glibc-common-2.12-1.47.el6 (i686) glibc-devel-2.12-1.47.el6 (i686) glibc-headers-2.12-1.47.el6 (i686) package ksh is not installed libgcc-4.4.6-3.el6 (i686) libstdc++-4.4.6-3.el6 (i686) libstdc++-devel-4.4.6-3.el6 (i686) libaio-0.3.107-10.el6 (i686) package libaio-devel is not installed make-3.81-19.el6 (i686) sysstat-9.0.4-18.el6 (i686) package cvuqdisk is not installed elfutils-libelf-0.152-1.el6 (i686) package elfutils-libelf-devel is not installed package pdksh is not installed unixODBC-2.2.14-11.el6 (i686) package unixODBC-devel is not installed
安裝缺失的rpm包
yum install compat-libstdc++-33 -y yum install elfutils-libelf-devel -y yum install gcc-c++ -y yum install ksh -y yum install libaio-devel -y yum install libstdc++-devel -y yum install unixODBC -y yum install unixODBC-devel -y yum install compat-libcap1 -y rpm -ivh /u01/app/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm --存在於gi的安裝包 rpm -ivh pdksh-5.2.14-1.i386.rpm --nodeps --需要下載
1.3 Hosts配置
Howe1 [root@howe1 ~]# hostname howe1 [root@howe1 ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=howe1 vim /etc/hosts --主機名后面不要有空格 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #public ip 192.168.8.201 howe1 192.168.8.202 howe2 #private ip 10.10.10.201 howe1-priv 10.10.10.202 howe2-priv #vip ip 192.168.8.211 howe1-vip 192.168.8.212 howe2-vip #scan ip 192.168.8.223 scan-howe Howe2 [root@howe2 package]# hostname howe2 [root@howe2 package]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=howe2 vim /etc/hosts
1.4 OS參數
1. Sysctl
vi /etc/sysctl.conf kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 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 = 1048576 fs.aio-max-nr = 1048576 /sbin/sysctl -p
2. Limits
vi /etc/security/limits.conf grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
3. Login
vim /etc/pam.d/login
session required pam_limits.so
4. Profile
vi /etc/profile
if [ /$USER = "oracle" ] || [ /$USER = "grid" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
1.5 創建用戶
兩個節點howe1、howe2分別創建
Grid
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
id grid
passwd grid
Oracle
groupadd -g 1300 dba
groupadd -g 1301 oper
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
id oracle
passwd oracle
Nobody
驗證nobody用戶的存在
[root@howe1 ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody
1.6 目錄
兩個節點howe1、howe2分別創建
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01/
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
1.7 bash_profile
兩個節點howe1、howe2分別修改
Howe1
grid
ORACLE_SID=+ASM1; export ORACLE_SID #another is +ASM2
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
# SQLPATH=/u01/app/common/oracle/sql; export SQLPATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
# ---------------------------------------------------
# Set the default file mode creation mask
# (umask) to 022 to ensure that the user performing
# the Oracle software installation creates files
# with 644 permissions.
# ---------------------------------------------------
umask 022
oracle
ORACLE_SID=howe1; export ORACLE_SID #another is howe2
ORACLE_UNQNAME=howe; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
# ---------------------------------------------------
# UMASK
# ---------------------------------------------------
# Set the default file mode creation mask
# (umask) to 022 to ensure that the user performing
# the Oracle software installation creates files
# with 644 permissions.
# ---------------------------------------------------
umask 022
Howe2
grid
ORACLE_SID=+ASM2; export ORACLE_SID #another is +ASM1
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
# SQLPATH=/u01/app/common/oracle/sql; export SQLPATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
# ---------------------------------------------------
# Set the default file mode creation mask
# (umask) to 022 to ensure that the user performing
# the Oracle software installation creates files
# with 644 permissions.
# ---------------------------------------------------
umask 022
oracle
ORACLE_SID=howe2; export ORACLE_SID #another is howe1
ORACLE_UNQNAME=howe; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
# ---------------------------------------------------
# UMASK
# ---------------------------------------------------
# Set the default file mode creation mask
# (umask) to 022 to ensure that the user performing
# the Oracle software installation creates files
# with 644 permissions.
# ---------------------------------------------------
umask 022
1.8 時間同步
Oracle 提供了兩種方法來實現時間同步:
操作系統的網絡時間協議 (NTP)
Oracle 集群時間同步服務 (CTSS)。
Oracle 集群時間同步服務旨在為那些 Oracle RAC 數據庫無法訪問 NTP 服務的組織提供服務。
略
使用集群時間同步服務在集群中提供同步服務,需要卸載網絡時間協議 (NTP) 及其配置。
1.8.2.1 卸載NTP
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
1.8.2.2 啟用CTSS
當NTP 協議處於非活動狀態時,安裝集群時間同步服務將以活動模式自動進行安裝並通過所有節點的時間。如果發現配置了NTP,則以觀察者模式啟動集群時間同步服務,Oracle Clusterware 不會在集群中進行活動的時間同步。
在安裝后,要確認 ctssd 處於活動狀態, grid用戶輸入以下命令:
[grid@howe1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
1.9 關閉服務
service iptables stop
chkconfig iptables off
chkconfig --list|grep iptables
l 關閉
1、臨時關閉(不用重啟機器):
setenforce 0 ##設置SELinux 為permissive模式
##setenforce 1 為enforcing模式
2、修改配置文件 ##需要重啟機器:
vim /etc/selinux/config
SELINUX=disabled
l 查看
/usr/sbin/sestatus -v
getenforce
1.10 SSH
確認兩台服務的四個網卡是否都能ping通
ping howe2
ping howe2-priv
ping howe1
ping howe1-priv
Howe1
Howe2
l Grid
su - grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
l oracle
su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
l Grid
su - grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
l oracle
su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
howe1
l grid
su - grid
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh howe2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh howe2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys howe2:~/.ssh/authorized_keys
l oracle
su - oracle
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh howe2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh howe2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys howe2:~/.ssh/authorized_keys
逐個驗證,確保暢通
Howe1
Howe2
l grid
su - grid
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
ssh howe1 date
ssh howe2 date
ssh howe1-priv date
ssh howe2-priv date
l oracle
su - oracle
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
ssh howe1 date
ssh howe2 date
ssh howe1-priv date
ssh howe2-priv date
l grid
su - grid
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
ssh howe1 date
ssh howe2 date
ssh howe1-priv date
ssh howe2-priv date
l oracle
su - oracle
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
ssh howe1 date
ssh howe2 date
ssh howe1-priv date
ssh howe2-priv date
1.11 裸設備
注意屬組,官方建議grid:asmadmin
使用cmd進入到vm所在的位置
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\vmware\asm\data01.vmdk
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\vmware\asm\data02.vmdk
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\vmware\asm\data03.vmdk
在每個虛擬機配置的*.vmx中添加如下信息:
diskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:0.present = "TRUE"
scsi1:1.present = "TRUE"
scsi1:2.present = "TRUE"
scsi1:0.fileName = "E:\vmware\asm\data01.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:1.fileName = "E:\vmware\asm\data02.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:2.fileName = "E:\vmware\asm\data03.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:0.redo = ""
scsi1:1.redo = ""
scsi1:2.redo = ""
1.11.2.2 啟用udev
cat /etc/udev/rules.d/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=="raw*", OWNER=="grid", GROUP=="asmadmin", MODE=="0660"
[root@howe1 ~]# start_udev
Starting udev: [ OK ]
[root@howe1 ~]# ll /dev/raw/*
crw-rw---- 1 grid asmadmin 162, 1 Jan 9 09:12 /dev/raw/raw1
crw-rw---- 1 grid asmadmin 162, 2 Jan 9 09:12 /dev/raw/raw2
crw-rw---- 1 grid asmadmin 162, 3 Jan 9 09:12 /dev/raw/raw3
crw-rw---- 1 grid asmadmin 162, 0 Jan 9 09:12 /dev/raw/rawctl
略
2 GI安裝
2.1 解壓
[root@howe1 ~]# chown grid:oinstall /u01/app/grid/p13390677_112040_LINUX_3of7.zip
[root@howe1 ~]# su - grid
[grid@howe1 ~]$ cd /u01/app/grid/
[grid@howe1 grid]$ unzip p13390677_112040_LINUX_3of7.zip
2.2 安裝前檢查
[grid@howe1 grid]$ pwd
/u01/app/grid/grid
[grid@howe1 grid]$ ./runcluvfy.sh stage -pre crsinst -n howe1,howe2 -verbose
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node "howe1"
Destination Node Reachable?
------------------------------------ ------------------------
howe2 yes
howe1 yes
Result: Node reachability check passed from node "howe1"
Checking user equivalence...
Check: User equivalence for user "grid"
Node Name Status
------------------------------------ ------------------------
howe1 passed
howe2 passed
Result: User equivalence check passed for user "grid"
Checking node connectivity...
Checking hosts config file...
Node Name Status
------------------------------------ ------------------------
howe1 passed
howe2 passed
Verification of the hosts config file successful
Interface information for node "howe1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.8.201 192.168.8.0 0.0.0.0 192.168.8.1 00:0C:29:52:D4:73 1500
eth1 10.10.10.201 10.10.10.0 0.0.0.0 192.168.8.1 00:0C:29:52:D4:7D 1500
Interface information for node "howe2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
eth0 192.168.8.202 192.168.8.0 0.0.0.0 192.168.8.1 00:0C:29:94:76:32 1500
eth1 10.10.10.202 10.10.10.0 0.0.0.0 192.168.8.1 00:0C:29:94:76:3C 1500
Check: Node connectivity of subnet "192.168.8.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
howe1[192.168.8.201] howe2[192.168.8.202] yes
Result: Node connectivity passed for subnet "192.168.8.0" with node(s) howe1,howe2
Check: TCP connectivity of subnet "192.168.8.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
howe1:192.168.8.201 howe2:192.168.8.202 passed
Result: TCP connectivity check passed for subnet "192.168.8.0"
Check: Node connectivity of subnet "10.10.10.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
howe1[10.10.10.201] howe2[10.10.10.202] yes
Result: Node connectivity passed for subnet "10.10.10.0" with node(s) howe1,howe2
Check: TCP connectivity of subnet "10.10.10.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
howe1:10.10.10.201 howe2:10.10.10.202 passed
Result: TCP connectivity check passed for subnet "10.10.10.0"
Interfaces found on subnet "192.168.8.0" that are likely candidates for VIP are:
howe1 eth0:192.168.8.201
howe2 eth0:192.168.8.202
Interfaces found on subnet "10.10.10.0" that are likely candidates for a private interconnect are:
howe1 eth1:10.10.10.201
howe2 eth1:10.10.10.202
Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.8.0".
Subnet mask consistency check passed for subnet "10.10.10.0".
Subnet mask consistency check passed.
Result: Node connectivity check passed
Checking multicast communication...
Checking subnet "192.168.8.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.8.0" for multicast communication with multicast group "230.0.1.0" passed.
Checking subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0" passed.
Check of multicast communication passed.
Checking ASMLib configuration.
Node Name Status
------------------------------------ ------------------------
howe1 passed
howe2 passed
Result: Check for ASMLib configuration passed.
Check: Total memory
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 1006.7227MB (1030884.0KB) 1.5GB (1572864.0KB) failed
howe2 1006.7227MB (1030884.0KB) 1.5GB (1572864.0KB) failed
Result: Total memory check failed
Check: Available memory
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 863.2773MB (883996.0KB) 50MB (51200.0KB) passed
howe2 967.2695MB (990484.0KB) 50MB (51200.0KB) passed
Result: Available memory check passed
Check: Swap space
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 2GB (2097144.0KB) 1.5GB (1572864.0KB) passed
howe2 2GB (2097144.0KB) 1.5GB (1572864.0KB) passed
Result: Swap space check passed
Check: Free disk space for "howe1:/tmp"
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/tmp howe1 / 12.8502GB 1GB passed
Result: Free disk space check passed for "howe1:/tmp"
Check: Free disk space for "howe2:/tmp"
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/tmp howe2 / 14.4951GB 1GB passed
Result: Free disk space check passed for "howe2:/tmp"
Check: User existence for "grid"
Node Name Status Comment
------------ ------------------------ ------------------------
howe1 passed exists(1100)
howe2 passed exists(1100)
Checking for multiple users with UID value 1100
Result: Check for multiple users with UID value 1100 passed
Result: User existence check passed for "grid"
Check: Group existence for "oinstall"
Node Name Status Comment
------------ ------------------------ ------------------------
howe1 passed exists
howe2 passed exists
Result: Group existence check passed for "oinstall"
Check: Group existence for "dba"
Node Name Status Comment
------------ ------------------------ ------------------------
howe1 passed exists
howe2 passed exists
Result: Group existence check passed for "dba"
Check: Membership of user "grid" in group "oinstall" [as Primary]
Node Name User Exists Group Exists User in Group Primary Status
---------------- ------------ ------------ ------------ ------------ ------------
howe1 yes yes yes yes passed
howe2 yes yes yes yes passed
Result: Membership check for user "grid" in group "oinstall" [as Primary] passed
Check: Membership of user "grid" in group "dba"
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
howe1 yes yes no failed
howe2 yes yes no failed
Result: Membership check for user "grid" in group "dba" failed
Check: Run level
Node Name run level Required Status
------------ ------------------------ ------------------------ ----------
howe1 3 3,5 passed
howe2 3 3,5 passed
Result: Run level check passed
Check: Hard limits for "maximum open file descriptors"
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
howe1 hard 65536 65536 passed
howe2 hard 65536 65536 passed
Result: Hard limits check passed for "maximum open file descriptors"
Check: Soft limits for "maximum open file descriptors"
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
howe1 soft 1024 1024 passed
howe2 soft 1024 1024 passed
Result: Soft limits check passed for "maximum open file descriptors"
Check: Hard limits for "maximum user processes"
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
howe1 hard 16384 16384 passed
howe2 hard 16384 16384 passed
Result: Hard limits check passed for "maximum user processes"
Check: Soft limits for "maximum user processes"
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
howe1 soft 2047 2047 passed
howe2 soft 2047 2047 passed
Result: Soft limits check passed for "maximum user processes"
Check: System architecture
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 i686 x86 passed
howe2 i686 x86 passed
Result: System architecture check passed
Check: Kernel version
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 2.6.32-220.el6.i686 2.6.9 passed
howe2 2.6.32-220.el6.i686 2.6.9 passed
Result: Kernel version check passed
Check: Kernel parameter for "semmsl"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 250 250 250 passed
howe2 250 250 250 passed
Result: Kernel parameter check passed for "semmsl"
Check: Kernel parameter for "semmns"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 32000 32000 32000 passed
howe2 32000 32000 32000 passed
Result: Kernel parameter check passed for "semmns"
Check: Kernel parameter for "semopm"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 100 100 100 passed
howe2 100 100 100 passed
Result: Kernel parameter check passed for "semopm"
Check: Kernel parameter for "semmni"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 128 128 128 passed
howe2 128 128 128 passed
Result: Kernel parameter check passed for "semmni"
Check: Kernel parameter for "shmmax"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 4294967295 4294967295 527812608 passed
howe2 4294967295 4294967295 527812608 passed
Result: Kernel parameter check passed for "shmmax"
Check: Kernel parameter for "shmmni"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 4096 4096 4096 passed
howe2 4096 4096 4096 passed
Result: Kernel parameter check passed for "shmmni"
Check: Kernel parameter for "shmall"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 268435456 268435456 2097152 passed
howe2 268435456 268435456 2097152 passed
Result: Kernel parameter check passed for "shmall"
Check: Kernel parameter for "file-max"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 6815744 6815744 6815744 passed
howe2 6815744 6815744 6815744 passed
Result: Kernel parameter check passed for "file-max"
Check: Kernel parameter for "ip_local_port_range"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 passed
howe2 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 passed
Result: Kernel parameter check passed for "ip_local_port_range"
Check: Kernel parameter for "rmem_default"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 262144 262144 262144 passed
howe2 262144 262144 262144 passed
Result: Kernel parameter check passed for "rmem_default"
Check: Kernel parameter for "rmem_max"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 4194304 4194304 4194304 passed
howe2 4194304 4194304 4194304 passed
Result: Kernel parameter check passed for "rmem_max"
Check: Kernel parameter for "wmem_default"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 262144 262144 262144 passed
howe2 262144 262144 262144 passed
Result: Kernel parameter check passed for "wmem_default"
Check: Kernel parameter for "wmem_max"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 1048576 1048576 1048576 passed
howe2 1048576 1048576 1048576 passed
Result: Kernel parameter check passed for "wmem_max"
Check: Kernel parameter for "aio-max-nr"
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
howe1 1048576 1048576 1048576 passed
howe2 1048576 1048576 1048576 passed
Result: Kernel parameter check passed for "aio-max-nr"
Check: Package existence for "make"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 make-3.81-19.el6 make-3.80 passed
howe2 make-3.81-19.el6 make-3.80 passed
Result: Package existence check passed for "make"
Check: Package existence for "binutils"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 binutils-2.20.51.0.2-5.28.el6 binutils-2.15.92.0.2 passed
howe2 binutils-2.20.51.0.2-5.28.el6 binutils-2.15.92.0.2 passed
Result: Package existence check passed for "binutils"
Check: Package existence for "gcc"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 gcc-4.4.6-3.el6 gcc-3.4.6 passed
howe2 gcc-4.4.6-3.el6 gcc-3.4.6 passed
Result: Package existence check passed for "gcc"
Check: Package existence for "gcc-c++"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 gcc-c++-4.4.6-3.el6 gcc-c++-3.4.6 passed
howe2 gcc-c++-4.4.6-3.el6 gcc-c++-3.4.6 passed
Result: Package existence check passed for "gcc-c++"
Check: Package existence for "libaio"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 libaio-0.3.107-10.el6 libaio-0.3.105 passed
howe2 libaio-0.3.107-10.el6 libaio-0.3.105 passed
Result: Package existence check passed for "libaio"
Check: Package existence for "glibc"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 glibc-2.12-1.47.el6 glibc-2.3.4-2.41 passed
howe2 glibc-2.12-1.47.el6 glibc-2.3.4-2.41 passed
Result: Package existence check passed for "glibc"
Check: Package existence for "compat-libstdc++-33"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 compat-libstdc++-33-3.2.3-69.el6 compat-libstdc++-33-3.2.3 passed
howe2 compat-libstdc++-33-3.2.3-69.el6 compat-libstdc++-33-3.2.3 passed
Result: Package existence check passed for "compat-libstdc++-33"
Check: Package existence for "elfutils-libelf"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 elfutils-libelf-0.152-1.el6 elfutils-libelf-0.97 passed
howe2 elfutils-libelf-0.152-1.el6 elfutils-libelf-0.97 passed
Result: Package existence check passed for "elfutils-libelf"
Check: Package existence for "elfutils-libelf-devel"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 elfutils-libelf-devel-0.152-1.el6 elfutils-libelf-devel-0.97 passed
howe2 elfutils-libelf-devel-0.152-1.el6 elfutils-libelf-devel-0.97 passed
Result: Package existence check passed for "elfutils-libelf-devel"
Check: Package existence for "glibc-common"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 glibc-common-2.12-1.47.el6 glibc-common-2.3.4 passed
howe2 glibc-common-2.12-1.47.el6 glibc-common-2.3.4 passed
Result: Package existence check passed for "glibc-common"
Check: Package existence for "glibc-devel"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 glibc-devel-2.12-1.47.el6 glibc-devel-2.3.4 passed
howe2 glibc-devel-2.12-1.47.el6 glibc-devel-2.3.4 passed
Result: Package existence check passed for "glibc-devel"
Check: Package existence for "glibc-headers"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 glibc-headers-2.12-1.47.el6 glibc-headers-2.3.4 passed
howe2 glibc-headers-2.12-1.47.el6 glibc-headers-2.3.4 passed
Result: Package existence check passed for "glibc-headers"
Check: Package existence for "libaio-devel"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 libaio-devel-0.3.107-10.el6 libaio-devel-0.3.105 passed
howe2 libaio-devel-0.3.107-10.el6 libaio-devel-0.3.105 passed
Result: Package existence check passed for "libaio-devel"
Check: Package existence for "libgcc"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 libgcc-4.4.6-3.el6 libgcc-3.4.6 passed
howe2 libgcc-4.4.6-3.el6 libgcc-3.4.6 passed
Result: Package existence check passed for "libgcc"
Check: Package existence for "libstdc++"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 libstdc++-4.4.6-3.el6 libstdc++-3.4.6 passed
howe2 libstdc++-4.4.6-3.el6 libstdc++-3.4.6 passed
Result: Package existence check passed for "libstdc++"
Check: Package existence for "libstdc++-devel"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 libstdc++-devel-4.4.6-3.el6 libstdc++-devel-3.4.6 passed
howe2 libstdc++-devel-4.4.6-3.el6 libstdc++-devel-3.4.6 passed
Result: Package existence check passed for "libstdc++-devel"
Check: Package existence for "sysstat"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 sysstat-9.0.4-18.el6 sysstat-5.0.5 passed
howe2 sysstat-9.0.4-18.el6 sysstat-5.0.5 passed
Result: Package existence check passed for "sysstat"
Check: Package existence for "pdksh"
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
howe1 pdksh-5.2.14-1 pdksh-5.2.14 passed
howe2 pdksh-5.2.14-1 pdksh-5.2.14 passed
Result: Package existence check passed for "pdksh"
Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed
Check: Current group ID
Result: Current group ID check passed
Starting check for consistency of primary group of root user
Node Name Status
------------------------------------ ------------------------
howe1 passed
howe2 passed
Check for consistency of root user's primary group passed
Starting Clock synchronization checks using Network Time Protocol(NTP)...
NTP Configuration file check started...
Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle Cluster Time Synchronization Service(CTSS) can be used instead of NTP for time synchronization on the cluster nodes
No NTP Daemons or Services were found to be running
Result: Clock synchronization check using Network Time Protocol(NTP) passed
Checking Core file name pattern consistency...
Core file name pattern consistency check passed.
Checking to make sure user "grid" is not in "root" group
Node Name Status Comment
------------ ------------------------ ------------------------
howe1 passed does not exist
howe2 passed does not exist
Result: User "grid" is not part of "root" group. Check passed
Check default user file creation mask
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
howe1 0022 0022 passed
howe2 0022 0022 passed
Result: Default user file creation mask check passed
Checking consistency of file "/etc/resolv.conf" across nodes
Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
search entry in file "/etc/resolv.conf" is consistent across nodes
Checking DNS response time for an unreachable node
Node Name Status
------------------------------------ ------------------------
howe1 failed
howe2 failed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: howe1,howe2
File "/etc/resolv.conf" is not consistent across nodes
Check: Time zone consistency
Result: Time zone consistency check passed
Pre-check for cluster services setup was unsuccessful on all the nodes.
2.3 安裝
/u01/app/oraInventory/orainstRoot.sh
Howe1
[root@howe1 app]# oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
Howe2
[root@howe2 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
/u01/app/11.2.0/grid/root.sh
Howe1
[root@howe1 app]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding Clusterware entries to upstart
CRS-2672: Attempting to start 'ora.mdnsd' on 'howe1'
CRS-2676: Start of 'ora.mdnsd' on 'howe1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'howe1'
CRS-2676: Start of 'ora.gpnpd' on 'howe1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'howe1'
CRS-2672: Attempting to start 'ora.gipcd' on 'howe1'
CRS-2676: Start of 'ora.cssdmonitor' on 'howe1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'howe1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'howe1'
CRS-2672: Attempting to start 'ora.diskmon' on 'howe1'
CRS-2676: Start of 'ora.diskmon' on 'howe1' succeeded
CRS-2676: Start of 'ora.cssd' on 'howe1' succeeded
ASM created and started successfully.
Disk Group DATA created successfully.
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk a9a61122318d4f57bfa10de71272f100.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE a9a61122318d4f57bfa10de71272f100 (/dev/raw/raw1) [DATA]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'howe1'
CRS-2676: Start of 'ora.asm' on 'howe1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'howe1'
CRS-2676: Start of 'ora.DATA.dg' on 'howe1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Howe2
觀察日志:more /u01/app/11.2.0/grid/cfgtoollogs/crsconfig/rootcrs_howe2.log
[root@howe2 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@howe2 ~]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node howe1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
2.4 檢查
3 DB安裝
3.1 准備
設置CRS=true
/u01/app/11.2.0/grid/oui/bin/runInstaller -updateNodeList ORACLE_HOME="/u01/app/11.2.0/grid " CRS=true
[grid@howe1 ~]$ echo $ORACLE_HOME
/u01/app/11.2.0/grid
[grid@howe1 ~]$ /u01/app/11.2.0/grid/oui/bin/runInstaller -updateNodeList ORACLE_HOME="/u01/app/11.2.0/grid " CRS=true
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 2047 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList' was successful.
[grid@howe1 ~]$ cat /u01/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.2.0.4.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1" CRS="true">
<NODE_LIST>
<NODE NAME="howe1"/>
<NODE NAME="howe2"/>
</NODE_LIST>
</HOME>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
3.2 解壓
[oracle@howe1 ~]$ cd /u01/app/oracle/
[oracle@howe1 oracle]$ ll
total 2463700
-rw-r--r-- 1 oracle oinstall 1380374377 Aug 28 19:54 p13390677_112040_LINUX_1of7.zip
-rw-r--r-- 1 oracle oinstall 1142436991 Aug 28 19:53 p13390677_112040_LINUX_2of7.zip
drwxrwxr-x. 3 oracle oinstall 4096 Jan 8 15:52 product
[oracle@howe1 oracle]$ unzip p13390677_112040_LINUX_1of7.zip
[oracle@howe1 oracle]$ unzip p13390677_112040_LINUX_2of7.zip
3.3 安裝
4 創建數據庫
4.1 配置監聽
4.2 創建磁盤組
[grid@howe1 ~]$ asmca
4.3 創建數據庫
安裝日志位於/u01/app/oracle/cfgtoollogs/dbca/howe/trace.log