HP-UX双机-安装ORACLE10g

[复制链接]
查看11 | 回复7 | 2006-1-17 14:02:00 | 显示全部楼层 |阅读模式
HP-UX双机-安装ORACLE10g
1.
硬件设备:
rx4640*2

DL380*2

Hsv200*2
2.
软件环境:
HP-UX ia64 11.23
3.
安装准备
3.1.
软件准备:
3.1.1.
确定HP-UX的版本:
# uname –a
HP-UX rx46401 B.11.23 U ia64
3.1.2.
确定所需补丁:
swlist –l patch | more
PHSS_29658: Aries cumulative patch
PHSS_29660: linker + fdp cumulative patch
说明:要求HP客服人员安装系统后,将所有最新的补丁打一遍,即可。如果没有,从HP网站下载后,用swinstall安装(注:注册HP网站时,必须要用8位密码注册,我的密码是12345678。从HP官方网站下的补丁不知道为什么,总是解压不成功,最后只好求助HP客服人员,将最新的补丁打一遍)。
3.1.3.
创建UNIX组和用户
# groupadd oinstall(查询:grep osinstall /etc/group)
# groupadd dba(查询:grep dba /etc/group)
# useradd –g oinstall –G dba oracle (如果存在,则usermod –g oinstall –G dba oracle)
说明:oinstall是primary group;dba是secondary group
# passwd oracle(改变oracle的密码)
创建用户时最好使用sam,这样更快捷。Sam添加用户时会执行下列操作:
?
在/etc/passwd中为用户创建一个条目(可以使用vipw进行编辑);
?
为用户创建一个主目录;
?
将启动文件(.cshrc、.exrc、.login、.profile)复制到用户的主目录下。
3.1.4.
创建所需目录及路径
利用bdf查看所有mount成功的文件系统的状态;
利用diskinfo查看所有disk的状态。
?
在文件系统中建立/u01/app/oracle作为oracle base directory,过程如下:
# lvcreate –L 20000 vg00(因为其他disk还要做磁盘镜像,因此没有在其他disk上做vgcreate,而是在vg00上建立20G的逻辑分区)
Logical volume "/dev/vg00/lvol1" has been successfully created with
character device "/dev/vg00/rlvol1".
Logical volume "/dev/vg00/lvol1" has been successfully extended.
Volume Group configuration for /dev/vg02 has been saved in /etc/lvmconf/vg00.conf
# newfs –F vxfs /dev/vg00/rlvol1
说明:vxfs是文件系统类型,文件系统类型分为五种,hfs、vxfs、nfs、cdfs、lofs。hfs(High Performance File System,高性能文件系统,在需要与早期hp-ux发行版兼容时使用);vxfs(对应于JFS-Journaled File System,定期文件系统,通常建议安装此类型,缺省安装在hp-ux 11.0以上版本中,具有文件系统快速恢复功能和执行多种联机管理任务的能力。);rlvol1是该逻辑卷的字符设备文件(character device)
# mkdir /u01
# mount /dev/vg00/lvol1 /u01
说明:lvol1是该逻辑卷名;因为只可以mount上文件系统,所以必须要newfs后才可以mount。
# mkdir /u01/app/oracle
# chown –R oracle

