龙空技术网

Vmware +RedHat5.5+Oracle 11G+Oracle Rac安装配置手册

java程序人生 1281

前言:

现时咱们对“redhat安装oracle”大致比较注重,朋友们都需要学习一些“redhat安装oracle”的相关资讯。那么小编也在网摘上搜集了一些有关“redhat安装oracle””的相关文章,希望小伙伴们能喜欢,我们快快来学习一下吧!

Vmware +RedHat5.5+Oracle 11G+Oracle Rac安装配置手册

1.1 Vmware安装配置(略)

操作系统安装

2.1 RedHat5.5安装配置略

2.2硬件具体配置:

操作系统硬盘空间20G

/tmp空间大于2G

Swap空间大于2G

内存分配2G

网卡两块(注意网卡模式要选择Bridge桥接模式)

虚拟机配置

3.1虚拟机IP地址规划

# Public

192.168.1.11 rac1

#Private

192.168.0.11 rac1-priv

#Virtual

192.168.1.13 rac1-vip

#Single Client Access Name (SCAN IP)

192.168.1.15 rac-scan

# Public

192.168.1.12 rac2

#Private

192.168.0.12 rac2-priv

#Virtual

192.168.1.14 rac2-vip

#Single Client Access Name (SCAN IP)

192.168.1.15 rac2-scan

3.2 虚拟机共享磁盘建立

建立一个文件夹用于存放共享磁盘

E:\Virtual Machines\SharedDiskASM

在以下目录执行下面命令生成共享文件

D:\Program Files (x86)\VMware\Vmware

vmware-vdiskmanager.exe -c -s 1Gb -a lsilogic -t 2 "E:\Virtual Machines\SharedDiskASM\G1"\ShareDiskOCR.vmdk

vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 "E:\Virtual Machines\SharedDiskASM\G1"\ShareDiskData01.vmdk

vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 "E:\Virtual Machines\SharedDiskASM\G1"\ShareDiskData02.vmdk

vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 "E:\Virtual Machines\SharedDiskASM\G1"\ShareDiskFlash.vmdk

到虚拟机目录修改参数*.vmx 添加以下参数

disk.locking = "false"

scsi1.virtualDev = "lsilogic"

scsi1.present = "TRUE"

scsi1.sharedBus = "virtual"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.DataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

scsi1:1.deviceType = "disk"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "E:\Virtual Machines\SharedDiskASM\G1\ShareDiskOCR.vmdk"

scsi1:1.mode = "independent-persistent"

scsi1:1.redo = ""

scsi1:2.deviceType = "disk"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "E:\Virtual Machines\SharedDiskASM\G1\ShareDiskData01.vmdk"

scsi1:2.mode = "independent-persistent"

scsi1:2.redo = ""

scsi1:3.deviceType = "disk"

scsi1:3.present = "TRUE"

scsi1:3.fileName = "E:\Virtual Machines\SharedDiskASM\G1\ShareDiskData02.vmdk"

scsi1:3.mode = "independent-persistent"

scsi1:3.redo = ""

scsi1:4.deviceType = "disk"

scsi1:4.present = "TRUE"

scsi1:4.fileName = "E:\Virtual Machines\SharedDiskASM\G1\ShareDiskFlash.vmdk"

scsi1:4.mode = "independent-persistent"

scsi1:4.redo = ""

Oracle安装前准备

4.1 虚拟机系统参数修改

修改 /etc/sysctl.conffs.file-max = 6815744

fs.aio-max-nr = 1048576

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 4294967295

kernel.shmall = 268435456

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576运行命令以更新修改:/sbin/sysctl –p

为 oracle 用户设置 shell limits编辑/etc/security/limits.conf,添加如下行:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536

在/etc/profile文件中添加:if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi

4.2 安装Oracle缺失的包,可以从RedHat的iso文件中找到

#RHL5.5缺失包安装

rpm -ivh binutils-2.17.50.0.6-14.el5.i386.rpm

rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

rpm -ivh elfutils-libelf-0.137-3.el5.i386.rpm

rpm -ivh elfutils-libelf-devel*

rpm -ivh libgomp-4.4.0-6.el5.i386.rpm

