虚拟机安装RAC文档

   

   

   

本文档包含内容

   

   

一:安装系统

二:各节点配置系统参数

三:虚拟机创建共享存储

四:配置磁盘绑定

五:安装GRID

六:创建ASM DG

七:安装database

八:安装碰到的问题

   

(提示:在上述内容按ctrl加鼠标左键可跳转到对应位置)

   

一:安装系统

两台虚拟主机配置(网卡1公有IP,网卡2私有IP)

使用虚拟机里的redis 虚拟机rac_配置文件

 

1安装选项,默认安装即可

使用虚拟机里的redis 虚拟机rac_配置文件_02

2安装源完整性检测,skip跳过

使用虚拟机里的redis 虚拟机rac_配置文件_03

3资源加载完,NEXT

使用虚拟机里的redis 虚拟机rac_oracle_04

4语言选择,建议默认英语,NEXT

使用虚拟机里的redis 虚拟机rac_libstdc++_05

5键盘选择,默认即可,next

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_06

6磁盘选择,简单存储。

使用虚拟机里的redis 虚拟机rac_libstdc++_07

7继续操作可能会丢失数据,yes确认

使用虚拟机里的redis 虚拟机rac_配置文件_08

8主机名设置,随意。此处设置为egdb1,egdb2.

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_09

9时区设置,亚洲,上海,UTC取消

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_10

10超级管理员密码设置

使用虚拟机里的redis 虚拟机rac_libstdc++_11

11 磁盘分区选项,采用建议值,勾选预览和修改。

使用虚拟机里的redis 虚拟机rac_配置文件_12

12分区设置预览,此处选中分区可以修改。

使用虚拟机里的redis 虚拟机rac_配置文件_13

13:next后弹出格式化警告,格式化。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_14

14:写入磁盘

使用虚拟机里的redis 虚拟机rac_libstdc++_15

15:引导安装位置,默认即可,也可安装到磁盘开始处。或者自定义boot分区。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_16

16:软件安装选项,customize now现在定制。Next。

使用虚拟机里的redis 虚拟机rac_配置文件_17

17:软件安装选项,勾选后next。

Base System 除系统默认勾选外,再勾选Compatiblity libaries与Legacy UNIX compatibility

Service 勾选NFS file server与 system administration tools

Web services ,Databases,System Mangement,Virtuallztion全部为空

Desktops除 KDE desktop外,全部勾选。

Applications中勾选Internet Browser。

Development 中全勾选。

UEK3 kernel repo 勾选。

Languages 中勾选Chinese support。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_18

18:静待安装完成,重启。

使用虚拟机里的redis 虚拟机rac_libstdc++_19

19欢迎界面设置,前进。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_20

20用户协议,接受,前进。

使用虚拟机里的redis 虚拟机rac_libstdc++_21

21:软件更新,否,以后注册。

使用虚拟机里的redis 虚拟机rac_libstdc++_22

22:再次询问是否跳过更新,跳过。No,thanks……

使用虚拟机里的redis 虚拟机rac_配置文件_23

23:完成更新设置,前进。

使用虚拟机里的redis 虚拟机rac_配置文件_24

24;创建用户,跳过,前进。

使用虚拟机里的redis 虚拟机rac_配置文件_25

25:没有创建用户,系统再次询问是否前进。Yes。

使用虚拟机里的redis 虚拟机rac_oracle_26

26:时间日期和时间同步设置,时间对就行。

使用虚拟机里的redis 虚拟机rac_libstdc++_27

27:kdump 内核恢复,关闭。结束配置。

二:各节点配置系统参数

1修改网卡及hosts设置

IP信息预览

 

egdb1

egdb1

public ip

192.168.169.211

192.168.169.212

vip

192.168.169.213

192.168.169.214

Priv ip

10.10.10.11

10.10.10.12

scanip

192.168.169.210

  

1.1节点一网卡设置(图形化)

使用虚拟机里的redis 虚拟机rac_oracle_28

   

使用虚拟机里的redis 虚拟机rac_配置文件_29

