[置顶] RedHat 4 as 下安装Oracle11gR2,Cluster(ASM)和Database

RedHat 4 as 下安装Oracle11gR2,Cluster(ASM)和Database

Oracle11gR2发布不久,上两周又听了Oracle的Extdata的推销,昨天又看了Oracle向IBM叫嚣,确实很佩服Oracle公司的成功,也坚定了DBA走下去的方向。

目前11gR2只有Linux版本,公司的机器都Sun和HP的机器,那只能在自己的机器上装了虚拟鸡来玩一把了。

以下是硬件和软件的需要,
如果只是Database的话
硬件:奔腾双核,1G内存,20G硬盘

如果是ASM+Database,或者是RAC
硬件:奔腾双核,2G内存,20G+10G硬盘
软件:vmware server 2.0,RedHat as 4 update 7, Oracle Grid, Oracle Database

由于主机不是太强,没办法建RAC环境,所以本次安装的是ASM+Database。

注意事项:
Grid用户和Oracle用户的选择:
如果需要使用RAC和ASM,需要创建额外的用户管理集群软件,建议使用grid
和创建数据库软件用户,建议使用oracle

ORACLE_BASE和ORACLE_HOME
如果需要使用RAC和ASM,需要分开两个用户的环境变量防止文件冲突。

闲话少说,开始安装

一、安装RedHat as 4操作系统
这步就不再详述了,不是入门的都会了。

二、安装软件包
binutils-2.15.92.0.2
compat-libstdc++-33.2.3
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-devel-0.3.105
libaio-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel-3.4.6
make-3.80
pdksh-5.2.14
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-devel-2.2.11

使用
$rpm -qa | grep binutils
检查各个包是否被安装

使用
$rpm -ivf xxx.rpm
安装确实的包

观察一下软件包,发现多了unixODBC,以前我也用过,好东西,现在Oracle是不是想加强这方面。

三、创建用户组和用户
#groupadd asmadmin
#groupadd asmdba
#groupadd asmoper
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G asmadmin,asmdba,asmoper grid
#useradd -g oinstall -G dba,oper,asmdba oracle

四、调整参数和添加脚本
用户shell的限制
$vi /etc/security/limits.conf
grid                 soft    nproc   2047
grid                 hard    nproc   16384
grid                 soft    nofile  1024
grid                 hard    nofile  65536
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

$vi /etc/pam.d/login
session    required     pam_limits.so

$vi /etc/profile
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

$vi  /etc/csh.login
if ( $USER == "oracle" || $USER == "grid" ) then
        limit maxproc 16384
        limit descriptors 65536
endif


五、添加数据盘
最简单的方法,将设备设为grid用户和oinstall用户组给ASM使用。
我觉得这方法比较实在直接,没有必要去装asmlib。
#chown grid:oinstall /dev/sdb

六、创建文件夹(这步是成败的关键)
grid:
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid
ORACLE_SID=+ASM
oracle:
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database
ORACLE_SID=asmdb

#mkdir -p /opt/oracle/grid
#mkdir -p /opt/oracle/oracle
#mkdir -p /opt/oracle/app/grid
#mkdir -p /opt/oracle/app/database

#cd /opt
#chown -R grid:oinstall /opt/oracle/grid
#chown -R grid:oinstall /opt/oracle/app/grid
#chown -R oracle:oinstall /opt/oracle/oracle
#chown -R oracle:oinstall /opt/oracle/app/database

七、安装集群软件(图片省略)
1. 登陆grid用户,执行./runInstaller, 选择单实例安装

2. 更改ASM的查看设备的路径/dev/sdb,  并添加

3. 安装路径按照第六步中创建的目录
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid

4. 用户组选择,按照第三步创建的用户组,一般默认选好了。
asmadmin,asmdba,asmoper

5. 用root用户执行脚本,安装结束后,检查一下ASM后台进程
[oracle@ORA11GR2 ~]$ ps -ef | grep asm_
grid      6625     1  0 15:14 ?        00:00:00 asm_pmon_+ASM
grid      6627     1  0 15:14 ?        00:00:00 asm_vktm_+ASM
grid      6631     1  0 15:14 ?        00:00:00 asm_gen0_+ASM
grid      6633     1  0 15:14 ?        00:00:00 asm_diag_+ASM
grid      6635     1  0 15:14 ?        00:00:00 asm_psp0_+ASM
grid      6637     1  0 15:14 ?        00:00:01 asm_dia0_+ASM
grid      6639     1  0 15:14 ?        00:00:00 asm_mman_+ASM
grid      6641     1  0 15:14 ?        00:00:00 asm_dbw0_+ASM
grid      6643     1  0 15:14 ?        00:00:00 asm_lgwr_+ASM
grid      6645     1  0 15:14 ?        00:00:00 asm_ckpt_+ASM
grid      6647     1  0 15:14 ?        00:00:00 asm_smon_+ASM
grid      6649     1  0 15:14 ?        00:00:00 asm_rbal_+ASM
grid      6651     1  0 15:14 ?        00:00:00 asm_gmon_+ASM
grid      6653     1  0 15:14 ?        00:00:00 asm_mmon_+ASM
grid      6655     1  0 15:14 ?        00:00:00 asm_mmnl_+ASM
grid      7392     1  0 15:46 ?        00:00:00 asm_asmb_+ASM
grid      7396     1  0 15:46 ?        00:00:00 asm_o000_+ASM
oracle    7498  7347  0 15:51 pts/1    00:00:00 grep asm_