install /u01/app/oracle
# chmod 777 /u01/app/oracle
说明:chmod abc file,a表示user,b表示group,c表示other。r=4,w=2,x=1。如果user要有rwx的权限,则a=4+2+1=7。
?
在disk中建立/dev/vg03/rwhdba裸设备(raw device)做为用户whdba缺省表空间所在数据文件的directory,过程如下:
# pvcreate -f /dev/rdsk/c13t0d2  (将磁盘初始化为LVM磁盘)
Physical volume "/dev/rdsk/c13t0d2" has been successfully created.
说明:-f
# mkdir /dev/vg03  (为卷组创建一个目录)
# mknod /dev/vg03/group c 64 0x020000  (在上面的目录中创建一个名为group的设备文件)
说明:c 64 0x20000,02是可变的,c表示group是字符设备文件,64是group设备文件的主编号,主编号始终是64。0xnn0000是group文件的十六进制形式的次编号。注意每个NN必须在所有卷组中是唯一的。
# vgcreate -s 16 vg03 /dev/dsk/c13t0d2  (创建卷组,指定卷组中包括的每个物理卷)
Increased the number of physical extents per physical volume to 63999.
Volume group "/dev/vg03" has been successfully created.
Volume Group configuration for /dev/vg03 has been saved in /etc/lvmconf/vg03.conf
说明:-s 16说明每个PE(盘区)的大小是16m,这个参数在该磁盘环境中是要增加的。否则将会出现错误:
Warning: Max_PE_per_PV for the volume group (65535) too small for this PV (255999).
Using only 65535 PEs from this physical volume.
Increased the number of physical extents per physical volume to 65535.
vgcreate: Volume group "/dev/vg03" could not be created:
VGRA for the disk is too big for the specified parameters. Increase the
extent size or decrease max_PVs/max_LVs and try again.
因为我的磁盘大小是1T,-s是PE数,默认是4,(65535*4=262140也就是256G)。因为我的磁盘大小是1T,所以-s应该是16。(65535*16=1048560)
# lvcreate -L 50000m -n whdba /dev/vg03  (创建逻辑卷)
Logical volume "/dev/vg03/whdba" has been successfully created with
character device "/dev/vg03/rwhdba".
Logical volume "/dev/vg03/whdba" has been successfully extended.
Volume Group configuration for /dev/vg03 has been saved in /etc/lvmconf/vg03.conf
# chown oracle