1.2结点二网卡设置(命令行)

进入网卡配置目录

[root@egdb2 ~]# cd /etc/sysconfig/network-scripts/

[root@egdb2 network-scripts]# vi ifcfg-eth0

   

使用虚拟机里的redis 虚拟机rac_libstdc++_30

[root@egdb2 network-scripts]# vi ifcfg-eth1

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_31

1.3修改hosts(所有节点)

[root@egdb2 network-scripts]# vi /etc/hosts

添加以下内容

192.168.136.211 egdb1

192.168.136.212 egdb2

   

192.168.136.213 egdb1-vip

192.168.136.214 egdb2-vip

   

192.168.136.210 egdb-ip

   

10.10.10.11 egdb1-priv

10.10.10.12 egdb2-priv

2系统参数调整

2.1:建立用户和组及安装目录与权限(所有节点)

groupadd -g 1001 oinstall

groupadd -g 1002 dba

groupadd -g 1003 oper

groupadd -g 2001 asmadmin

groupadd -g 2002 asmdba

groupadd -g 2003 asmoper

useradd -u 3001 -g oinstall -G 1002,1003,2001,2002,2003 grid

useradd -u 3002 -g oinstall -G 1002,1003,2002 oracle

mkdir -p /home/app/grid

mkdir -p /home/app/11.2.0/grid

mkdir -p /home/app/oracle

mkdir -p /home/app/oracle/product/11.2.0/db_1

mkdir -p /home/app/oraInventory

chown -R oracle:oinstall /home/app/oracle

chown -R grid:oinstall /home/app/grid

chown -R grid:oinstall /home/app/11.2.0/grid

chown -R grid:oinstall /home/app/oraInventory

chmod -R 775 /home/app/oraInventory

chmod -R 775 /home/app/grid

chmod -R 775 /home/app/11.2.0/grid

chmod -R 775 /home/app/oracle

2.2:/etc/sysctl.conf(所有节点)

vi /etc/sysctl.conf 添加以下内容

#user for oracle/grid

kernel.shmall = 4294967296

kernel.shmmni=6096

kernel.sem=250 32000 100 128

fs.file-max=6815744

fs.aio-max-nr=1048576

net.ipv4.ip_local_port_range=9300 65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

2.3:/etc/security/limits.conf(所有节点)

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

2.4:/etc/pam.d/login(所有节点)

vi /etc/pam.d/login 增加下列内容:

session required pam_limits.so

2.5:/etc/profile(所有节点)

vi /etc/profile 增加下列内容

if [ $USER = "oracle" ] ; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

if [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

2.6:vi /home/grid/.bash_profile(所有节点)

(注意:节点二的ORACLE_SID=ASM+2,以此类推)

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/home/app/grid; export ORACLE_BASE

ORACLE_HOME=/home/app/11.2.0/grid; export ORACLE_HOME

ORACLE_PATH=/home/app/oracle/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}:/home/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 022

   

2.7:vi /home/oracle/.bash_profile(所有节点)

ORACLE_SID=db_1; export ORACLE_SID

ORACLE_BASE=/home/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;

export ORACLE_HOME

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/sbin:/usr/bin/X11:/usr/local/bin

PATH=${PATH}:/home/product/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

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

2.8:/etc/selinux/config(所有节点)

vi /etc/selinux/config

selinux=disabled

2.9:关闭iptables服务(所有节点)

service iptables stop

service ip6tables stop

chkconfig --level 2345 iptables off

chkconfig --level 2345 ip6tables off

2.10设置grid用户和oracle用户密码

所有节点的密码要一致

使用虚拟机里的redis 虚拟机rac_配置文件_32

   

3安装配置软件依赖包(所有节点)

3.1配置本地YUM源

备份原配置文件

[root@egdb1 ~]# scp /etc/yum.repos.d/public-yum-ol6.repo /etc/yum.repos.d/public-yum-ol6.repo.bak

编辑配置文件

[root@egdb1 ~]# vi /etc/yum.repos.d/public-yum-ol6.repo

清空内容后添加

[public_ol6_latest]