rpm -ivh kernel-headers-2.6.18-194.el5.i386.rpm

rpm -ivh glibc-headers-2.5-49.i386.rpm

rpm -ivh glibc-devel-2.5-49.i386.rpm

rpm -ivh gcc-4.1.2-48.el5.i386.rpm

rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm

rpm -ivh glibc-2.5-49.i686.rpm

rpm -ivh glibc-common-2.5-49.i386.rpm

rpm -ivh libaio-0.3.106-5.i386.rpm

rpm -ivh libaio-devel-0.3.106-5.i386.rpm

rpm -ivh libgcc-4.1.2-48.el5.i386.rpm

rpm -ivh libstdc++-4.1.2-48.el5.i386.rpm

rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm

rpm -ivh make-3.81-3.el5.i386.rpm

rpm -ivh numactl-devel-0.9.8-11.el5.i386.rpm

rpm -ivh sysstat-7.0.2-3.el5.i386.rpm

rpm -ivh unixODBC-2.2.11-7.1.i386.rpm

rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm

4.3 创建Oracle和RAC相关的用户和用户组

创建组之前要确认一下/etc/group及/etc/passwd下的组及用户,确保每个节点上的uid及gid 一致 (当然也可以建组的时候加入id号,groupadd -g 501 oinstall)

Grid Infrastructure 操作系统用户grid , 主组为oinstall, 辅助组为asmadmin, asmdba, asmoper Oracle RAC 操作系统用户 oracle , 主组为oinstall , 辅助组为dba, oper , asmdba

创建组:

groupadd oinstall

groupadd asmadmin groupadd asmdbagroupadd asmoper groupadd dba groupadd oper

创建用户:

useradd -g oinstall -G asmadmin,asmdba,asmoper,dba griduseradd -g oinstall -G dba,oper,asmdba oracle

为 grid及 oracle用户设置密码

passwd oracle passwd grid

4.4 创建Oracle安装配置目录

创建 Oracle Inventory Directory

/u01/app/oraInventory

创建Oracle RDBMS 安装目录 :

Oracle_BASE= /u01/app/oracle

Oracle_HOME= /u01/app/oracle/product/11.2.0/db_1

创建 Oracle Inventory Directory /u01/app/oraInventory

创建 Oracle Grid Infrastructure home 目录

规划目录如下:

Grid Infrastructure 安装目录(注意: 不是GRID_HOME哦) :

Oracle_BASE=/u01/app/grid

Oracle_HOME=/u01/app/11.2.0/grid

备注: grid用户的base及home不能有父子关系。

具体命令执行

//存放Oracle等安装文件

mkdir -p /u01/soft

mkdir -p /u01/app/oracle

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

mkdir -p /u01/app/oraInventory

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

为创建的目录授予权限

chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle

chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1 chmod -R 775 /u01/app/oracle/product/11.2.0/db_1

chown -R grid:oinstall /u01/app/grid chown -R grid:oinstall /u01/app/11.2.0/grid chmod -R 775 /u01/app/grid chmod -R 775 /u01/app/11.2.0/grid

chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory

4.4 修改grid、oracle用户的配置文件

进入grid用户和oracle用户分别修改.bash_profile文件

注意修改ORACLE_SID=+ASM1

