本文转载自 http://vnimos.blog.51cto.com/2014866/1221361

一、安装前的准备

1.1 确定操作系统环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)
# uname -a
Linux ora11g.vnimos.org 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
# free -m
             total       used       free     shared    buffers     cached
Mem:          2008       1309        699          0         62        875
-/+ buffers/cache:        371       1637
Swap:          509          0        509
# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           5       40131   83  Linux
/dev/sda2               6        2172    17406427+  8e  Linux LVM
/dev/sda3            2173        2237      522112+  82  Linux swap / Solaris
/dev/sda4            2238        3916    13486567+   5  Extended
/dev/sda5            2238        2542     2449881   83  Linux
/dev/sda6            2543        2847     2449881   83  Linux
/dev/sda7            2848        3152     2449881   83  Linux
/dev/sda8            3153        3457     2449881   83  Linux
/dev/sda9            3458        3765     3077120   83  Linux
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/Vol0-root
                      7.6G  3.2G  4.1G  41% /
/dev/mapper/Vol0-oracle
                      8.6G  101M  747M  1% /u01
/dev/sda1             38M   16M   21M  42% /boot
tmpfs                1005M     0 1005M   0% /dev/shm

如果没有满足1G内存的要求,虽然对安装的影响也不是很大,但会在安装正式开始前收到一个先决条件检查不通过的“友情警告”信息。

Swap交换区大小与物理内存大小的比例关系的一般规律如下:

  • 如果物理内存在1G 到2G 之间,Swap 分配大小建议是物理内存的1.5倍;

  • 如果物理内存在2G 到16G 之间,Swap 建议与物理内存大小保持一致;

  • 如果物理内存在16G 以上,Swap 大小建议保证有16G即可。

这边仅用于测试,故只分配了512M的swap空间,可以忽略警告信息。

因为Oracle 11gR2中,ASM必须单独安装Grid Infrastructure,再加上数据库软件的安装,所需要的磁盘大小一般不超过8G,所以应保证/u01目录所在的文件系统可用空间在8G以上即可。

数据库文件将采用ASM方式存储,这里用了4个2.5G的raw分区用于活动的数据库文件+DATA的ASM磁盘组,1个3G的raw分区用于闪回恢复区+FRA的ASM磁盘组

因为在安装过程中,有一部分数据会写入到“/tmp”目录下,建议该目录所在的文件系统空间大小不要小于1G

1.2 网络参数的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ora11g.vnimos.org
# service NetworkManager stop
# chkconfig NetworkManager off
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:32:C3:9C
IPADDR=192.168.0.90
NETMASK=255.255.255.0
ONBOOT=yes
# cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.90    ora11g.vnimos.org       ora11g
//必须至少包含以上两行、三列(IP 长名 短名),否则安装的时候将会出现”Oracle Net Configuration Assistant failed”的错误

1.3 oracle用户环境变量、系统参数的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba,root oracle
# echo "oracle" | passwd --stdin oracle
# mkdir -p /u01/app/{oracle,oraInventory}
# chown oracle:oinstall /u01/app/oracle
# chown oracle:oinstall /u01/app/oraInventory
# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/X11R6/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/rdbms/lib
export CLASS_PATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib
export CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/rdbms/jlib
export CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/network/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=american_america.AL32UTF8
export ORACLE_TERM=xterm
export EDITOR=vi
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=en_US
# vi /etc/sysctl.conf
kernel.shmmax = 1073741824                     //物理内存的一半(字节)
# sysctl -p

