HPUX11.31+RAC11G数据库安装
2011年6月
Author: ma.yu@163.com
目录
1. 用户需求:........................................................................................................................... 3 2.安装过程: ................................................................................................................................ 4
2.1 系统环境准备,检查两台机器的状况: ..................................................................... 4 2.2 网络环境准备: ............................................................................................................. 7 2.3 补丁:............................................................................................................................. 7 2.4 内核参数修改: ............................................................................................................. 7 2.5 创建ORACLE用户:.................................................................................................. 8 2.6 磁盘分配:................................................................................................................... 10 2.7 ORACLE 安装前准备:............................................................................................. 13 2.8 ORACLE Clusterware安装: .................................................................................... 15 2.9 ORACLE RAC database软件安装: ..................................................................... 30 2.10 升级11.1.0.6到11.1.0.7: ...................................................................................... 38 2.11 Listener创建: ........................................................................................................... 53 2.12 dbca创建数据库: .................................................................................................... 54
1. 用户需求:
用户需要安装一套数据库RAC: 数据库软件:Oracle11g
数据库软件版本:11.1.0.6 ,升级到11.1.0.7。 模式:rac
数据库sid:MIS
数据库ip 规划如下:
型号 Hp rx6600 Hp rx6600 主机名 HOSTA HOSTB 实 Vip 实 Vip IP 10.111.11.19 10.111.11.21 10.111.11.20 10.111.11.22 服务器 MIS数据库服务器1 MIS数据库服务器2
目前这边硬件环境是两台rx6600 ,操作系统版本:HP-UX B.11.31
存贮设备 hp storage works P2000,总存储空间2.8T ,这套存储设备供MIS系统使用的磁盘分为四个,分别为1G,800G*3。
2.安装过程:
由于用户没有购买SGeRAC,所以在这次的安装过程中,使用Clusterware+RACdatabase+ASM的方式,不使用SGeRAC。
这样的话,所有的非ASM数据都要保存在共享磁盘分区裸设备上,而不是共享的lv上。
2.1 系统环境准备,检查两台机器的状况:
A.检查内存大小,至少>1GB.
# /usr/contrib/bin/machinfo | grep -i Memory # /usr/sbin/dmesg | grep \"Physical:\"
16GB.
B.交换空间的检查:
-If RAM between 1GB and 2GB, then swap space required is 1.5 times the size of RAM -If RAM > 2GB, then swap space required is equal to the size of RAM
# /usr/sbin/swapinfo –a 16GB。
C./tmp 空间: #bdf /tmp 最少400MB。 目前2GB.
D. 安装ORACLE软件的目录,最少4GB. #bdf /oracle 目前20GB。
E.操作系统版本和机器位数: #uname –a
(尽管oracle10G只支持到HP UX11.23,但是在11.31上仍然能够安装。) HP-UX hosta B.11.31 U ia64 3599024424 unlimited-user license
# /bin/getconf KERNEL_BITS 64
F.检查Async I/O配置。 在11.23/11.31上已缺省配好。 # ll /dev/async
crw-rw-rw- 1 bin bin 101 0x000000 Mar 28 17:41 /dev/async
If you want to use Oracle on RAW devices and Async I/O is not configured, then Create the /dev/async character device
# /sbin/mknod /dev/async c 101 0x0 # chown oracle:dba /dev/async # chmod 660 /dev/async
Configure the async driver in the kernel using SAM => Kernel Configuration => Kernel
=> the driver is called 'asyncdsk' Generate new kernel Reboot
Set HP-UX kernel parameter max_async_ports using SAM. max_async_ports limits the maximum number of processes that can concurrently use /dev/async. Set this parameter to the sum of 'processes' from init.ora + number of background processes. If max_async_ports is reached, subsequent processes will use synchronous i/o.
Set HP-UX kernel parameter aio_max_ops using SAM. aio_max_ops limits the maximum number of asynchronous i/o operations that can be queued at any time. Set thisparameter to the default value (2048), and monitor over time using glance。
G.检查C编译器
For PL/SQL native compilation, Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, Oracle XML Developer’s Kit (XDK):
HP-UX 11i v2 (11.23):
HP C/ANSI C Compiler (A.06.00): C-ANSI-C HP aC++ Compiler (C.06.00): ACXX
# cc –V
(Bundled) cc: HP C/aC++ B3910B A.06.12 [Oct 11 2006] 此外,需要有aCC编译器,否则有bug. [ID 794903.1] 也就是说命令 $aCC
应该可以执行。
H.为了成功编译链接Oralce,建立以下连接: # cd /usr/lib
# ln -s /usr/lib/libX11.3 libX11.sl # ln -s /usr/lib/libXIE.2 libXIE.sl # ln -s /usr/lib/libXext.3 libXext.sl # ln -s /usr/lib/libXhp11.3 libXhp11.sl # ln -s /usr/lib/libXi.3 libXi.sl # ln -s /usr/lib/libXm.4 libXm.sl # ln -s /usr/lib/libXp.2 libXp.sl # ln -s /usr/lib/libXt.3 libXt.sl # ln -s /usr/lib/libXtst.2 libXtst.sl
I.确保两个节点的时间非常接近,最好使用NTP协议进行时间同步。
J. 补丁:
HP-UX Operating System Itanium:
» HP-UX 11i Version 3 (11.31) with March 2007 Patch bundle for HP-UX (11iV2-B.11.23.0703) (此为oracle安装文档需求,如果有最新的,尽量打最新的补丁。) 目前:
2011Mar1131 2011.03 HPUX 11.31 Megpatch for Mar 2011
其他补丁: HP-UX 11.31:
General Patches:
» PHKL_37296 vfs module patch (已被40167 替代)
» PHKL_37452 vm cumulative patch [replaces PHKL_35900, PHKL_35936] (已被41362 替代)
» PHKL_37453 esdisk cumulative patch [replaces PHKL_36249] (已被41006 替代)
» PHKL_37454 esctl cumulative patch [replaces PHKL_36248] (已被40922 替代) » PHCO_37476 libc cumulative patch (已被38658 替代) » PHCO_37807 Cumulative Patch for bcheckrc (有)
» PHSS_37948 linker + fdp cumulative patch(已被41492 替代) » PHSS_37954 Integrity Unwind Library (已被40542 替代)
» PHNE_35894 Networking commands cumulative patch (已被39717 替代)
C and C++ patches for Pro*C/C++,Oracle Call Interface,Oracle C++ Call Interface, Oracle XML Developer’s Kit (XDK):
» PHSS_35976 HP C/aC++ Compiler (A.06.14) Itanium 没有。
尝试过,这个补丁打不上。可能是aC++没有安装的缘故。
实际上需要有aCC编译器,否则有bug. [ID 794903.1] 也就是说 $aCC
应该可以执行
但目前没有,导致bug. Bug的处理方法见后。
Serviceguard 11.18 Patches (optional, only if you want to use Serviceguard): » PHSS_37602 Serviceguard A.11.18.00
没有使用ServiceGuard.
使用
#swlist -l patch -a supersedes|grep PHKL_XXXXX检查是否已有或是已被替代。
2.2 网络环境准备:
A.目前机器的服务IP定为:
hosta: 10.111.11.19 VIP:10.111.11.21 hostb: 10.111.11.20 VIP:10.111.11.22
配置/etc/hosts: (两台机器都配)
127.0.0.1 hostb
127.0.0.1 localhost loopback
10.111.11.19 hosta 10.111.11.20 hostb
10.111.11.21 hosta_vip 10.111.11.22 hostb_vip
192.168.1.1 hosta_rac 192.168.1.2 hostb_rac
经过检查,发现刚安装完毕的HOSTA,HOSTB上面的lan是一一对应的,不需要调整。 配置完毕后:
HOSTA:lan900: 10.111.11.19 lan0:192.168.1.1 HOSTB: lan900 10.111.11.20 lan0:192.168.1.2
2.3 补丁:
针对11.31,已打最新补丁。
2011Mar1131 2011.03 HPUX 11.31 Megpatch for Mar 2011
2.4 内核参数修改:
针对HP UX11.31的内核,修改两台机器的参数(16GB内存):
首先列出现有参数: # kctune > /tmp/kctune.log
然后,执行脚本:
kctune 'nproc>=4096'
kctune 'ksi_alloc_max>=33600' #kctune ‘executable_stack=0’(缺省是0)
kctune 'max_thread_proc>=1024' kctune 'maxdsiz>=1073741824'
kctune 'maxdsiz_64bit>=2147483648' kctune 'maxssiz>=134217728'
kctune 'maxssiz_64bit>=1073741824' kctune 'maxuprc>=3780' #kctune 'msgmap>=4202' kctune 'msgmni>=4200' #kctune 'msgseg>=32767' kctune 'msgtql>=4200' kctune 'ncsize>=36672' #kctune 'nfile>=202048' kctune 'nflocks>=4200' kctune 'ninode>=35648' kctune 'nkthread>=7366' #kctune 'semmap>=8402' kctune 'semmni>=4200' kctune 'semmns>=8400' kctune 'semmnu>=4196' kctune 'semvmx>=32767'
kctune 'shmmax>=16000000000' kctune 'shmmni>=4096' kctune 'shmseg>=512' kctune 'swchunk>=40960' kctune 'vps_ceiling>=12000'
前面有#的表示HPUX11.31中没有
这里有几个参数比较大,是因为内存比较大。
执行完毕后,使用命令:#kctune –D列出需要重新启动才能生效的参数。 然后reboot。
2.5 创建ORACLE用户:
在两台机器上创建组/用户: # /usr/sbin/groupadd -g 201 dba # /usr/sbin/groupadd -g 200 oinstall
# /usr/sbin/useradd -u 200 -g oinstall -G dba oracle
# id oracle
uid=200(oracle) gid=200(oinstall) groups=201(dba)
Create HOME directory for Oracle user # mkdir /home/oracle
# chown oracle:oinstall /home/oracle
修改密码:
#passwd oracle (oracle用户密码:oracle) 配置ssh:
SSH Set-up(两台机器都设置)
Hosta$ mkdir ~/.ssh Hosta $ chmod 700 ~/.ssh
Hosta $ /usr/bin/ssh-keygen -t rsa Here, we leave the passphrase empty.
Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
然后把两台机器的id_rsa.pub的内容合并,并存放到两个节点上:
/home/oracle/.ssh/authorized_keys on both nodes.
Hosta$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Hosta$ ssh oracle@hostb cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys Hosta$ chmod 644 ~/.ssh/authorized_keys
Hosta$ scp ~/.ssh/authorized_keys Hostb:~/.ssh/authorized_keys
Ssh测试:
Hosta$ ssh hosta ls Hosta$ssh hostb ls Hostb$ ssh hosta ls Hostb$ssh hostb ls
发现不成功,经检查发现可能是文件权限问题。 修改/home/oracle的权限为0755。 然后修改~/.ssh/的权限为0700 修改其他文件的权限如下: $ ls -l ~/.ssh total 64
-rw-r--r-- 1 oracle oinstall 788 Jun 21 11:44 authorized_keys -rw------- 1 oracle oinstall 1675 Jun 21 11:40 id_rsa -rw-r--r-- 1 oracle oinstall 394 Jun 21 11:40 id_rsa.pub -rw-r--r-- 1 oracle oinstall 1326 Jun 21 11:39 known_hosts 然后测试成功。
配置两台机器的.rhosts文件: # .rhosts file in $HOME of root HOSTA root HOSTA_vip root HOSTA_rac root HOSTB root HOSTB_vip root HOSTB_rac root
# .rhosts file in $HOME of oracle HOSTA oracle HOSTA_vip oracle HOSTA_rac oracle HOSTB oracle
HOSTB_vip oracle HOSTB_rac oracle
分别使用root/oracle帐户进行远程测试: #remsh HOSTA ll $remsh HOSTB ll 等。
2.6 磁盘分配:
由于无法使用SGeRAC,所以采用ASM方式。
规划: OCR占用两个磁盘,互为备份,大小1G左右。 CRS Voting磁盘占用3个,互为备份,大小1G左右。
ASM磁盘6个:全部为405G左右,5个存放DATA,1个存放FLASH_RECOVERY
由于两边的磁盘需要一致,所以,调整HOSTA,HOSTB上的磁盘: HOSTA[/]#ioscan -m lun
Class I Lun H/W Path Driver S/W State H/W Type Health Description
======================================================================
disk 12 64000/0xfa00/0xd esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x0 0/7/0/0/0/0.0x247000c0ff119abc.0x0
/dev/disk/disk12 /dev/rdisk/disk12
disk 13 64000/0xfa00/0xe esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x1000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x1000000000000 /dev/disk/disk13 /dev/rdisk/disk13
disk 14 64000/0xfa00/0xf esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x2000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x2000000000000 /dev/disk/disk14 /dev/rdisk/disk14
disk 15 64000/0xfa00/0x10 esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x3000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x3000000000000 /dev/disk/disk15 /dev/rdisk/disk15
使用命令检查两边的磁盘大小,确保两边对应的一致: diskinfo /dev/rdisk/disk12 diskinfo /dev/rdisk/disk13 diskinfo /dev/rdisk/disk14 , diskinfo /dev/rdisk/disk15
检查WWID号,确保两台机器的磁盘是一致的,例如: scsimgr lun_map -D /dev/rdisk/disk12
磁盘顺序为: 0x0 <-> disk12 976560 Kbytes (1G)
0x 1000000000000<-> disk13 830078112 Kbytes (800G) 0x 2000000000000<-> disk14 830078112 Kbytes (800G) 0x 3000000000000<-> disk15 830078112 Kbytes (800G)
如果不一致,需要使用ioinit调整。
由于没有SGeRAC,无法使用slvm,所以然后按照下表,对磁盘进行分区: P1: P2: P3: Disk12: 400M(Voting) 400M(OCR)
Disk13: 400M(Voting) 400G(ASM) 400G(ASM) Disk14: 400M(Voting) 400G (ASM) 400G(ASM) Disk15: 400M(OCR) 400G(ASM) 400G(ASM)
分区过程如下:
创建 /tmp/disk12par,/tmp/disk13par:
HOSTA[/tmp]#more disk12par 2
EFI 403MB HPUX 100%
HOSTA[/tmp]#more disk13par(disk14par,disk15par和disk13par相同) 3
EFI 403MB
HPUX 405110MB HPUX 100%
然后使用命令:# idisk -f /tmp/disk12par -w /dev/rdisk/disk12 对几个个磁盘进行分区。分区完成后,使用命令: #insf –e –C disk创建各个分区的设备文件。 HOSTA[/tmp]#ioscan -m lun
Class I Lun H/W Path Driver S/W State H/W Type Health Description
======================================================================
disk 12 64000/0xfa00/0xd esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x0
0/7/0/0/0/0.0x247000c0ff119abc.0x0
/dev/disk/disk12 /dev/rdisk/disk12 /dev/disk/disk12_p1 /dev/rdisk/disk12_p1 /dev/disk/disk12_p2 /dev/rdisk/disk12_p2
disk 13 64000/0xfa00/0xe esdisk CLAIMED DEVICE online HP P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x1000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x1000000000000 /dev/disk/disk13 /dev/rdisk/disk13 /dev/disk/disk13_p1 /dev/rdisk/disk13_p1 /dev/disk/disk13_p2 /dev/rdisk/disk13_p2 /dev/disk/disk13_p3 /dev/rdisk/disk13_p3
disk 14 64000/0xfa00/0xf esdisk CLAIMED DEVICE P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x2000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x2000000000000 /dev/disk/disk14 /dev/rdisk/disk14 /dev/disk/disk14_p1 /dev/rdisk/disk14_p1 /dev/disk/disk14_p2 /dev/rdisk/disk14_p2 /dev/disk/disk14_p3 /dev/rdisk/disk14_p3
disk 15 64000/0xfa00/0x10 esdisk CLAIMED DEVICE P2000 G3 FC
0/6/0/0/0/0/2/0/0/0.0x207000c0ff119abc.0x3000000000000 0/7/0/0/0/0.0x247000c0ff119abc.0x3000000000000 /dev/disk/disk15 /dev/rdisk/disk15 /dev/disk/disk15_p1 /dev/rdisk/disk15_p1 /dev/disk/disk15_p2 /dev/rdisk/disk15_p2 /dev/disk/disk15_p3 /dev/rdisk/disk15_p3
使用命令:diskinfo /dev/rdisk/diskX_pX核对各个磁盘的大小,确保两边一致。# diskinfo /dev/rdisk/disk12_p1
SCSI describe of /dev/rdisk/disk12_p1: vendor: HP
product id: P2000 G3 FC type: direct access size: 412652 Kbytes bytes per sector: 512
# diskinfo /dev/rdisk/disk12_p2
SCSI describe of /dev/rdisk/disk12_p2: vendor: HP
product id: P2000 G3 FC type: direct access size: 563200 Kbytes
online HP online HP bytes per sector: 512
# diskinfo /dev/rdisk/disk13_p1
SCSI describe of /dev/rdisk/disk13_p1: vendor: HP
product id: P2000 G3 FC type: direct access size: 412640 Kbytes bytes per sector: 512
# diskinfo /dev/rdisk/disk13_p2
SCSI describe of /dev/rdisk/disk13_p2: vendor: HP
product id: P2000 G3 FC type: direct access
size: 414832640 Kbytes bytes per sector: 512
# diskinfo /dev/rdisk/disk13_p3
SCSI describe of /dev/rdisk/disk13_p3: vendor: HP
product id: P2000 G3 FC type: direct access
size: 414832640 Kbytes bytes per sector: 512 #
核对完成后,在两台机器上修改磁盘的属性:
OCR disks:(所有的都修改,这里以disk12_p2为例) # chown root:dba /dev/rdisk/disk12_p2 # chmod 640 /dev/rdisk/disk12_p2
ASM & Voting disks: (所有的都修改,这里以disk12_p1为例) # chown oracle:dba /dev/rdisk/disk12_p1 # chmod 660 /dev/rdisk/disk12_p1
2.7 ORACLE 安装前准备:
创建文件: /etc/privgroup,包括: dba MLOCK RTSCHED RTPRIO 在两台机器上执行:
#setprivgrp –f /etc/privgroup
可以使用#getprivgrp dba来验证设置是否正确。
在两台机器上都创建目录: # mkdir /var/opt/oracle
# chown oracle:oinstall /var/opt/oracle # chmod 755 /var/opt/oracle
Oracle Clusterware:
# mkdir -p /oracle/product/CRS Oracle RAC:
# mkdir –p /oracle/product/RAC11g
# chown -R oracle:oinstall /oracle/product
编辑两台机器上的oracle用户的.profile文件:
# Set up the search paths: PATH=$PATH:.
# Set up the shell environment: set -u
trap \"echo 'logout'\" 0
# Set up the shell variables:
export PS1=`whoami`@`hostname`\\['$ORACLE_SID'\\]':$PWD$ '
# Oracle Environment
export ORACLE_BASE=/oracle/product
export ORACLE_HOME=$ORACLE_BASE/RAC11g export ORA_CRS_HOME=$ORACLE_BASE/CRS export ORACLE_SID=MIS1(或2)
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib export PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin export
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib/ export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib print ' '
print '$ORACLE_SID: '$ORACLE_SID
print '$ORACLE_HOME: '$ORACLE_HOME print '$ORA_CRS_HOME: '$ORA_CRS_HOME print ' ' # ALIAS
alias psg=\"ps -ef | grep\"
alias oh=\"cd $ORACLE_HOME\" alias crs=\"cd $ORA_CRS_HOME\"
在下面的安装过程中,可能会在安装前检查过程中报$PATH里有多余的ORACLE_HOME, 更正方法为:
修改PATH定义,从中删除$ORA_CRS_HOME/bin或是$ORACLE_HOME/bin中的一个,只
保留其中一个。再重新登录,重新启动runInstaller。
2.8 ORACLE Clusterware安装:
首先安装Clusterware.
ORACLE数据库本身所有帐号的密码都设置为:oracle.
在HOSTA上,使用Xmanager以oracle登录,并设置:
运行xclock进行测试。 Mount oracle安装光盘:
/usr/sbin/mount -F cdfs -o rr /dev/dsk/cxtydz /SD_CDROM
使用runcluvfy.sh进行检查: 但是调用时需要使用如下格式:
#/cdrom/runcluvfy.sh