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

来源:互联网 发布:java log4j jar下载 编辑:程序博客网 时间:2024/06/05 22:48

 

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:\VirtualMachines\SharedDiskASM\G1\ShareDiskOCR.vmdk"

scsi1:1.mode ="independent-persistent"

scsi1:1.redo = ""

 

scsi1:2.deviceType = "disk"

scsi1:2.present = "TRUE"

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

scsi1:2.mode ="independent-persistent"

scsi1:2.redo = ""

 

scsi1:3.deviceType = "disk"

scsi1:3.present = "TRUE"

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

scsi1:3.mode ="independent-persistent"

scsi1:3.redo = ""

 

scsi1:4.deviceType = "disk"

scsi1:4.present = "TRUE"

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

scsi1:4.mode ="independent-persistent"

scsi1:4.redo = ""

Oracle安装前准备

4.1 虚拟机系统参数修改    

修改/etc/sysctl.conf
fs.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 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


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

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

 #RHL5.5缺失包安装

rpm -ivhbinutils-2.17.50.0.6-14.el5.i386.rpm

rpm -ivhcompat-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 -ivhkernel-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 -ivhlibstdc++-devel-4.1.2-48.el5.i386.rpm

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

rpm -ivhnumactl-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    asmdba
groupadd    asmoper  
groupadd   dba 
groupadd   oper

创建用户:

useradd -g oinstall -G asmadmin,asmdba,asmoper,dba  grid
useradd -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/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; exportORACLE_BASE

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

GRID_HOME=/u01/app/11.2.0/grid; exportGRID_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

exportSQLPATH=~/admin/sql:/$ORACLE_HOME/sqlplus/admin

export NLS_DATE_FORMAT='yyyy-mm-ddhh24: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; exportORACLE_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-ddhh24:mi:ss'

umask 022

 

 

4.5 安装配置Oracle ASMLib包

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

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

下载地址

http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html?ssSourceSiteId=ocomen

然后执行命令

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

rpm -ivhoracleasm-2.6.18-194.el5xen-2.0.5-1.el5.i686.rpm

rpm -ivhoracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm

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

 

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

启动Oracleasmlib:

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

启用asmlib:

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

Writing Oracle ASM library driverconfiguration: done

Initializing the Oracle ASMLib driver:[  OK ]

Scanning the system for Oracle ASMLibdisks: [  OK  ]

以root用户配置asmlib

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

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

 

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 = 8225280bytes

   DeviceBoot      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  Linuxswap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

Disk /dev/sdb doesn't contain a validpartition table

 

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

Disk /dev/sdc doesn't contain a validpartition table

 

Disk /dev/sdd: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

Disk /dev/sdd doesn't contain a validpartition table

 

Disk /dev/sde: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

Disk /dev/sde doesn't contain a validpartition table

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

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

Building a new DOS disklabel. Changes willremain 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 isset to 1305.

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

and could in certain setups cause problemswith:

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

2) booting and partitioning software fromother OSs

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

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

 Command (m for help): n

Command action

   e   extended

   p   primarypartition (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 partitiontable.

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 = 8225280bytes

 

   DeviceBoot      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  Linuxswap / Solaris

 

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 

   DeviceBoot      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 = 8225280bytes

 

   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 = 8225280bytes

 

   DeviceBoot      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 = 8225280bytes

 

   DeviceBoot      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 上。  

 scp authorized_keys rac2:/home/grid/.ssh/

 

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

 chmod 600 ~/.ssh/authorized_keys

 

 

 

下面可以测试节点 1,2 的 SSH 连通性。 

ssh rac1 date

ssh rac2 date 

ssh rac1-priv date

ssh rac2-priv date

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

 

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

 

[root@rac1 ~]# su - grid

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

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

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

./runcluvfy.sh stage -post hwos -nrac1,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 forcrshome=0

Cannot configure two CRS instances on thesame cluster.

Please deconfigure before proceeding withthe 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/sdb1bs=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  

 

图形界面显示到DiskGroups 。我们可以看到先前配置的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 FilesLocation:   +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.   

 

 

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

startuppfile='/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'

原创粉丝点击