name=Oracle Linux )

baseurl=file:///media/yum

gpgcheck=0

enabled=1

创建光盘挂载目录

[root@egdb1 ~]# mkdir /media/yum

挂载光盘

[root@egdb1 ~]# mount /dev/sr0 /media/yum/

使用虚拟机里的redis 虚拟机rac_配置文件_33

添加开机自动挂载

[root@egdb1 ~]# vi /etc/rc.local

添加

mount /dev/sr0 /media/yum/

3.2检测依赖包完整性

[root@egdb1 ~]# rpm -q binutils compat-libstdc++-296 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make ksh sysstat unixODBC unixODBC-devel

使用虚拟机里的redis 虚拟机rac_libstdc++_34

3.3安装依赖包

[root@egdb1 ~]# yum -y install compat-libstdc++*.i686 compat-libstdc++*.x86_64 libstdc++-*.i686 libstdc++-*.x86_64 unixODBC*.i686 unixODBC-devel* ksh libaio-devel

使用虚拟机里的redis 虚拟机rac_oracle_35

3.4移除ntp时间同步

[root@egdb1 ~]# yum remove ntp

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_36

出现此情况是YUM源有多个文件,只留自己配置的YUM,其他文件删除。

[root@egdb2 ~]# rm /etc/yum.repos.d/packagekit-media.repo

使用虚拟机里的redis 虚拟机rac_配置文件_37

   

3.5安装tigervnc-server

[root@egdb1 ~]# yum install -y tigervnc-server

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_38

三:虚拟机创建共享存储

3.1:管理员身份运行CMD,切换到虚拟机安装路径。

(提示:虚拟机安装路径可以通过vmvare图标右键打开所在位置找到)

C:\Windows\system32>cd C:\Program Files (x86)\VMware\VMware Workstation

   

使用虚拟机里的redis 虚拟机rac_oracle_39

创建ASM,data,bak共享盘。

规划如下,ASM 2G*3,data 4G*2,bak5G*2.创建语句如下。

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 2gG:\shardDisk\asm01.vmdk"

Creating disk 'G:\shardDisk\asm01.vmdk'

Create: 100% done.

Virtual disk creation successful.

使用虚拟机里的redis 虚拟机rac_配置文件_40

3.2:配置共享存储。

这里注意修改文件的时候一定要在关机的状态下修改。

3.2.1找到创建的虚拟机配置文件编辑。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_41

3.2.2添加下面的内容(实际是添加共享存储的磁盘)

#shared disks configure

disk.EnableUUID="TRUE"

disk.locking = "FALSE"

scsi1.shared = "TRUE"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.dataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize= "4096"

diskLib.maxUnsyncedWrites = "0"

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

scsil.sharedBus = "VIRTUAL"

scsi1:0.present = "TRUE"

scsi1:0.mode = "independent-persistent"

scsi1:0.fileName = "G:\shardDisk\asm01.vmdk"

scsi1:0.deviceType = "disk"

scsi1:0.redo = ""

scsi1:1.present = "TRUE"

scsi1:1.mode = "independent-persistent"

scsi1:1.fileName = "G:\shardDisk\asm02.vmdk"

scsi1:1.deviceType = "disk"

scsi1:1.redo = ""

scsi1:2.present = "TRUE"

scsi1:2.mode = "independent-persistent"

scsi1:2.fileName = "G:\shardDisk\asm03.vmdk"

scsi1:2.deviceType = "disk"

scsi1:2.redo = ""

scsi1:3.present = "TRUE"

scsi1:3.mode = "independent-persistent"

scsi1:3.fileName = "G:\shardDisk\data01.vmdk"

scsi1:3.deviceType = "disk"

scsi1:3.redo = ""

scsi1:4.present = "TRUE"

scsi1:4.mode = "independent-persistent"

scsi1:4.fileName = "G:\shardDisk\data02.vmdk"

scsi1:4.deviceType = "disk"

scsi1:4.redo = ""

scsi1:5.present = "TRUE"

scsi1:5.mode = "independent-persistent"