install /dev/vg03/rwhdba
# chmod 777 /dev/vg03/rwhdba
?
目前所建立好的裸设备空间及大小如下表:
system=/dev/vg03/rsystem8000m
spfile=/dev/vg03/rspfile52m
users=/dev/vg03/ruser3000m
temp=/dev/vg03/rtemp3000m
undotbs1=/dev/vg03/rundotbs16000m
example=/dev/vg03/rexample2000m
cwmlite=/dev/vg03/rcwmlite2000m
xdb=/dev/vg03/rxdb1024m (sysaux01)
odm=/dev/vg03/rodm3000m
indx=/dev/vg03/rindex3000m
tools=/dev/vg03/rtools500m
control1=/dev/vg03/rcontrol11024m
control2=/dev/vg03/rcontrol21024m
control3=/dev/vg03/rcontrol31024m
redo1=/dev/vg03/rredo12048m
redo2=/dev/vg03/rredo22048m
redo3=/dev/vg03/rredo32048m
whdba=/dev/vg03/rwhdba 50000m
3.1.5.
配置Kernel Parameters
根据ORACLE官方网站上的文档做为参考,但存在一些问题,在有问题的参数后,会加以标注
ksi_alloc_max: (nproc*8)
max_thread_proc: 256
maxdsiz: 1073741824 (1 GB)
maxdsiz_64bit: 2147483648 (2 GB)
maxssiz: 134217728 (128 MB)
maxssiz_64bit: 1073741824 (1 GB)
maxswapchunks: 16384 注:没有该参数
maxuprc: ((nproc*9)/10)
msgmap: (2+msgmni)
msgmni: 4096
msgseg: 32767
msgtql: 4096
ncsize: (ninode+vx_ncsize) 注:没有该参数
nfile: (15*nproc+2048) 注:没有该参数
nflocks: 4096
ninode: (8*nproc+2048)
nkthread: (((nproc*7)/4)+16)
nproc: 4096
semmap: (semmni+2) 注:没有该参数
semmni: 4096
semmns: (semmni*2)
semmnu: (nproc-4)
semvmx: 32767
shmmax: The size of physical memory (0X40000000) or 1073741824, whichever is greater.
Shmmni: 512
Shmseg: 120
vps_ceiling: 64
3.2.
oracle安装文件准备:
因为HP-UX是ia64,所以要下载for hp-ux itanium版本的oracle。
Oracle Database 10g Release 1 (10.1.0.2) for HP-UX Itanium
解压所下载的文件:
# gunzip ship_db_ia64hp_disk1.cpio.gz
说明解压后的文件名是:ship_db_ia64hp_disk1.cpio
# cpio -idmv cd /u01/app
Ftp>bin
Ftp>hash
Ftp>put oracle.tar
在另外一台服务器上将oracle.tar解压。
# tar xvf oracle.tar
在第一台服务器上用dbca在裸设备上创建数据库WHDBDEV
注意:在创建数据库期间,一定要考虑字符集的问题。因为不同字符集之间的数据进行交换会产生乱码的问题。并且字符集的转换是从子集到超集受支持,反之不行。所谓超集是指:当前字符集中的每一个字符在新字符集中都可以表示,并使用同样的代码点。如果两种字符集之间根本没有子集和超集的关系,那么字符集的转换是不受oracle支持的。ZHS16GBK、ZHS16CGB231280、WE8ISO8859P1是不存在子集和超集关系,因此他们之间的转换是不受支持的。例如ZHS16GBK转换成WE8ISO8859P1。
SQL>select userenv(‘language’) from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL>shutdown immediate
SQL>startup mount
SQL>alter system enable restricted session;
SQL>alter system set JOB_QUEUE_PROCESSES=0;
SQL>alter system set AQ_TM_PROCESSES=0;
SQL>alter database open;
SQL>alter database character set WE8ISO8859P1;
alter database character set WE8ISO8859P1
*
第 1 行出现错误:
ORA-12712: new character set must be a superset of old character set
root# vi /etc/oratab 将最后的: oracle_sid:/home/oracle/product/10.2.0:N 改为: oracle_sid:/home/oracle/product/10.2.0:Y
建立启动/关闭脚本:
start.sh(启动脚本)
vi start.sh
date >> /tmp/logdata
echo start >> /tmp/logdata
su - oracle -c "/u01/app/oracle/product/10.1.0/bin/lsnrctl start"
su - oracle -c "/u01/app/oracle/product/10.1.0/bin/sqlplus /nolog > /tmp/logdata
echo stop >> /tmp/logdata
su - oracle -c "/u01/app/oracle/product/10.1.0/bin/sqlplus /nolog << EOF
connect / as sysdba
shutdown immediate
EOF"
su - oracle -c "/u01/app/oracle/product/10.1.0/bin/lsnrctl stop"
在集群软件包(/etc/cmcluster/pkg/)中加入这两个启动/关闭脚本。
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
这是我最近工作总结的文档。请各位指正补充。
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
目前有个问题就是如何在MC/Service Guard已经安装的情况下安装RAC。如果不可以的话,是否要换成HP MC Service Guard OPS Edition版本,才可以安装ORACLE的RAC?
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
支持原创,非常不错。
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
目前有个问题就是如何在MC/Service Guard已经安装的情况下安装RAC。如果不可以的话,是否要换成HP MC Service Guard OPS Edition版本,才可以安装ORACLE的RAC?
一定要有有RAC模块(以前叫OPS edition)才可以装RAC,否则你就只能在硬件层建立oracle的共享磁盘
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
最初由 leesbing 发布
[B]目前有个问题就是如何在MC/Service Guard已经安装的情况下安装RAC。如果不可以的话,是否要换成HP MC Service Guard OPS Edition版本,才可以安装ORACLE的RAC?
一定要有有RAC模块(以前叫OPS edition)才可以装RAC,否则你就只能在硬件层建立oracle的共享磁盘 [/B]

而且还不一定有用,因为RAC使用了MC/SG的一些软件接口
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
装完Service Guard之后,安装Service Guard extension for RAC, 这个是单买的,再装RAC.
回复

使用道具 举报

千问 | 2006-1-17 14:02:00 | 显示全部楼层
真的不错哟。最近也在搞HPUX
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行