参考(

Grid bash_profile

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# Oracle_SID

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# Specifies the Oracle system identifier (SID)

# for the Automatic Storage Management (ASM)instance

# running on this node.

# Each RAC node must have a unique Oracle_SID.

# (i.e. +ASM1, +ASM2,...)

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

##有问题的

alias ls="ls -FA"

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

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

GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME

ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

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

PATH=$PATH:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPatch

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

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/ctx/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 TMP=/tmp

export TMPDIR=/tmp

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export SQLPATH=~/admin/sql:/$ORACLE_HOME/sqlplus/admin

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

alias ls="ls -FA"

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

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

GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME

ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

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

PATH=$PATH:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPatch

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

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/ctx/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 TMP=/tmp

export TMPDIR=/tmp

exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export SQLPATH=~/admin/sql:/$ORACLE_HOME/sqlplus/admin

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

umask 022

Oracle bash_profile

alias ls="ls -FA"

ORACLE_SID=orcl1; export ORACLE_SID

ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME

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

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

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

PATH=$PATH:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPatch

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

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/ctx/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 TMP=/tmp

export TMPDIR=/tmp

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

alias sql="sqlplus / as sysdba"

alias al='vi $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log'

alias alt='tail -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log'

export SQLPATH=~/admin/sql:/$ORACLE_HOME/sqlplus/admin

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

umask 022

4.5 安装配置Oracle ASMLib包

在RHEL5上Oracle11g 需要安装ASMLib (每个节点都需要安装)

从Oracle OTN ASMLib网页下载ASMLib包, 使用uname –a查看系统核心版本, 下载的ASMLib版本要与之匹配。

下载地址

然后执行命令

rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm

rpm -ivh oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.i686.rpm

rpm -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm

如果出现依赖包请从红帽子的系统盘中安装(见4.2)

现在已经安装了 ASMLib 软件,系统管理员必须执行几个步骤来使 ASM 驱动程序可用。需要加载 ASM 驱动程序,并且需要装载驱动程序文件系统。这由初始化脚本 /etc/init.d/oracleasm 来处理。

启动Oracle asmlib:

[root@rac1 ~]# /etc/init.d/oracleasm start

启用asmlib:

[root@rac1 ~]# /etc/init.d/oracleasm enable

Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver: [ OK ]

Scanning the system for Oracle ASMLib disks: [ OK ]

以root用户配置asmlib

用 'configure' 选项来运行 /etc/init.d/oracleasm 脚本。它将要求默认拥有 ASM 驱动程序访问点的用户和用户组。

[root@rac1 ~]# /etc/init.d/oracleasm configure

4.6 配置共享磁盘

划分共享磁盘 (在一个节点上运行 fdisk)

[root@rac1 ~]# fdisk -l

Disk /dev/sda: 16.1 GB, 16106127360 bytes

255 heads, 63 sectors/track, 1958 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 6 48163+ 83 Linux

/dev/sda2 7 515 4088542+ 83 Linux

/dev/sda3 516 1759 9992430 83 Linux

/dev/sda4 1760 1958 1598467+ 5 Extended

/dev/sda5 1760 1958 1598436 82 Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

Disk /dev/sde: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sde doesn't contain a valid partition table

[root@rac1 ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel. Changes will remain in memory only,

until you decide to write them. After that, of course, the previous

content won't be recoverable.

The number of cylinders for this disk is set to 1305.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-1305, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):

Using default value 1305

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

再分别对 /dev/sdc, /dev/sdd, /dev/sde 进行磁盘分区。

最后结果如下:

[root@rac1 ~]# fdisk -l

Disk /dev/sda: 16.1 GB, 16106127360 bytes

255 heads, 63 sectors/track, 1958 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 6 48163+ 83 Linux

/dev/sda2 7 515 4088542+ 83 Linux

/dev/sda3 516 1759 9992430 83 Linux

/dev/sda4 1760 1958 1598467+ 5 Extended

/dev/sda5 1760 1958 1598436 82 Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 1305 10482381 83 Linux

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 1305 10482381 83 Linux

Disk /dev/sdd: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdd1 1 1305 10482381 83 Linux

Disk /dev/sde: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sde1 1 522 4192933+ 83 Linux

[root@rac1 ~]#

重新启动节点 1,2 ,查看是否都显示挂载正常。

使用 ASMLib 去标示 Shared Disks 作为 Candidate Disks,在一个节点执行即可。

A. 使用 ASMLib 创建 ASM Disks , 语法如下:

# /usr/sbin/Oracleasm createdisk disk_name device_partition_name

其中 disk_name 是你为 ASM Disk 选择的一个名字,名字只能包含数字字母及下划线,比如OCR01 , DATA01 等. device_partition_name 标示为 ASM 的系磁盘分区,如/dev/sdb1 ,

/dev/sdc1 等 如果你发现设置错误或需要 unmark这个磁盘,可以运行如下命令:

# /usr/sbin/Oracleasm deletedisk disk_name

/usr/sbin/oracleasm deletedisk OCR_VOTE01

/usr/sbin/oracleasm deletedisk ASM_DATA01

/usr/sbin/oracleasm deletedisk ASM_DATA02

/usr/sbin/oracleasm deletedisk ASM_FRA

下面开始设置共享磁盘。

根据规划:

Block Device ASMlib Name Size Comments

/dev/sdb1 OCR_VOTE01 1GB ASM Diskgroup for OCR and Voting Disks

/dev/sdc1 ASM_DATA01 2GB ASM Data Diskgroup

/dev/sdd1 ASM_DATA02 2GB ASM Data Diskgroup (镜像磁盘组)

/dev/sde1 ASM_FRA 2GB ASM Flash Recovery Area Diskgroup

运行以下命令

/usr/sbin/oracleasm createdisk OCR_VOTE01 /dev/sdb1

/usr/sbin/oracleasm createdisk ASM_DATA01 /dev/sdc1

/usr/sbin/oracleasm createdisk ASM_DATA02 /dev/sdd1

/usr/sbin/oracleasm createdisk ASM_FRA /dev/sde1

在节点 1上为 RAC创建了所有的 ASM disks 后,使用 listdisks 命令确认他们的可用性。

[root@rac1 ~]# /usr/sbin/oracleasm listdisks

然后在所有其他节点上以 root 用户身份,使用 scandisks 命令扫描已经创建的 ASM 磁盘,也

就是说,我们只需要在节点 1 上创建 ASM 磁盘,其他节点不需要。

[root@rac2 ~]# /usr/sbin/oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

Instantiating disk "OCR_VOTE01"

Instantiating disk "ASM_DATA01"

Instantiating disk "ASM_DATA02"

Instantiating disk "ASM_FRA"

最后在其他节点通过 listdisks 检查 ASM 磁盘的可用性。

[root@rac2 ~]# /usr/sbin/oracleasm listdisks

ASM_DATA01

ASM_DATA02

ASM_FRA

OCR_VOTE01

4.7 配置grid 环境变量和安装环境

安装 grid Infrastructure 之前需要确认所有节点 grid 用户的环境变量.bash_profile . 并且安装用于 Linux 的 cvuqdisk 程序包 在两个 Oracle RAC 节点上安装操作系统程序包 cvuqdisk。如果没有 cvuqdisk,集群验证实用程序就无法发现共享磁盘,当运行(手动运行或在 Oracle Grid Infrastructure 安装结束时自动运行) 集群验证实用程序时,您会收到这样的错误消息: "Package cvuqdisk not installed" 。注意使用适用于你的硬件体系结构(例如,x86_64 或i386)的cvuqdisk RPM。Cvuqdisk RPM包含在 Oracle Grid Infrastructure 安装介质上的rpm 目录中。解压 linux_11gR2_grid.zip

unzip linux_11gR2_grid.zip

要安装cvuqdisk RPM,执行以下步骤:

将cvuqdisk 程序包从节点 1 复制到节点 2 :

以 root 用户身份分别登录到两节点:

设置环境变量 CVUQDISK_GRP, 使其指向作为 cvuqdisk 的所有者所在的组 (本文为 oinstall) :

export CVUQDISK_GRP=oinstall

rpm -ihv cvuqdisk-1.0.7-1.rpm

在节点2执行

export CVUQDISK_GRP=oinstall

rpm -ivh cvuqdisk-1.0.7-1.rpm

使用 CVU 验证是否满足 Oracle 集群件要求(可选),下面文字只是说明。

在运行 Oracle 安装程序之前不一定要运行集群验证实用程序。从 Oracle Clusterware 11g 第 2 版开始, Oracle Universal Installer (OUI) 会检测到不满足最低安装要求的情况, 并创建 shell

脚本(称为修复脚本)以完成尚未完成的系统配置步骤。如果 OUI 发现未完成的任务,它

会生成修复脚本 (runfixup.sh)。 在 Oracle Grid Infrastructure 安装过程中, 单击 Fix and Check

Again Button 之后,可以运行修复脚本。

您也可以让 CVU 在安装之前生成修复脚本。

如果您决定亲自运行 CVU,请记住要作为 grid 用户在将要执行 Oracle 安装的节点 (rac1)

上运行。此外,必须为 grid 用户配置通过用户等效性实现的 SSH 连通性。如果您打算使

用 OUI 配置 SSH 连接,则 CVU 实用程序会失败,它没有机会执行其任何的关键检查并生

成修复脚本:

这里我们以传统方式先建立各节点间的 SSH连通性( grid用户 )。

在节点 1 上:

[root@rac1 rpm]# su - grid

[grid@rac1 ~]$ cd /home/grid/

[grid@rac1 ~]$ mkdir .ssh

[grid@rac1 ~]$ chmod 700 .ssh/

同样在节点 2 上执行:

[root@rac2 rpm]# su - grid

[grid@rac2 ~]$ cd /home/grid/

[grid@rac2 ~]$ mkdir .ssh

[grid@rac2 ~]$ chmod 700 .ssh

在节点 1 上:

同样在节点 2 上执行:

在节点 1 上执行:

在节点 1 上将生成的 authorized_keys 拷贝到节点 2 上。

在节点 1 及节点 2 上 chmod authorized_keys 。

测试节点 1,2 的 SSH 连通性。

在节点 1 上:

在节点 2 上:

手动运行 CVU 使用程序验证 集群件要求(一个节点执行):

到 grid 软件解压的目录下执行 runcluvfy.sh 命令:

[root@rac1 ~]# su - grid

[grid@rac1 ~]$ cd /u01/soft/grid

[grid@rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose

查看 CVU 报告。 在本文所述配置情况下,应该只发现如下的唯一一个错误:

4.8 开始安装 Grid Infrastructure

需要图形界面安装 Grid Infrastructure 软件,这里使用 VNC。以 grid 用户登陆,进入到 grid

infrastructure 解压后的目录 , 运行$./runInstaller

# export DISPLAY=:0.0 # xhost +

A. 选择Install and Configure Grid Infrastructure for a Cluster . 下一步。

注意: 11g要使用ASM,即使单机也需要安装Grid Infrastructure.

B. 选择高级安装 - Advanced Installation .

C. 选择需要的语言,这里我们全选了。

D. 填写Cluster Name为rac-g1, SCAN Name为rac-scan(与/etc/hosts中设置匹配),port=1521.

不配置GNS.

E. 配置节点信息: rac1, rac1-vip ; rac2, rac2-vip .

F. 设置网卡(按照/etc/hosts中IP对应设置,多余的都设置为Do Not Use).

G. Storage项选择ASM .

H. 创建ASM磁盘组:注意这里high表示5个镜像,Normal表示3个镜像,我们选择External,因为

我们测试只有一个磁盘组,没有设置failure group, 生产库一般最好选择Normal.

Disk Group Name : OCR_VOTE (自己起名字),选择External, Add Disks部分,选择

Candidate Disks及对应的ORCL: OCR_VOTE01 .

备注:

(1). 如果是用来放置ocr/vd的diskgroup,那么external,normal,high 对应的failgroup至少

为1,3,5个,也就是至少需要1,3,5个disk

(2). 如果是普通的ASM 用来放置data file的diskgroup,那么external,normal,high对应的

failgroup至少为1,2,3个,也就是至少需要1,2,3个disk

I. 设置ASM实例的sys及sysasm用户的密码。

J. 选择不使用IPMI .

K. 操作系统组: asmdba, asmoper, asmadmin .

L. grid用户的Oracle_BASE及ORACLE_HOME, 按照grid用户的.bash_profile设置来。

M. Oracle Inventory : 注意这些目录的权限。

O. 拷贝及安装文件,两个节点按顺序运行orainstRoot.sh及root.sh 脚本。

注意:运行root.sh比较长时间,所以最好vnc登入本机运行,以免断开。

当运行root.sh脚本出现

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

CRS is already configured on this node for crshome=0

Cannot configure two CRS instances on the same cluster.

Please deconfigure before proceeding with the configuration of new home.

以下错误时需执行

/u01/app/11.2.0/grid/crs/install/roothas.pl -delete -force -verbose

删除之前注册的信息,删除后再执行root.sh就行了

如果中间出现异常需要卸载grid,可以使用下面命令彻底清理 :

[grid@rac1 ~]$ cd /app/grid/

[grid@rac1 grid]$ cd deinstall/

[grid@rac1 deinstall]$ ./deinstall

如果在安装过程中出现问题需要重新安装grid infrastructure软件,那么还需要

对ocr及votingdisk所在区域进行清理 (ASM) :

[root@rac1 ~]# dd if=/dev/zero of=/dev/sdb1 bs=10M count=10

P. 执行完成后OK, 我们可能看到安装到最后可能会报错INS-20802错误,可以skip。

我们在节点 1,2 上通过 crs_stat –t 查看服务开启状态(oc4j 和 gsd offline 是正常的):

[root@rac2 Oracle]# su ‐ grid

[grid@rac2 ~]$

[grid@rac2 ~]$ crs_stat ‐t

Name Type Target State Host

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐

ora....ER.lsnr ora....er.type ONLINE ONLINE rac1

ora....N1.lsnr ora....er.type ONLINE ONLINE rac1

ora....VOTE.dg ora....up.type ONLINE ONLINE rac1

ora.asm ora.asm.type ONLINE ONLINE rac1

ora.eons ora.eons.type ONLINE ONLINE rac1

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora....network ora....rk.type ONLINE ONLINE rac1

ora.oc4j ora.oc4j.type OFFLINE OFFLINE

ora.ons ora.ons.type ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....01.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip ora....t1.type ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac02

ora....02.lsnr application ONLINE ONLINE rac02

ora.rac02.gsd application OFFLINE OFFLINE

ora.rac02.ons application ONLINE ONLINE rac02

ora.rac02.vip ora....t1.type ONLINE ONLINE rac02

ora....ry.acfs ora....fs.type ONLINE ONLINE rac1

ora.scan1.vip ora....ip.type ONLINE ONLINE rac1

备注:

在 11gr2 中,默认 oc4j和 gsd 资源是 disable 的;

oc4j 是用于WLM 的一个资源 , WLM在 11.2.0.2 才可用;

gsd 是 CRS 用于跟 9i RAC 进行通信的一个模块,是为了向后兼容

才保留的,不影响性能;建议不要刪除,也不要尝试开启他们, 忽略即可。

如果安装界面不能输入字符,则在打开的终端中输入 $xhost +

20 运行ASMCA创建磁盘组。

以grid用户登入开始ASMCA配置磁盘组,因为是图形界面,我们使用grid用户的

vnc session .

[grid@rac1 bin]$ pwd

/app/grid/11.2.0/bin

[grid@rac1 bin]$ ./asmca

图形界面显示到Disk Groups 。我们可以看到先前配置的OCR_VOTE已经在列。点击

下面的create 创建datafile及flash recovery area的ASM磁盘组。

磁盘组名称ORADATA, 冗余部分选择External, 点击磁盘为ORCL:ASMDATA01及ORCL:ASMDATA02,点击OK.

继续create

磁盘组名称ORAFLASH, 冗余部分选择External, 磁盘为ASM_FRA,点击OK.

全部OK后点击QUIT退出。

21 开始安装 Oracle RDBMS 软件

以 Oracle 用户创建一个 vnc session,以便登入后不用切换用户(通过 root 或其他用户切换到

Oracle 可能会碰到安装图形界面显示的问题)。

[root@rac2 u01]# su - Oracle

[Oracle@rac2 ~]$

[Oracle@rac1 database]$ pwd

/app/packages/database

[Oracle@rac1 database]$

[Oracle@rac1 database]$ ./runInstaller

图形界面出现后。

A. 输入Email . 不用选择下面security部分,也不用设置proxry server.

B. 只是Install database software only.

C. 选择Real Application Clusters database installation, 可以看到两个节点node name.

点击下面的 SSH Connectivity按钮,设置Oracle用户密码,点击Setup, 成功后点击Test.

D. 选择语言。

E. 安装企业版。

F. 按照Oracle用户的.bash_profile设置ORACLE_BASE及ORACLE_HOME.

G. 选择操作系统组: dba, oinstall .

H. 开始安装。

I. 按照提示在各个节点按照顺序执行root.sh .

J. 提示安装成功。

运行 DBCA 创建数据库。

以 Oracle 用户登陆系统 dbca 创建数据库,这里我们以 oracle 用户创建的 VNC session 登入

VNC .

[Oracle@rac1 bin]$ dbca

A. 创建RAC库。

B. Create a Database.

C. 选择Custom Database .

D. 配置类型为Admin-Managed, 全局数据库名及SID Prefix都是racdb(Oracle用户的.bash_profile

中有设置), 节点部分Select All.

E. 企业管理器部分默认。

F. 测试用,所以所有用户设置一个密码。

G. 设置存储类型: ASM, 选择"Use Common Location for All Database Files"

Database Files Location: +ORADATA, 弹出设置ASMSNMP密码框。

H. 选择Specify Flash Recovery Area , 路径部分为+ORAFLASH, 大小为4977M,

设置自动归档,点击设置归档路径为 +ORADATA/RACDB/arch

建议: 如果只是设置+ORADATA, 这里归档文件会使用 OMF的格式,不遵循初始参数中

的 format, 建议安装完成后手工自己建立一个 ASM 目录来放置归档文件,这样文件

名称就会遵守 format 规则了。警告信息忽略。

I. 数据库组件默认即可。

J. Mem 使用AMM, Sizing使用16K, 字符集采用AL32UTF8. 连接模式采用Dedicated Server.

K. 设置控制文件及表空间,redo log group.

L. 安装完毕。

[grid@rac1 ~]$ crs_stat ‐t

Name Type Target State Host

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

ora....ER.lsnr ora....er.type ONLINE ONLINE rac1

ora....N1.lsnr ora....er.type ONLINE ONLINE rac1

ora....VOTE.dg ora....up.type ONLINE ONLINE rac1

ora.ORADATA.dg ora....up.type ONLINE ONLINE rac1

ora....LASH.dg ora....up.type ONLINE ONLINE rac1

ora.asm ora.asm.type ONLINE ONLINE rac1

ora.eons ora.eons.type ONLINE ONLINE rac1

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora....network ora....rk.type ONLINE ONLINE rac1

ora.oc4j ora.oc4j.type OFFLINE OFFLINE

ora.ons ora.ons.type ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....01.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip ora....t1.type ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac02

ora....02.lsnr application ONLINE ONLINE rac02

ora.rac02.gsd application OFFLINE OFFLINE

ora.rac02.ons application ONLINE ONLINE rac02

ora.rac02.vip ora....t1.type ONLINE ONLINE rac02

ora.racdb.db ora....se.type ONLINE ONLINE rac1

ora....ry.acfs ora....fs.type ONLINE ONLINE rac1

ora.scan1.vip ora....ip.type ONLINE ONLINE rac1

问题点及解决:

后来测试发现,归档路径不能正常归档,可能是在设置规定那个路径的时候有些问题。

这里重新通过 ASMCMD命令重新建立归档路径及重新设置初始化参数中的归档路径。

[root@rac1 ~]# su ‐ grid

[grid@rac1 ~]$ id

uid=501(grid) gid=501(oinstall) groups=501(oinstall),504(asmadmin),506(asmdba),507(asmoper)

[grid@rac1 ~]$ asmcmd

ASMCMD> help

ASMCMD> ls

OCR_VOTE/

ORADATA/

ORAFRA/

ASMCMD> cd oradata (不区分大小写的)

ASMCMD> ls

ORCL/

ASMCMD> cd orcl

ASMCMD> ls

CONTROLFILE/

DATAFILE/

ONLINELOG/

PARAMETERFILE/

TEMPFILE/

control01.ctl

control02.ctl

redo01.log

redo02.log

redo03.log

redo04.log

spfileracdb.ora

准备在 ASM 磁盘下建立 arch 目录,用于存放归档。

ASMCMD> pwd (查看一下目录)

+oradata/racdb

ASMCMD> mkdir arch

ASMCMD>ls

[root@rac1 ~]# su ‐ Oracle

[Oracle@rac1 ~]$ sqlplus "/as sysdba"

SQL> alter system set log_archive_dest_1='LOCATION=+ORADATA/ORCL/arch';

归档测试,通过 ASMCMD 查看 ASM磁盘下的归档情况,测试 OK.

startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl1.ora'

startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initccense1.ora'

startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initccense2.ora'

标签: #redhat安装oracle