echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
使用的时候要注意在不同版本上脚本的区别,否则获取不到磁盘的scsi_id
--创建规则文件
touch /etc/udev/rules.d/99-oracle-asmdevices.rules
--重启udev,使配置生效
/sbin/start_udev
--关闭防火墙(如在安装OS的时候已经选择关闭,可跳过此步骤)
临时关闭:
service iptables status
service iptables stop
永久关闭:
chkconfig --list iptables
chkconfig [--level 35] iptables off
PS:可以顺便把sendmail服务也永久关闭,否则启动系统会很久
--创建所需的相关目录(环境变量中配置过的目录)
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
--关闭selinux(在装OS的时候可以选择关闭)
cat >> /etc/selinux/config <<EOF
SELINUX=DISABLED
EOF
--设置登录限制
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
--设置profile(可选)
cat >> /etc/profile <<EOF
if [ /$USER = "oracle" ] || [ /$USER = "grid" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
--修改hosts文件
cat /etc/hosts
127.0.0.1 localhost asm11g
三、安装GI软件(略)
这里就可能碰到的几个问题做个说明:
由于考虑到可能要修改root对于CRS目录的权限,因此Oracle不建议将GRID_HOME(GI软件安装目录)设置到GRID_BASE下面,如果这样会给一个INS-32033的警告:
但是这样修改,就可以通过预安装检查:
这样就认为/g01/app/11.2.0/grid已经不在/g01/app/grid目录下面了
另外,如果在安装预检中发现出错的地方后面的Fixable状态是”Yes“的,可以通过点击”Fix & Check again“来让Oracle自动修复,会自动给出修复脚本,如:
用root执行/tmp/CVU_11.2.0.3.0_grid/runfixup.sh这个脚本后再检查即可满足安装要求
关于NTP的报错,可以直接ignore,或者修改/etc/ntp.conf的名字解决
[root@zlm etc]# ls -l | grep ntp
drwxr-xr-x 2 root root 4096 Jan 5 12:44 ntp
-rw-r--r-- 1 root root 1833 Nov 17 2011 ntp.conf
[root@zlm etc]# mv ntp.conf ntp.conf_bak
--装完GI软件后,root用户执行单节点脚本
/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl
这一步必须做,否则crs资源是不会启动的,也无法执行crsctl等相关GI命令
四、安装ORACLE数据库软件
--安装数据库软件后,grid用户执行asmca,添加磁盘组(略)
--创建数据库之前先,oracle用户执行netmgr,创建监听(略)
五、dbca建库
建库期间,到选择数据库磁盘组这里遇到错误,无法识别到之前创建过的磁盘组
手动填写一个也是会报错的:
解决方法很简单,给oracle这个bin文件一个6751权限即可,位置在软件目录的bin下面
root用户分别执行:
chmod 6751 /u01/app/11.2.0/grid/bin/oracle
chmod 6751 /u01/app/oracle/product/11.2.0/db_1/bin/oracle
关于6751权限的说明:
6751分别指定了ugoa的权限:
第一位6代表u(所有者)有读、写权限,没有执行权限
第二位7代表g(组)有读、写、执行权限
第三位5代表o(其它用户)有读、执行权限
第四位1代表a(所有者、组、其它用户)有执行权限
四位6751如果用三位表示就是675,第四位继承umask的值
oracle用户属于组dba、oinstall
可执行代码需要的是最少权限是110即所有者和组有执行权限,
为了维护方便一般都给775即所有者和组有读、写、执行权限,其它用户有执行权限