Oracle11.2.0.4 RAC安装文档

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 6The following packages (or later versions) must be installed:binutils-2.20.51.0.2-5.11.el6.i686compat-libcap1-1.10-1.i686compat-libstdc++-33-3.2.3-69.el6.i686gcc-4.4.4-13.el6.i686gcc-c++-4.4.4-13.el6.i686glibc-2.12-1.7.el6.i686glibc-devel-2.12-1.7.el6.i686kshlibgcc-4.4.4-13.el6.i686libstdc++-4.4.4-13.el6.i686libstdc++-devel-4.4.4-13.el6.i686libaio-0.3.107-10.el6.i686libaio-devel-0.3.107-10.el6.i686make-3.81-19.el6.i686sysstat-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-develbinutils-2.20.51.0.2-5.28.el6 (i686)package compat-libstdc++-33 is not installedpackage compat-libcap1 is not installedgcc-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 installedlibgcc-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 installedmake-3.81-19.el6 (i686)sysstat-9.0.4-18.el6 (i686)package cvuqdisk is not installedelfutils-libelf-0.152-1.el6 (i686)package elfutils-libelf-devel is not installedpackage pdksh is not installedunixODBC-2.2.14-11.el6 (i686)package unixODBC-devel is not installed

 

安装缺失的rpm包

yum install compat-libstdc++-33 -yyum install elfutils-libelf-devel -yyum install gcc-c++ -yyum install ksh -yyum install libaio-devel -yyum install libstdc++-devel -yyum install unixODBC -yyum install unixODBC-devel -yyum install compat-libcap1 -yrpm -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 ~]# hostnamehowe1[root@howe1 ~]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=howe1vim /etc/hosts --主机名后面不要有空格127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#public ip192.168.8.201 howe1192.168.8.202 howe2#private ip10.10.10.201 howe1-priv10.10.10.202 howe2-priv#vip ip192.168.8.211 howe1-vip192.168.8.212 howe2-vip#scan ip192.168.8.223 scan-howeHowe2[root@howe2 package]# hostnamehowe2[root@howe2 package]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=howe2vim /etc/hosts

 

clip_image002

1.4 OS参数
1. Sysctl
vi /etc/sysctl.confkernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 6815744net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576fs.aio-max-nr = 1048576/sbin/sysctl -p

 

2. Limits
vi /etc/security/limits.confgrid soft nproc 2047grid hard nproc 16384grid soft nofile 1024grid hard nofile 65536oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle 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 服务的组织提供服务。

1.8.1 NTP

1.8.2 CTSS