多了很多进程,要花时间看看有什么变化。

八、安装数据库软件(图片省略)
1. 登陆oracle用户,执行./runInstaller, 选择只安装数据库软件

2. 安装路径按照第六步中创建的目录
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database

3. 用户组选择,按照第三步创建的用户组,一般默认选好了。
dba, oper, asmdba

4. 用root用户执行脚本,安装结束。

九、DBCA创建数据库
1. 选择不发送邮件

2. 选择数据库名称asmdb

3. 选择不使用EM

4. 选择不是用归档和flashback

5. 选择使用ASM,选择+DATA

6. 一路默认选择,(在最后提示权限不足,但仍然继续安装)。

7. 退出后查看系统进程是否存在
$ps -ef | grep ora_
不存在

8. 使用sqlplus启动数据库(本来想看看有没有什么报错)
SQL>startup
居然平安起来了,惊讶啊。

9. 再次查看系统进程是否存在
[oracle@ORA11GR2 ~]$ ps -ef | grep ora_
oracle 7403 1 0 15:46 ? 00:00:00 ora_pmon_asmdb
oracle    7405     1  0 15:46 ?        00:00:00 ora_vktm_asmdb
oracle    7409     1  0 15:46 ?        00:00:00 ora_gen0_asmdb
oracle    7411     1  0 15:46 ?        00:00:00 ora_diag_asmdb
oracle    7413     1  0 15:46 ?        00:00:00 ora_dbrm_asmdb
oracle    7415     1  0 15:46 ?        00:00:00 ora_psp0_asmdb
oracle    7417     1  0 15:46 ?        00:00:00 ora_dia0_asmdb
oracle    7419     1  0 15:46 ?        00:00:00 ora_mman_asmdb
oracle    7421     1  0 15:46 ?        00:00:00 ora_dbw0_asmdb
oracle    7423     1  0 15:46 ?        00:00:00 ora_lgwr_asmdb
oracle    7425     1  0 15:46 ?        00:00:00 ora_ckpt_asmdb
oracle    7427     1  0 15:46 ?        00:00:00 ora_smon_asmdb
oracle    7429     1  0 15:47 ?        00:00:00 ora_reco_asmdb
oracle    7431     1  0 15:47 ?        00:00:00 ora_rbal_asmdb
oracle    7433     1  0 15:47 ?        00:00:00 ora_asmb_asmdb
oracle    7435     1  2 15:47 ?        00:00:03 ora_mmon_asmdb
oracle    7437     1  0 15:47 ?        00:00:00 ora_mmnl_asmdb
oracle    7439     1  0 15:47 ?        00:00:00 ora_d000_asmdb
oracle    7441     1  0 15:47 ?        00:00:00 ora_s000_asmdb
oracle    7446     1  0 15:47 ?        00:00:00 ora_mark_asmdb
oracle    7454     1  0 15:47 ?        00:00:00 ora_o000_asmdb
oracle    7462     1  0 15:47 ?        00:00:00 ora_qmnc_asmdb
oracle    7476     1  1 15:47 ?        00:00:01 ora_cjq0_asmdb
oracle    7478     1  0 15:47 ?        00:00:00 ora_q000_asmdb
oracle    7480     1  0 15:47 ?        00:00:00 ora_q001_asmdb
oracle    7491  7347  0 15:48 pts/1    00:00:00 grep ora_

有部分进程以前好像没有看过,以后要研究一番了。
ora_vktm_asmdb
ora_gen0_asmdb
ora_diag_asmdb
ora_psp0_asmdb
ora_dia0_asmdb
...

10.解锁scott用户查看自带的表,成功。
SQL>alter user scott account unlock;
SQL>conn scott/tiger;
SQL>select * from emp;

总结:
11gR1我没有装过,所以我拿10gR2做一个对比。
11gR2一共装了4次,头三次失败了,
总结原因有二,一是硬件配置较低512M内存,二是文件目录没有规划好。
单纯安装数据库不会有什么问题,基本和10gR2相同,
但是如果需要安装ASM或RAC有点麻烦了,Oracle建议创建两个用户grid和oracle,分别管理集群和数据库软件,而且官文里面描述得不是太清晰,还有点误导嫌疑。所以一定要看透官文加上自己分析理解。
最简单的理解就是完全分开两个用户的ORACLE_BASE和ORACLE_HOME。
grid:
ORACLE_BASE=/opt/oracle/grid
ORACLE_HOME=/opt/oracle/app/grid
ORACLE_SID=+ASM
oracle:
ORACLE_BASE=/opt/oracle/oracle
ORACLE_HOME=/opt/oracle/app/database
ORACLE_SID=asmdb

你可能感兴趣的:([置顶] RedHat 4 as 下安装Oracle11gR2,Cluster(ASM)和Database)