scsi1:5.fileName = "G:\shardDisk\bak01.vmdk"

scsi1:5.deviceType = "disk"

scsi1:5.redo = ""

scsi1:6.present = "TRUE"

scsi1:6.mode = "independent-persistent"

scsi1:6.fileName = "G:\shardDisk\bak02.vmdk"

scsi1:6.deviceType = "disk"

scsi1:6.redo = ""

3.2.3节点二图形化添加共享磁盘(3.2.3和3.2.4任选其一)

使用虚拟机里的redis 虚拟机rac_配置文件_42

   

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_43

   

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_44

   

使用虚拟机里的redis 虚拟机rac_libstdc++_45

   

使用虚拟机里的redis 虚拟机rac_配置文件_46

其他盘添加与此类型,不在累述。注意:图形界面添加后需要编辑虚拟机配置文件添加一句属性:disk.EnableUUID="TRUE"

3.2.4节点二编辑文件添加共享磁盘

找到节点配置文件,编辑。添加下面内容。

#disk config

scsi0:1.present = "TRUE"

scsi0:1.fileName = "G:\shardDisk\asm01.vmdk"

scsi0:2.present = "TRUE"

scsi0:2.fileName = "G:\shardDisk\asm02.vmdk"

scsi0:3.present = "TRUE"

scsi0:3.fileName = "G:\shardDisk\asm03.vmdk"

scsi0:4.present = "TRUE"

scsi0:4.fileName = "G:\shardDisk\bak01.vmdk"

scsi0:5.present = "TRUE"

scsi0:5.fileName = "G:\shardDisk\bak02.vmdk"

scsi0:6.present = "TRUE"

scsi0:6.fileName = "G:\shardDisk\data01.vmdk"

scsi0:8.present = "TRUE"

scsi0:8.fileName = "G:\shardDisk\data02.vmdk"

floppy0.present = "FALSE"

scsi0:8.redo = ""

scsi0:6.redo = ""

scsi0:4.redo = ""

scsi0:3.redo = ""

scsi0:1.redo = ""

scsi0:5.redo = ""

scsi0:2.redo = ""

usb:0.present = "TRUE"

usb:0.deviceType = "hid"

usb:0.port = "0"

usb:0.parent = "-1"

disk.EnableUUID="TRUE"

#finish

四:配置磁盘绑定

为防止相同容量的磁盘在不同机器上识别错误,需要配置磁盘ID绑定信息。

(生产库上的多路径软件,就是解决磁盘识别问题,生产上存储划分区虚卷时建议一次划分一个,等节点各自识别后在划分,防止硬盘识别错乱)

此处用UDEV管理硬盘。

4.1编辑 /etc/scsi_id.config 文件,如果该文件不存在,则创建该文件并添加如下行:

[root@egdb1 ~]# vi /etc/scsi_id.config

options=--whitelisted --replace-whitespace

[root@egdb1 ~]#

4.2查询硬盘唯一ID

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb

36000c29088733f9a5400c4f9f6fc8394

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc

36000c298515d2ce994978047823c070c

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde

36000c2952c6cf97bf3d4be48120adf2d

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sd

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd

36000c290c20ec06a88da7e53f6b671da

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdf

36000c296f6120b699169b798d50b478e

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdg

36000c299b7124112624cdd134e11ef4e

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdh

36000c29ec3a4a8f13fb79d57a31ae13a

