接上一篇
http://blog.itpub.net/26680829/viewspace-1134583/
1. 操作系统准备
1) 上传安装文件压缩包
无论你是通过VMware Tools还是Ftp等等模式,反正将ORACLE_DATABASE、ORACLE_GRID两个压缩包上传到虚拟机中去。
2) 建立用户和组
在这里我们需要建立六个组和两个用户,组分别是安装组oinstall,asm管理员组asmadmin,asm数据库管理员组asmdba,asm操作组asmoper,数据库管理组dba,数据库操作组oper,用户就分别是grid和oracle,命令如下:
groupadd oinstall
groupadd asmadmin
groupadd asmdba
groupadd asmoper
groupadd oper
groupadd dba
useradd –g oinstall –G asmadmin,asmdba,asmoper,dba –md /home/grid grid
useradd –g oinstall –G asmdba,oper,dba –md /home/oracle oracle
passwd grid
passwd oracle

3) 识别磁盘
我们首先需要把那三块磁盘让LINUX系统识别出来,然后挂载成可以被Oracle使用的裸设备。使用fdisk –l来查看磁盘信息,你会看到三块标识为无法正常工作的磁盘。
显示/dev/sdb、/dev/sdc、/dev/sdd三块磁盘无法提供服务,我们首先要让他们被Linux识别,使用fdisk /dev/sdb命令,在提示中依次输入n p 1 ? ? w,这样就可以让系统识别到磁盘。
之后再使用fdisk –l命令看一下,你就可以看到相应的信息了。
4) 绑定裸设备
a) WWID绑定
如果你之前在第一篇第三步中加入了disk.EnableUUID = "TURE",那么继续往下看,如果没有的话请跳转到 b)。
如果你使用的LINUX是5.X版本,那么你可以使用scsi_id -g -u -s /block/sdb来获得设备的WWID,请分别记录下来,然后我们使用这个ID进行绑定。
如果使用的是LINUX 6.X版本的话,使用scsi_id -g –u /dev/sdb来获得。
获得scsi_id后编辑/etc/udev/rules.d/99-oracle-asm.rules(这个名字随便写,生产的话请遵守规则),在其中加入相应绑定程序。
KERNEL=="sd*",BUS==”scsi”,SUBSYSTEM=="block",PROGRAM=="scsi_id -g -u -s %p",RESUILT=="36000c2976fffc6ff9e090e6e9c6ae799",NAME="oracle-asmdisk1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS==”scsi”,SUBSYSTEM=="block",PROGRAM=="scsi_id -g -u -s %p ",RESUILT=="36000c29d202372ed1b4d78ca0cc524dc",NAME="oracle-asmdisk1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS==”scsi”,SUBSYSTEM=="block",PROGRAM=="scsi_id -g -u -s %p ",RESUILT=="36000c29f42c5c6d40c9b3b89787e1b66",NAME="oracle-fladiska",OWNER="grid",GROUP="asmadmin",MODE="0660"
添加完成后,使用start_udev重启udev,如果你使用的是SUSE,那么使用/etc/init.d/boot.udev restart。然后你就可以使用ll /dev/oracle*看到你绑定的磁盘了。
PS:这里简单解释下udev.rules中使用wwid的绑定规则。
KERNEL=="sd*", 匹配键值后面一律通过连等号(==)与值关联,这里是为内核匹配sd*的设备,框定一个大范围
BUS==”scsi”,连接方式为scsi,再次框定
SUBSYSTEM=="block",子系统为block
PROGRAM=="scsi_id -g –u -s %p",执行该程序,这里有人说使用/dev/$name,但是我失败了……
RESUILT=="36000c2976fffc6ff9e090e6e9c6ae799",找出上述程序为该结果的设备
NAME="oracle-asmdisk1",给一个名字,方便使用,不写这个的话使用缺省名字
OWNER="grid",指定用户
GROUP="asmadmin",指定组
MODE="0660" 指定权限,777规则那个
b) NAME绑定
如果你之前没有加入了disk.EnableUUID = "TURE",那么你可以使用内核设备名进行绑定。
方法是一样的编辑/etc/udev/rules.d/60-oracle-asmraw.rules(这个名字随便写,生产的话请遵守规则),在其中加入相应绑定程序。
查看下绑定结果。
PS.这里有点小问题,根据RED HAT中官方的示例,
60-raw.rules 的示例中很明确的写着是OR的关系,但是我只配置单独一个的时候无法绑定,必须把KERNEL==..和ENV{MAJOR}...全配置了才可以,如果只配置KERNEL==…那么就必须配置/etc/rc.d/rc.local,在其中指定
/bin/raw /dev/raw/raw1 /dev/sdb1,所以这里有点问题,如果有其他兄弟只配置KERNEL==..或ENV{MAJOR}...就成功了的话请告之,谢谢。
两种绑定方式我都弄好了,大家自己选一种就行。
5) 系统参数更改
a) 修改内核参数
#vi /etc/sysctl.conf
kernel.core_uses_pid = 0
//ore_uses_pid可以控制产生的core文件的文件名中是否添加pid作为扩展,如果添加则文件内容为1,否则为0 ,默认为0
kernel.shmmax = 536870912
//公式:物理内存/2(G)*1024*1024*1024=536870912 (字节)
//表示最大共享内存,如果小的话可以按实际情况而定,一般为物理内存的一半,大一点也可以(单位:字节)
kernel.shmall = 2097152
//kernel.shmall 参数是控制共享内存页数 。Linux 共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。公式:8G*1024*1024/4K = 2097152 (页) 查看内存页大小方法#getconf PAGESIZE
kernel.shmmni = 4096
//内核参数是共享内存段的最大数量,默认是4096,是够用的
kernel.sem = 250 32000 100 128
//4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
fs.file-max = 65536
//如果报告:too many file opened,就需要增加系统允许打开的文件数。
net.ipv4.ip_local_port_range = 9000 65500
//ip_local_port_range表示端口的范围,为指定的内容
net.core.rmem_default=4194304
//net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max=4194304
// net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_default=262144
// net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max=262144
//net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)
fs.aio-max-nr=1048576
//fs.aio-max-nr:同时可以拥有的的异步IO请求数目,推荐值是:1048576 其实它等于 1024*1024byt
以上步骤做完执行 /sbin/sysctl -p 使内核生效 。
上述参数我们通常需要更改的是kernel.shmmax和kernel.shmall,这两个参数请根据自己的实际情况修改。
b) 修改Oracle用户shell限制
修改/etc/security/limits.conf
Soft是软限制,就是启动时候的数量,而hard是硬限制,绝对不能突破这个限制。
而nproc就是使用进程数量的缩写,nofile是打开文件数量的缩写,这样就给ORACLE用户使用的资源进行了限制。
当然想要这个限制生效,请在/etc/pam.d/login中加入一行
修改/etc/profile
把本机IP加入到/etc/hosts中
c) 修改Oracle用户的环境变量,
这里我省略了一些变量,主流配置见下方10G的环境变量
在10G安装的时候需要配置的环境变量多一些,
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle /10.2/db_1
export ORACLE_SID=ANASM
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
d) 建立安装所需路径
至此,安装前的准备工作全部完成,接下来就是正式的安装步骤了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26680829/viewspace-1134985/ ,如需转载,请注明出处,否则将追究法律责任。