1.4 绑定裸设备(用于创建ASM磁盘组,更详细的内容请参考:http://vnimos.blog.51cto.com/2014866/1220666

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           5       40131   83  Linux
/dev/sda2               6        2172    17406427+  8e  Linux LVM
/dev/sda3            2173        2237      522112+  82  Linux swap / Solaris
/dev/sda4            2238        3916    13486567+   5  Extended
/dev/sda5            2238        2542     2449881   83  Linux
/dev/sda6            2543        2847     2449881   83  Linux
/dev/sda7            2848        3152     2449881   83  Linux
/dev/sda8            3153        3457     2449881   83  Linux
/dev/sda9            3458        3916     3686886   83  Linux
# vi /etc/sysconfig/rawdevices
/dev/raw/raw5  /dev/sda5
/dev/raw/raw6  /dev/sda6
/dev/raw/raw7  /dev/sda7
/dev/raw/raw8  /dev/sda8
/dev/raw/raw9  /dev/sda9
# chmod +x /etc/rc.d/init.d/rawdevices
# chkconfig --add rawdevices
# chkconfig rawdevices on
# service rawdevices start
Assigning devices:
           /dev/raw/raw5  -->   /dev/sda5
/dev/raw/raw5: bound to major 8, minor 5
           /dev/raw/raw6  -->   /dev/sda6
/dev/raw/raw6: bound to major 8, minor 6
           /dev/raw/raw7  -->   /dev/sda7
/dev/raw/raw7: bound to major 8, minor 7
           /dev/raw/raw8  -->   /dev/sda8
/dev/raw/raw8: bound to major 8, minor 8
           /dev/raw/raw9  -->   /dev/sda9
/dev/raw/raw9: bound to major 8, minor 9
done
# raw -qa
/dev/raw/raw5: bound to major 8, minor 5
/dev/raw/raw6: bound to major 8, minor 6
/dev/raw/raw7: bound to major 8, minor 7
/dev/raw/raw8: bound to major 8, minor 8
/dev/raw/raw9: bound to major 8, minor 9

二、 安装网格基础架构(Grid Infrastructure)

2.1 安装grid

Oracle 11gR2的安装界面跟之前版本比较起来有很大的不同,整体界面更加清新,更加简洁了,新增了fixup脚本,在安装过程中,安装程序将会检查推荐的操作系统内核参数设置以及必须的软件包,对于不符合要求的部分将会自动生成runfixup.sh,只需要手动以root用户执行该脚本即可,不需要手动调整相关的系统参数配置了。

1
2
3
4
5
6
7
8
9
10
# rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm          //RHEL6光盘默认没有该软件包,可直接安装RHEL5的rpm软件包
# yum -y install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel "compat*"
//以上的软件必须包含32位的软件包,否则如果缺少,可能在安装大约到65%,开始编译的时候出现"Error in invoking target 'all_no_orcl' of makefile"的错误
# unzip -d /stage/ linux.x64_11gR2_grid.zip
# chown -R oracle.oinstall /stage/grid
# xhost +
access control disabled, clients can connect from any host
# su - oracle
$ cd /stage/grid/
$ ./runInstaller

1. 为一台独立的服务器安装并配置网格基础架构:

2.选择支持的语言:

3. 创建ASM磁盘组(冗余类型High:双镜像Normal:单镜像[默认], External:不做冗余)

4. 为账户创建统一的ASM密码:oracle_4U

5. 选择特权操作系统组:dba (忽略告警:Yes)

6. 定义安装位置(修改SoftwareLocation:/u01/app/oracle/product/11.2.0/grid )

7. 定义Inventory位置

8. 执行先决条件检查

根据提示安装好缺少的软件包(图中所提示的软件包由于已安装了更高版本了,所以可以忽视警告)

# yum -y install "libaio*" "libaio-devel*" "libgcc*" "libstdc++*" "unixODBC*" "unixODBC-devel*"

选择Fix & Check Again (根据提示框以root身份登录shell,执行完/tmp/CVU_11.2.0.1.0_oracle/runfixup.sh脚本,返回窗口点击OK)

$ su - root

# /tmp/CVU_11.2.0.1.0_oracle/runfixup.sh

勾选忽略所有,直接进入下一步

9. 确认安装概要

10. 开始安装

10.1 以root身份执行以下两条脚本

如果执行脚本的时候停在Adding daemon to inittab,这是 11.2.0.1和11.2.0.2 在RHEL6上的bug,可以以root身份执行以下命令:

# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

10.2 继续安装

11. 安装完成

2.2 创建FRA磁盘组(Fast Recovery Area)

1
2
3
4
5
6
$ . oraenv
ORACLE_SID = [orcl] ? +ASM
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle
$ env | grep SID
ORACLE_SID=+ASM
$ asmca

2.3 安装后的检查、配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
检查是否正确安装:
$ . oraenv
ORACLE_SID = [orcl] ? +ASM
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle
$ echo $ORACLE_SID
+ASM
$ ./crsctl check has
CRS-4638: Oracle High Availability Services is online
$ ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    ora11g
ora.FRA.dg     ora....up.type ONLINE    ONLINE    ora11g
ora.asm        ora.asm.type   ONLINE    ONLINE    ora11g
ora.cssd       ora.cssd.type  ONLINE    ONLINE    ora11g
ora.diskmon    ora....on.type ONLINE    ONLINE    ora11g
设置开机自动启动crs:
# tail -n 1 /etc/inittab                           //安装完成默认会向inittab文件添加该记录
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
# cat >> /etc/rc.local <<EOF                       //RHEL6必须手动添加该记录
/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null &
EOF

2.4 卸载、重装

如果grid安装失败,需要卸载干净才能重新安装,否则仍然安装不成功。

1
2
3
4
5
#rm -rf /etc/ora*
#vi /etc/inittab
h1:35:respawn:/etc/init.d/init.ohasdrun >/dev/null 2>&1 </dev/null            //删除此行
#rm -rf /u01/app/oracle/product/11.2.0/grid/                               //删除grid的安装文件
# for i in {5..9} ;do dd if=/dev/zero of=/dev/raw/raw$i bs=1024 count=10 ;done //低格裸设备(清除ASM磁盘组信息)

未完,后续请见:RHEL6 ASM方式安装oracle 11gR2(二)

RHEL6 64位ASM方式安装oracle 11gR2(一)的更多相关文章

  1. RHEL6 64位ASM方式安装oracle 11gR2(二)

    本文转载自:http://vnimos.blog.51cto.com/2014866/1221377 三.安装数据库软件 1 2 3 4 5 6 7 8 # unzip -d /stage/ linu ...

  2. ubuntu 12.04 (64位)下安装oracle 11g过程及问题总结

    最近公司用到oracle,在ubuntu64位安装了一下,碰到了一些问题,在网上搜索到了一些答案,在此作为笔记记录下来. 1.首先下载oracle并解压不再赘述. 2.安装依赖包 sudo apt-g ...

  3. RHEL6 64位系统安装ORACLE 10g 64bit 数据库

    记得去年4月份的时候,为公司部署测试环境和UAT环境时,在红帽RHEL6 64位系统安装ORACLE 10g 64位数据库时遇到了许多小问题,当时匆匆忙忙也没记录一下这些问题,前几天在虚拟机安装ORA ...

  4. 【Oracle】在WIN NT 64位环境下安装win64_11gR2_database。并用PL/SQL连接

    因为现在大多数服务器环境均为64位环境,而且有一部分使用的windows server的环境,在此做了一番小研究,如何在64位环境下安装oracle11g_64bit服务端 (1)首先www.orac ...

  5. RHEL5 X86-64上安装Oracle 11gR2演示样例与总结

    进入Oracle DBA行业也有好几年了,可是说到安装Oracle的经验,我还真不是特别多,印象中刚開始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理.机制也都有一定的了解后 ...

  6. RHEL 无图形界面安装oracle 11gr2

    RHEL7.3  无图形界面安装oracle 11gr2  使用纯命令安装方式.提供RHEL全量系统镜像.   1.oracle官方下载地址:https://www.oracle.com/techne ...

  7. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  8. 64位ubuntu下安装微博客户端的方法

    最近安装了12.04的ubuntu系统,在unbutu提供的软件中心找不到微博客户端的应用,但在新浪的http://sinatair.sinaapp.com/下找到了官方的客户端. 于是下载了linu ...

  9. win8 64位系统,安装JDK的步骤及其环境配置

    工具/原料 jdk-8u51-windows-x64.exe 下载地址:::http://www.cr173.com/soft/55503.html#address jdk 安装步骤 1:到oracl ...

随机推荐

  1. PAT1037. Magic Coupon (25)

    #include <iostream> #include <algorithm> #include <vector> using namespace std; in ...

  2. python 获取探针页面,自动查询公司出口

    在一些渗透当中,我们需要批量探针出口来达到我们的目的. 所以就有了这个丑陋简洁的小脚本. #!/usr/bin/env python #-*- coding:utf- -*- import sys i ...

  3. java 对类型的基本操作小结

    1.json 字符串转换成对象 SyncCarriageStatusDTO dto= JSON.parseObject(value,SyncCarriageStatusDTO.class); List ...

  4. Android -- 利用ContentProvider 读取和写入短信

    1. 读写短信 示例代码 均需要先获得读写短信的权限 <uses-permission android:name="android.permission.WRITE_SMS" ...

  5. QSS设置字体不起作用

    正确的QSS QLabel{ font-family: "Microsoft YaHei"; font-weight:bold; font-size:14px; color: #3 ...

  6. PHP 环境搭建(win7+php5.6+apache或nginx)

    安装介质 PHP5.6.16(php-5.6.16-Win32-VC11-x64.zip) Apache2.4.18(httpd-2.4.18-win64-VC14.zip) nginx (nginx ...

  7. serialVersionUID 作用

    一个类在序列化时,用来记录当前类的版本号.在反序列化时,首先获取当前类的版本号,不一致则报异常. 若版本号一致,但两个类不一致.写肯定全部写进去.但提取时 类若没有这个字段,则不提取.若提取类多个字段 ...

  8. python基础之网络基础

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...

  9. vs中: 错误,未定义的标识符getline 的解决方法

    这种情况一般都是,在使用的时候没有include<string>而导致的,加上就可以正确编译通过

  10. TCP与UDP(实时通讯)

    1.TCP使用 导入AsyncSocket资源文件夹,此文件是arc混编,加入库文件,如下图: #import "ViewController.h" #import "A ...