首页 > 代码库 > 安装11gR2 ASM单实例步骤

安装11gR2 ASM单实例步骤

环境介绍:
Platform:VisualBox 4.3.12
OS:Oracle Linux 5.8
Grid Infrastructure:11.2.0.3
Database:11.2.0.3

一、安装操作系统(略)

二、配置软件安装环境

--安装完以后先配置一个本地yum

cd /etc/yum.repos.d/
touch yum_oel5.repo
vi yum_oel5.repo

添加以下内容:
[oel5]
name=Oracle Linux 5.8 x86_64 DVD 
baseurl=file:///media/Server
gpgcheck=0
enabled=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 all
yum repolist
yum 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 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmdba
groupadd -g 506 asmoper

useradd -u 500 -g oinstall -G dba,asmdba,asmadmin,oper oracle
useradd -u 507 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

注意,oper组不是必须的,dba,asmdba,asmadmin必须有

--修改grid和oracle用户密码

passwd oracle
passwd grid

--配置环境变量

grid:

export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp 
export TMPDIR=/tmp
umask 022

oracle:

ORACLE_SID=zlm; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid
NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$GRID_HOME/bin export PATH
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

主要是配置红色字体的几个环境变量(必须)

--以vbox命令行方式添加共享磁盘

VBoxManage createhd --filename asm01.vdi --size 3072 --format VDI --variant Fixed
VBoxManage createhd --filename asm02.vdi --size 3072 --format VDI --variant Fixed
VBoxManage 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 shareable
VBoxManage storageattach asm11g --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm02.vdi --mtype shareable
VBoxManage storageattach asm11g --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm03.vdi --mtype shareable

注意:VBoxManage.exe是在本机window的cmd命令行中执行的(先到vbox软件的安装根目录下)
也可以通过鼠标点击的方式添加共享磁盘,原理是一样的

--利用udev绑定磁盘

for Linux 6.x
for i in b c d;
do
echo  "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.x
for i in b c d;
do
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软件(略)

--装完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文件一个6751权限即可,root用户分别执行:
chmod 6751 /u01/app/11.2.0/grid/oracle
chmod 6751 /u01/app/oracle/product/11.2.0/db_1/oracle

6751分别制定了ugoa的权限:

第一位6代表u(所有者)有读、写权限,没有执行权限
第二位7代表g(组)有读、写、执行权限
第三位5代表o(其它用户)有读、执行权限
第四位1代表a(所有者、组、其它用户)有执行权限
四位6751如果用三位表示就是675,第四位继承umask的值

oracle用户属于组dba、oinstall
可执行代码需要的是最少权限是110即所有者和组有执行权限,
为了维护方便一般都给775即所有者和组有读、写、执行权限,其它用户有执行权限

安装11gR2 ASM单实例步骤