安装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设置的详细用法可以参照:

--安装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; export GRID_HOME
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软件(略)

这里就可能碰到的几个问题做个说明:
由于考虑到可能要修改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即所有者和组有读、写、执行权限,其它用户有执行权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值