使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议 (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 关闭服务

1.9.1 Iptables

service iptables stop

chkconfig iptables off

chkconfig --list|grep iptables

1.9.2 Selinux

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

1.10.1 互通

确认两台服务的四个网卡是否都能ping通

ping howe2

ping howe2-priv

ping howe1

ping howe1-priv

1.10.2 互信

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

1.10.3 测试

逐个验证,确保畅通

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

1.11.1 创建共享磁盘

使用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 udev 1.11.2.1 分区

clip_image004

clip_image006

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

1.11.3 Multipath

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 安装

clip_image008

clip_image010

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

clip_image022

clip_image024

clip_image026

clip_image028

clip_image030

clip_image032

clip_image034

clip_image036

clip_image038

clip_image040

clip_image042

clip_image044

/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 检查

clip_image045

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 安装

clip_image047

clip_image049

clip_image051

clip_image053

clip_image055

clip_image057

clip_image059

clip_image061

clip_image063

clip_image065

clip_image067

clip_image069

clip_image071

4 创建数据库
4.1 配置监听

clip_image073

clip_image075

4.2 创建磁盘组

[grid@howe1 ~]$ asmca

clip_image077

clip_image079

clip_image081

clip_image083

4.3 创建数据库

安装日志位于/u01/app/oracle/cfgtoollogs/dbca/howe/trace.log

clip_image085

clip_image087

clip_image089

clip_image091

clip_image093

clip_image095

clip_image097

clip_image099

clip_image101

clip_image103

clip_image105

clip_image107

clip_image109

clip_image111

clip_image113

clip_image115

clip_image117

clip_image119

clip_image121

clip_image122

clip_image124

转载于:https://www.cnblogs.com/afx1007/p/4065993.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

captcha库_将CAPTCHA添加到您的GWT应用程序

captcha库什么是验证码&#xff1f; 在一个充满恶意机器人的世界中&#xff0c;您应该怎么做才能保护您宝贵的Web应用程序&#xff1f; 您真正应该做的基本事情之一就是向其中添加CAPTCHA功能。 如果您不熟悉&#xff08;听起来有些奇怪&#xff09;&#xff0c;则CAPTCHA是确保…

ContentProvider与ContentResolver使用

例如以下内容为从网络转载&#xff1a;使用ContentProvider共享数据&#xff1a;当应用继承ContentProvider类&#xff0c;并重写该类用于提供数据和存储数据的方法&#xff0c;就能够向其它应用共享其数据。虽然使用其它方法也能够对外共享数据&#xff0c;但数据訪问方式会因…

cshtml中引用css_ASP.NET CoreMVC 中的控制器

Controller in ASP.NET Core MVC在本节中&#xff0c;我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用。Fiddler需要大家提前装一个工具&#xff0c;https://www.telerik.com/fiddlerFiddler 是一个 http 协议调试代理工具&#xff0c;它能够记录并检查所有你…

小学阅读方法六种_小学生掌握了这些语文答题方法,轻松应对阅读理解,不再是难事...

家长们都知道&#xff0c;孩子们在学习数学的时候&#xff0c;重要的就是数学的一些公式&#xff0c;只要把数学公式记牢&#xff0c;做很多题的时候灵活运用&#xff0c;就可以解答。今天我们来看看&#xff0c;语文方面也有一些答题公式&#xff0c;当孩子们完全掌握了这些公…

hdu--4028--dp

这个dp我没做出来啊...其实不难..主要题意没理解好 fuck. 给你1-N这N个数 一共2^N-1个子集 每个子集的LCM值>M的情况数有多少种 我也是醉了 这么个题目 给我套他那个题面 硬是没看懂 他在问什么 还是 英语太渣了 然后就是个 状态转移方程的考虑了 map<LL,LL>dp[size]…

敏捷中gwt含义_在您的GWT应用程序中添加JSON功能

敏捷中gwt含义JSON简介 在Web应用程序上工作时&#xff0c;总是会出现客户端-服务器数据交换的问题。 在此问题上有多种方法&#xff0c;其中许多使用XML进行交换。 执行此任务的一种不太知名的格式是JSON。 JSON&#xff08;JavaScript对象表示法&#xff09;是一种轻量级的数…

c++ 经典代码_C语言经典100题(31)

1上期答案揭晓首先给大家看看上一篇文章C语言经典100题(30)中第三部分编程题的答案&#xff1a;#include int main( ){ long ge,shi,qian,wan,x; printf("请输入 5 位数字&#xff1a;"); scanf("%ld",&x); wanx/10000; /*分解出万…

android读取excel文件_python里读写excel等数据文件的几种常用方式

python处理数据文件第一步是要读取数据&#xff0c;文件类型主要包括文本文件(csv、txt等)、excel文件、数据库文件、api等。下面整理下python有哪些方式可以读取数据文件。1. python内置方法(read、readline、readlines)read() &#xff1a; 一次性读取整个文件内容。推荐使用…

UGUI学习笔记之渲染顺序

转载请注明地址&#xff1a;http://www.cnblogs.com/Vincentblogs/p/4083028.html QQ群&#xff1a;346738352 Unity技术交流群&#xff0c;讲纯粹的技术。 数据记录为Unity4.6b21版本 图片解释&#xff1a;这是一个按钮UI,层级1显示的是按钮背景&#xff0c;层级2显示的Image…

C#找出数组中重复次数最多的数值

给定一个int数组&#xff0c;里面存在重复的数值&#xff0c;如何找到重复次数最多的数值呢? 这是在某社区上有人提出的问题&#xff0c;我想到的解决方法是分组。 1、先对数组中的所有元素进行分组&#xff0c;那么&#xff0c;重复的数值肯定会被放到一组中&#xff1b; 2、…

spark-sql建表语句限制_第三篇|Spark SQL编程指南

在《第二篇|Spark Core编程指南》一文中&#xff0c;对Spark的核心模块进行了讲解。本文将讨论Spark的另外一个重要模块--Spark SQL&#xff0c;Spark SQL是在Shark的基础之上构建的&#xff0c;于2014年5月发布。从名称上可以看出&#xff0c;该模块是Spark提供的关系型操作AP…

4固定在底部_礼堂椅厂家教你如何固定座椅

礼堂椅厂家众所周知&#xff0c;当人们离开时&#xff0c;礼堂或刷房中使用的座椅会自动翻转到垂直位置&#xff0c;因此行和行之间有一条大通道让人走路。 在现有技术中&#xff0c;通过以下方法翻转礼堂椅&#xff1a;在两个支腿之间设置固定轴&#xff0c;并且在支座底部的两…

python时间去掉t_Python的set集合详解

Python 还包含了一个数据类型 —— set &#xff08;集合&#xff09;。 集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。 集合对象还支持 union&#xff08;联合&#xff09;&#xff0c;intersection&#xff08;交&#xff09;&#xff0c;difference&…

快乐学习 Ionic Framework+PhoneGap 手册1-3 {面板切换}

编程的快乐和乐趣&#xff0c;来自于能成功运行程序并运用到项目中,会在后面案例&#xff0c;实际运用到项目当中与数据更新一起说明 从面板切换开始&#xff0c;请看效果图和代码&#xff0c;这只是一个面板切换的效果 Index HTML Code <!DOCTYPE html> <html ng-ap…

去掉左边0_SLAM从0到1——11. 视觉里程计VO内容框架

「本文是之前学习VO 部分整理的思维导图&#xff0c;笔记写入之后均折叠了起来&#xff0c;正文中采用markdown格式展开&#xff0c;可看到笔记内容」放上来的目的其实是方便自己查阅笔记&#xff0c;同样给有需要的同学提供一点思路。整体上的结构分为5部分&#xff0c;包括常…

教程:如何实现Java OAuth 2.0以使用GitHub和Google登录

将Google和GitHub OAuth登录添加到Java应用程序的指南 我们添加到Takipi的最新功能之一是3rd party登录。 如果您像我一样懒惰&#xff0c;那么我想您也希望跳过填写表单和输入新密码的操作 。 只要有权限&#xff0c;许多人都希望使用第三方登录&#xff0c;只要他们要求的权…

柔性太阳能电池pdf_房车旅行如何做到电力无忧,那就选择一套合适的太阳能供电系统吧...

“旅行途中房车电力够不够用&#xff1f;”是众多车友在购买房车时会考虑的因素之一。而房车外部供电方式一般有三种&#xff1a;电网供电、发电机发电和太阳能发电&#xff0c;其中太阳能发电因其结构简单、体积小且轻、易安装、维护简单、寿命长不易损坏、一次性投资、循环利…

POJ 3617

题意&#xff1a;给定长度为N的字符串S&#xff0c;现要构造一个字符串T&#xff08;起初为空串&#xff09;。任意进行一下的一种操作&#xff1a; 1>从S的头部删除一个字符&#xff0c;加到T的尾部 2>从S的尾部删除一个字符&#xff0c;加到T的尾部 目的使T的字典序最小…

echarts的词云图表类型有哪些_数据可视化之常见12种图表类型分析

数据可视化有众多展现方式&#xff0c;不同的数据类型要选择适合的展现方法&#xff0c;今天友创云天就整理分析了几种常见的类型&#xff0c;给大家提供参考。1.饼图饼图是一个划分为几个扇形的圆形统计图表。每个扇形的弧长&#xff08;以及圆心角和面积&#xff09;大小&…

使用Spring Boot和注释支持配置Spring JMS应用程序

1.简介 在以前的文章中&#xff0c;我们学习了如何使用Spring JMS配置项目。 如果查看有关使用Spring JMS进行消息传递的文章介绍 &#xff0c;您会注意到它是使用XML配置的。 本文将利用Spring 4.1版本中引入的改进 &#xff0c;并仅使用Java config来配置JMS项目。 在这个示…