Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 11gR2 ASM单实例安装步骤

环境介绍:Platform:VisualBox 4.3.12OS:Oracle Linux 5.8Grid Infrastructure:11.2.0.3Database:11.2.0.3 一、安装操作系统(略) 二、配置软件安装环境 --安装完以后先配置一个本地yum cd /etc/yum.repos.d/touch yum_oel5.repovi yum_oel5.repo 添加以下内容:[oel5]name=Oracle Linux 5.8 x86_64 DVD baseurl=file:///media/Servergpgcheck=0enabled=1 关于repo设置的详细用法可以参照:http://docs.oracle.com/cd/E37670_01/E37355/html/ol_create_repo.html --安装Oracle软件必要的包和内核参数设置 yum install oracle-validated 注意,在Oracle Linux 6.x中使用的是: yum install oracle-rdbms-server-11gR2-preinstall-1.0-6.el6 一些相关的yum的命令:yum clean allyum repolistyum list 在OEL6中用yum安装"Desktop"、"X Window System"、"Chinese Support"  yum --disablerepo=* --enablerepo=oel6 groupinstall "Desktop"yum --disablerepo=* --enablerepo=oel6 groupinstall "X Window System"yum --disablerepo=* --enablerepo=oel6 groupinstall "Chinese Support"   如果使用的是Oracle Linux,就会有这个包,安装完以后会自动配置安装Oracle软件所需的内核参数、用户、用户组、软件包等,非常方便,因此,强烈推荐使用Oracle Linux搭建测试环境 --挂载磁盘 mount -t iso9660 /dev/cdrom /media --添加用户和组(非Oracle Linux环境配置) groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 opergroupadd -g 504 asmadmingroupadd -g 505 asmdbagroupadd -g 506 asmoper useradd -u 500 -g oinstall -G dba,asmdba,asmadmin,oper oracleuseradd -u 507 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid 注意,oper组不是必须的,dba,asmdba,asmadmin必须有 --修改grid和oracle用户密码 passwd oraclepasswd grid --配置环境变量 grid: export ORACLE_SID=+ASMexport ORACLE_BASE=/u01/app/gridexport ORACLE_HOME=/u01/app/11.2.0/gridexport PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.export TEMP=/tmpexport TMP=/tmp export TMPDIR=/tmpumask 022 oracle: ORACLE_SID=zlm; export ORACLE_SIDORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOMEGRID_HOME=/u01/app/11.2.0/grid; export GRID_HOMENLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"; export NLS_DATE_FORMATNLS_LANG=american_america.ZHS16GBK; export NLS_LANGPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$GRID_HOME/bin export PATHexport TEMP=/tmpexport TMPDIR=/tmpumask 022 主要是配置红色字体的几个环境变量(必须) --以vbox命令行方式添加共享磁盘 VBoxManage createhd --filename asm01.vdi --size 3072 --format VDI --variant FixedVBoxManage createhd --filename asm02.vdi --size 3072 --format VDI --variant FixedVBoxManage createhd --filename asm03.vdi --size 3072 --format VDI --variant Fixed --设置磁盘为共享盘 VBoxManage storageattach asm11g --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm01.vdi --mtype shareableVBoxManage storageattach asm11g --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm02.vdi --mtype shareableVBoxManage storageattach asm11g --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm03.vdi --mtype shareable 注意:VBoxManage.exe是在本机window的cmd命令行中执行的(先到vbox软件的安装根目录下)也可以通过鼠标点击的方式添加共享磁盘,原理是一样的 --利用udev绑定磁盘 for Linux 6.xfor i in b c d;doecho  "KERNEL=="sd*",  BUS=="scsi",  PROGRAM=="/sbin/scsi_id  -g  -u   /dev/$name", RESULT=="`/sbin/scsi_id  -g  -u  /dev/sd$i`",  NAME="asm-disk$i",  OWNER="grid", GROUP="asmadmin", MODE="0660""done for Linux 5.xfor i in b c d;doecho "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 statusservice iptables stop 永久关闭:chkconfig --list iptables chkconfig [--level 35] iptables off PS:可以顺便把sendmail服务也永久关闭,否则启动系统会很久 --创建所需的相关目录(环境变量中配置过的目录) mkdir -p /u01/app/gridmkdir -p /u01/app/11.2.0/gridchown -R grid:oinstall /u01 mkdir -p /u01/app/oracle/product/11.2.0/db_1chown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01 --关闭selinux(在装OS的时候可以选择关闭) cat >> /etc/selinux/config <<EOFSELINUX=DISABLEDEOF --设置登录限制cat >> /etc/pam.d/login <<EOFsession        required          pam_limits.soEOF --设置profile(可选) cat >> /etc/profile <<EOFif [ /$USER = "oracle" ] || [ /$USER = "grid" ]; thenif [ /$SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fiEOF --修改hosts文件 cat /etc/hosts127.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/oraclechmod 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即所有者和组有读、写、执行权限,其它用户有执行权限在CentOS 5.5 i386 上安装 Oracle 10G XE  http://www.linuxidc.com/Linux/2011-02/31928p2.htmLinux下Oracle 11G XE 安装笔记  http://www.linuxidc.com/Linux/2012-08/66974.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址