[root@rac1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdi

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdk

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdj

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdq

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdm

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdo

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdn

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdp

[root@szcgdb1 ~]#scsi_id --whitelisted --replace-whitespace --device= /dev/sdl

   

4.3创建并配置 udev rules 文件

[root@egdb1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

添加以下内容,注意替换内容。

提别提醒,每个kenrel开头的为一行,建议打开行号编辑。

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2990bf69e555f0723176a706d0b",NAME="ora-asm01",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29fe22ef3411192de3db8a6916a",NAME="ora-asm02",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29069dc19571a57becc88d1ae93",NAME="ora-asm03",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29475220c3ef685b68c6d01b5fa",NAME="ora-data01",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d9316a8b2364ad901ea5b0614",NAME="ora-data02",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294cd0a44b6376a8e112082f3b5",NAME="ora-bak01",OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2910fe9f34c50eac2801870f07f",NAME="ora-bak02",OWNER="grid",GROUP="asmadmin", MODE="0660"

   

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29088733f9a5400c4f9f6fc8394", RUN+="/bin/sh -c 'mknod /dev/ora-asm01 b $major $minor; chown grid:oinstall /dev/ora-asm01; chmod 0660 /dev/ora-asm01'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c298515d2ce994978047823c070c", RUN+="/bin/sh -c 'mknod /dev/ora-asm02 b $major $minor; chown grid:oinstall /dev/ora-asm02; chmod 0660 /dev/ora-asm02'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2952c6cf97bf3d4be48120adf2d", RUN+="/bin/sh -c 'mknod /dev/ora-asm03 b $major $minor; chown grid:oinstall /dev/ora-asm03; chmod 0660 /dev/ora-asm03'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c290c20ec06a88da7e53f6b671da", RUN+="/bin/sh -c 'mknod /dev/ora-data01 b $major $minor; chown grid:oinstall /dev/ora-data01; chmod 0660 /dev/ora-data01'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c296f6120b699169b798d50b478e", RUN+="/bin/sh -c 'mknod /dev/ora-data02 b $major $minor; chown grid:oinstall /dev/ora-data02; chmod 0660 /dev/ora-data02'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c299b7124112624cdd134e11ef4e", RUN+="/bin/sh -c 'mknod /dev/ora-bak01 b $major $minor; chown grid:oinstall /dev/ora-bak01; chmod 0660 /dev/ora-bak01'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29ec3a4a8f13fb79d57a31ae13a", RUN+="/bin/sh -c 'mknod /dev/ora-bak02 b $major $minor;

chown grid:oinstall /dev/ora-bak02; chmod 0660 /dev/ora-bak02'"

   

使用虚拟机里的redis 虚拟机rac_oracle_47

4.4启动udev

udevadm control –reload

systemctl restart systemd-udev-trigger.service

[root@egdb1 rules.d]# start_udev

Starting udev: [ OK ]

4.5发送配置文件到其他节点,启动udev

[root@egdb1 ~]# scp /etc/udev/rules.d/99-oracle-asmdevices.rules egdb2:/etc/udev/rules.d/

root@egdb2's password:

99-oracle-asmdevices.rules 100% 1548 1.5KB/s 00:00

[root@egdb2 rules.d]# start_udev

Starting udev: [ OK ]

4.6验证

4.6.1节点一验证

使用虚拟机里的redis 虚拟机rac_配置文件_48

4.6.2节点二验证

使用虚拟机里的redis 虚拟机rac_配置文件_49

五:安装GRID

5.1上传安装文件并解压

5.1.1上传文件

CRT里面alt+p打开sftp

定位上传位置

sftp> cd /tmp/

定位本地主机位置

sftp> lcd g:/oracleDatabase/linux/11.2.0.4

上传

sftp> put *

(注意;本机g:/oracleDatabase/linux/11.2.0.4文件夹包含

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip三个文件)

5.1.2解压文件

[root@egdb1 ~]# su - grid

[grid@egdb1 ~]$ cd /tmp/

[grid@egdb1 tmp]$ unzip p13390677_112040_Linux-x86-64_3of7.zip

5.2安装grid

5.2.1图形界面准备

[grid@egdb1 tmp]$ vncserver :1

输入密码,再次输入确认。

Windows下打开VNC客户端,输入IP地址+桌面号。

使用虚拟机里的redis 虚拟机rac_oracle_50

Continue继续

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_51

VNC窗口1密码

使用虚拟机里的redis 虚拟机rac_libstdc++_52

5.2.2进入桌面,开始安装

使用虚拟机里的redis 虚拟机rac_配置文件_53

2.2开始安装

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_54

弹出安装界面,软件升级,跳过。

使用虚拟机里的redis 虚拟机rac_libstdc++_55

安装选项,选择安装和配置

使用虚拟机里的redis 虚拟机rac_oracle_56

安装选项,高级安装。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_57

语言选项,添加简体中文支持

使用虚拟机里的redis 虚拟机rac_配置文件_58

集群设置,集群名字,集群IP。

使用虚拟机里的redis 虚拟机rac_libstdc++_59

节点配置,添加节点信息

使用虚拟机里的redis 虚拟机rac_libstdc++_60

   

设置节点互信,填写grid用户密码

使用虚拟机里的redis 虚拟机rac_oracle_61

互信后测试

节点1连接节点2测试

使用虚拟机里的redis 虚拟机rac_libstdc++_62

节点2连接节点1测试

使用虚拟机里的redis 虚拟机rac_libstdc++_63

网卡用途设置

192.168.136.0公有IP

10.10.10.0 私有IP

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_64

内存管理方式选择,选择ora ASM

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_65

共享内存配置

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_66

选择用来做共享存储的盘

使用虚拟机里的redis 虚拟机rac_oracle_67

共享内存密码设置

使用虚拟机里的redis 虚拟机rac_oracle_68

密码过于简单,确认。

使用虚拟机里的redis 虚拟机rac_oracle_69

选择支持方式,不使用

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_70

集群操作组设置,默认即可。

使用虚拟机里的redis 虚拟机rac_配置文件_71

软件安装源目录与安装目录设置

使用虚拟机里的redis 虚拟机rac_libstdc++_72

oraInventory安装目录设置

使用虚拟机里的redis 虚拟机rac_oracle_73

   

使用虚拟机里的redis 虚拟机rac_libstdc++_74

下一步后弹出确认框,YES。

使用虚拟机里的redis 虚拟机rac_配置文件_75

弹出安装信息预览表,点击install安装。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_76

点击install安装,等待弹出如下界面。

使用虚拟机里的redis 虚拟机rac_libstdc++_77

分别在各个节点用root用户执行orainstRoot.sh

使用虚拟机里的redis 虚拟机rac_配置文件_78

   

使用虚拟机里的redis 虚拟机rac_libstdc++_79

分别在各个节点执行root.sh,出现如下界面,回车即可

节点一:

使用虚拟机里的redis 虚拟机rac_配置文件_80

   

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_81

节点二

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_82

执行完成后点击OK继续

使用虚拟机里的redis 虚拟机rac_配置文件_83

错误INS-20802错误为DNS错误,可以忽略,OK

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_84

点击Yes结束安装

六:创建ASM DG

6.1创建data磁盘组

[grid@egdb1 Desktop]$ /home/app/11.2.0/grid/bin/asmca

使用虚拟机里的redis 虚拟机rac_配置文件_85

点击create创建

使用虚拟机里的redis 虚拟机rac_libstdc++_86

6.2创建bak磁盘组

使用虚拟机里的redis 虚拟机rac_libstdc++_87

创建完成

使用虚拟机里的redis 虚拟机rac_libstdc++_88

右下角exit退出asmca

使用虚拟机里的redis 虚拟机rac_oracle_89

七:安装database

7.1解压文件

[root@egdb1 ~]# su – oracle

[oracle@egdb1 ~]$ cd /tmp/

[oracle@egdb1 tmp]$ unzip p13390677_112040_Linux-x86-64_1of7.zip

[oracle@egdb1 tmp]$ unzip p13390677_112040_Linux-x86-64_2of7.zip

7.2安装database

7.2.1启动VNC图形化界面

[oracle@egdb1 tmp]$ vncserver :2

使用虚拟机里的redis 虚拟机rac_oracle_90

7.2.2连入VNC桌面,开始安装。

[oracle@egdb1 Desktop]$ /tmp/database/runInstaller

使用虚拟机里的redis 虚拟机rac_配置文件_91

设置安全信息邮箱,跳过。

使用虚拟机里的redis 虚拟机rac_oracle_92

软件更新,跳过。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_93

安装选项,只安装数据库软件。

使用虚拟机里的redis 虚拟机rac_oracle_94

数据库安装选项,如图。

互信后检测

节点一:

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_95

节点二:

使用虚拟机里的redis 虚拟机rac_oracle_96

   

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_97

语言支持:添加简体中文。

使用虚拟机里的redis 虚拟机rac_libstdc++_98

数据库版本,企业版。

使用虚拟机里的redis 虚拟机rac_libstdc++_99

安装目录,默认即可。

使用虚拟机里的redis 虚拟机rac_配置文件_100

设置操作组。

使用虚拟机里的redis 虚拟机rac_oracle_101

安装前检测,DNS和SCAN-IP问题。忽略,next。

使用虚拟机里的redis 虚拟机rac_libstdc++_102

安装信息预览,安装。等待出现下图界面。分别在各节点用root用户执行root.sh

使用虚拟机里的redis 虚拟机rac_oracle_103

节点一

使用虚拟机里的redis 虚拟机rac_oracle_104

节点二

使用虚拟机里的redis 虚拟机rac_配置文件_105

执行完成后,点击OK,结束安装。

7.2.3创建数据库

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_106

类型选择,集群单节点数据库。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_107

选项,创建数据库。

   

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_108

数据库用途,一般用途。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_109

数据库信息,全局数据库名字,唯一ID,服务名字。节点选择。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_110

企业管理中心,不启用。

使用虚拟机里的redis 虚拟机rac_libstdc++_111

数据库管理员密码。

使用虚拟机里的redis 虚拟机rac_配置文件_112

存储类型,ASM,存储位置,DATA。

使用虚拟机里的redis 虚拟机rac_oracle_113

快速恢复区,不启用。

使用虚拟机里的redis 虚拟机rac_libstdc++_114

模板及脚本,空。

使用虚拟机里的redis 虚拟机rac_oracle_115

占用系统内存设置,根据实际情况选择。

使用虚拟机里的redis 虚拟机rac_libstdc++_116

最大连接数设置,根据实际情况选择。此处默认150.

使用虚拟机里的redis 虚拟机rac_配置文件_117

字符集设置;如图。

使用虚拟机里的redis 虚拟机rac_libstdc++_118

重做日志,大小512MB,所有的都一样。

使用虚拟机里的redis 虚拟机rac_使用虚拟机里的redis_119

保存创建数据库脚本。

使用虚拟机里的redis 虚拟机rac_配置文件_120

创建的数据库信息预览

使用虚拟机里的redis 虚拟机rac_配置文件_121

创建完成。

八:安装碰到的问题

8.1Grid部分

8.1.1共享内存不可用:

采用虚拟机手动创建配置共享磁盘,并采用UDEV管理硬盘。

8.1.2grid安装节点2执行root.sh报错,共享内存问题;

同上

8.3yum配置正确,无法安装软件,提示you could try using……

使用虚拟机里的redis 虚拟机rac_配置文件_122

解决办法:/etc/yum.repos.d/下有多个YUM配置文件,删除自己配置意外的所有文件。

8.4grid安装设置SSH互信时报错

可能原因:hosts设置不正确。(查看,更改hosts)

grid用户密码未设置,或各节点设置密码不同。(设置/更换密码)

网络不通(查询网卡配置信息)

8.5安装第九步,不出现硬盘。

使用虚拟机里的redis 虚拟机rac_oracle_123

解决办法:Change Discovery Path中设置外部存储的本机识别路径。

8.6安装最后INS-20802错误

DNS未配置,尝试ping scan ip如果能通可以忽略。

8.2database部分

8.2.1安装database不识别节点二

节点二Grid环境变量ORACLE_SID=+ASM2;

8.2.2数据库乱码

详情,.base_profile中的export NLS_LANG设置为

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK小部分乱码,如startup

mount,shutdown等。更改为NLS_LANG=SIMPLIFIED CHINESE_CHINA.

ZHS16GBK乱码严重。

解决办法;CRT连接字符集为UTF-8,设置.base_profile

export NLS_LANG=AMERICAN_AMERICA.UTF8解决。