天天看点

RHEL6 64位ASM方式安装oracle 11gR2(一)

<a href="http://vnimos.blog.51cto.com/2014866/1221361#T1">一、安装前的准备</a>

<a href="http://vnimos.blog.51cto.com/2014866/1221361#T2">二、安装网格基础架构</a>

<a href="http://vnimos.blog.51cto.com/2014866/1221377#T3">三、安装数据库软件</a>

<a href="http://vnimos.blog.51cto.com/2014866/1221377#T4">四、创建监听</a>

<a href="http://vnimos.blog.51cto.com/2014866/1221377#T5">五、创建数据库实例</a>

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

<code># cat /etc/redhat-release</code>

<code>Red Hat Enterprise Linux Server release 6.2 (Santiago)</code>

<code># uname -a</code>

<code>Linux ora11g.vnimos.org 2.6.32-220.el6.x86_64 </code><code>#1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux</code>

<code># free -m</code>

<code>             </code><code>total       used       </code><code>free</code>     <code>shared    buffers     cached</code>

<code>Mem:          2008       1309        699          0         62        875</code>

<code>-/+ buffers</code><code>/cache</code><code>:        371       1637</code>

<code>Swap:          509          0        509</code>

<code># fdisk -l</code>

<code>Disk </code><code>/dev/sda</code><code>: 32.2 GB, 32212254720 bytes</code>

<code>255 heads, 63 sectors</code><code>/track</code><code>, 3916 cylinders</code>

<code>Units = cylinders of 16065 * 512 = 8225280 bytes</code>

<code>   </code><code>Device Boot      Start         End      Blocks   Id  System</code>

<code>/dev/sda1</code>   <code>*           1           5       40131   83  Linux</code>

<code>/dev/sda2</code>               <code>6        2172    17406427+  8e  Linux LVM</code>

<code>/dev/sda3</code>            <code>2173        2237      522112+  82  Linux swap / Solaris</code>

<code>/dev/sda4</code>            <code>2238        3916    13486567+   5  Extended</code>

<code>/dev/sda5</code>            <code>2238        2542     2449881   83  Linux</code>

<code>/dev/sda6</code>            <code>2543        2847     2449881   83  Linux</code>

<code>/dev/sda7</code>            <code>2848        3152     2449881   83  Linux</code>

<code>/dev/sda8</code>            <code>3153        3457     2449881   83  Linux</code>

<code>/dev/sda9</code>            <code>3458        3765     3077120   83  Linux</code>

<code># df -h</code>

<code>Filesystem            Size  Used Avail Use% Mounted on</code>

<code>/dev/mapper/Vol0-root</code>

<code>                      </code><code>7.6G  3.2G  4.1G  41% /</code>

<code>/dev/mapper/Vol0-oracle</code>

<code>                      </code><code>8.6G  101M  747M  1% </code><code>/u01</code>

<code>/dev/sda1</code>             <code>38M   16M   21M  42% </code><code>/boot</code>

<code>tmpfs                1005M     0 1005M   0% </code><code>/dev/shm</code>

如果没有满足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 网络参数的配置

<a target="_blank" href="http://blog.51cto.com/attachment/201306/185441535.png"></a>

<code># cat /etc/sysconfig/network</code>

<code>NETWORKING=</code><code>yes</code>

<code>NETWORKING_IPV6=no</code>

<code>HOSTNAME=ora11g.vnimos.org</code>

<code># service NetworkManager stop</code>

<code># chkconfig NetworkManager off</code>

<code># cat /etc/sysconfig/network-scripts/ifcfg-eth0</code>

<code>DEVICE=eth0</code>

<code>BOOTPROTO=static</code>

<code>HWADDR=00:0C:29:32:C3:9C</code>

<code>IPADDR=192.168.0.90</code>

<code>NETMASK=255.255.255.0</code>

<code>ONBOOT=</code><code>yes</code>

<code># cat /etc/hosts</code>

<code>127.0.0.1       localhost.localdomain   localhost</code>

<code>192.168.0.90    ora11g.vnimos.org       ora11g</code>

<code>//</code><code>必须至少包含以上两行、三列(IP 长名 短名),否则安装的时候将会出现”Oracle Net Configuration Assistant failed”的错误</code>

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

<code># groupadd oinstall</code>

<code># groupadd dba</code>

<code># useradd -g oinstall -G dba,root oracle</code>

<code># echo "oracle" | passwd --stdin oracle</code>

<code># mkdir -p /u01/app/{oracle,oraInventory}</code>

<code># chown oracle:oinstall /u01/app/oracle</code>

<code># chown oracle:oinstall /u01/app/oraInventory</code>

<code># vi /home/oracle/.bash_profile</code>

<code>export</code> <code>ORACLE_BASE=</code><code>/u01/app/oracle</code>

<code>export</code> <code>ORACLE_HOME=$ORACLE_BASE</code><code>/product/11</code><code>.2.0</code><code>/dbhome_1</code>

<code>export</code> <code>ORACLE_SID=orcl</code>

<code>export</code> <code>LD_LIBRARY_PATH=$ORACLE_HOME</code><code>/lib</code>

<code>export</code> <code>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:</code><code>/usr/lib</code><code>:</code><code>/usr/X11R6/lib</code>

<code>export</code> <code>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME</code><code>/rdbms/lib</code>

<code>export</code> <code>CLASS_PATH=$ORACLE_HOME</code><code>/JRE</code><code>:$ORACLE_HOME</code><code>/jlib</code>

<code>export</code> <code>CLASS_PATH=$CLASS_PATH:$ORACLE_HOME</code><code>/rdbms/jlib</code>

<code>export</code> <code>CLASS_PATH=$CLASS_PATH:$ORACLE_HOME</code><code>/network/jlib</code>

<code>export</code> <code>TNS_ADMIN=$ORACLE_HOME</code><code>/network/admin</code>

<code>export</code> <code>NLS_LANG=american_america.AL32UTF8</code>

<code>export</code> <code>ORACLE_TERM=xterm</code>

<code>export</code> <code>EDITOR=</code><code>vi</code>

<code>export</code> <code>PATH=$ORACLE_HOME</code><code>/bin</code><code>:$PATH</code>

<code>export</code> <code>LANG=en_US</code>

<code># vi /etc/sysctl.conf</code>

<code>kernel.shmmax = 1073741824                     </code><code>//</code><code>物理内存的一半(字节)</code>

<code># sysctl -p</code>

32

33

34

35

36

37

38

39

40

41

42

<code>/dev/sda9</code>            <code>3458        3916     3686886   83  Linux</code>

<code># vi /etc/sysconfig/rawdevices</code>

<code>/dev/raw/raw5</code>  <code>/dev/sda5</code>

<code>/dev/raw/raw6</code>  <code>/dev/sda6</code>

<code>/dev/raw/raw7</code>  <code>/dev/sda7</code>

<code>/dev/raw/raw8</code>  <code>/dev/sda8</code>

<code>/dev/raw/raw9</code>  <code>/dev/sda9</code>

<code># chmod +x /etc/rc.d/init.d/rawdevices</code>

<code># chkconfig --add rawdevices</code>

<code># chkconfig rawdevices on</code>

<code># service rawdevices start</code>

<code>Assigning devices:</code>

<code>           </code><code>/dev/raw/raw5</code>  <code>--&gt;   </code><code>/dev/sda5</code>

<code>/dev/raw/raw5</code><code>: bound to major 8, minor 5</code>

<code>           </code><code>/dev/raw/raw6</code>  <code>--&gt;   </code><code>/dev/sda6</code>

<code>/dev/raw/raw6</code><code>: bound to major 8, minor 6</code>

<code>           </code><code>/dev/raw/raw7</code>  <code>--&gt;   </code><code>/dev/sda7</code>

<code>/dev/raw/raw7</code><code>: bound to major 8, minor 7</code>

<code>           </code><code>/dev/raw/raw8</code>  <code>--&gt;   </code><code>/dev/sda8</code>

<code>/dev/raw/raw8</code><code>: bound to major 8, minor 8</code>

<code>           </code><code>/dev/raw/raw9</code>  <code>--&gt;   </code><code>/dev/sda9</code>

<code>/dev/raw/raw9</code><code>: bound to major 8, minor 9</code>

<code>done</code>

<code># raw -qa</code>

2.1 安装grid

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

<code># rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm          //RHEL6光盘默认没有该软件包,可直接安装RHEL5的rpm软件包</code>

<code># 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*"</code>

<code>//</code><code>以上的软件必须包含32位的软件包,否则如果缺少,可能在安装大约到65%,开始编译的时候出现</code><code>"Error in invoking target 'all_no_orcl' of makefile"</code><code>的错误</code>

<code># unzip -d /stage/ linux.x64_11gR2_grid.zip</code>

<code># chown -R oracle.oinstall /stage/grid</code>

<code># xhost +</code>

<code>access control disabled, clients can connect from any host</code>

<code># su - oracle</code>

<code>$ </code><code>cd</code> <code>/stage/grid/</code>

<code>$ .</code><code>/runInstaller</code>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654639.png"></a>

2.选择支持的语言:

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654163.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654782.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654719.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654469.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194654475.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655936.png"></a>

7. 定义Inventory位置

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655390.png"></a>

8. 执行先决条件检查

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

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

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655822.png"></a>

$ su - root

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655279.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655621.png"></a>

9. 确认安装概要

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194655250.png"></a>

10. 开始安装

<a target="_blank" href="http://blog.51cto.com/attachment/201306/195917105.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194657420.png"></a>

如果执行脚本的时候停在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

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194658328.png"></a>

10.2 继续安装

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194658375.png"></a>

11. 安装完成

<a target="_blank" href="http://blog.51cto.com/attachment/201306/194658498.png"></a>

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

<code>$ . oraenv</code>

<code>ORACLE_SID = [orcl] ? +ASM</code>

<code>The Oracle base </code><code>for</code> <code>ORACLE_HOME=</code><code>/u01/app/oracle/product/11</code><code>.2.0</code><code>/grid</code> <code>is </code><code>/u01/app/oracle</code>

<code>$ </code><code>env</code> <code>| </code><code>grep</code> <code>SID</code>

<code>ORACLE_SID=+ASM</code>

<code>$ asmca</code>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/200614735.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/200614698.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/200614898.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/200615525.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201306/200615221.png"></a>

2.3 安装后的检查、配置

<code>检查是否正确安装:</code>

<code>$ </code><code>echo</code> <code>$ORACLE_SID</code>

<code>+ASM</code>

<code>$ .</code><code>/crsctl</code> <code>check has</code>

<code>CRS-4638: Oracle High Availability Services is online</code>

<code>$ .</code><code>/crs_stat</code> <code>-t</code>

<code>Name           Type           Target    State     Host</code>

<code>------------------------------------------------------------</code>

<code>ora.DATA.dg    ora....up.</code><code>type</code> <code>ONLINE    ONLINE    ora11g</code>

<code>ora.FRA.dg     ora....up.</code><code>type</code> <code>ONLINE    ONLINE    ora11g</code>

<code>ora.asm        ora.asm.</code><code>type</code>   <code>ONLINE    ONLINE    ora11g</code>

<code>ora.cssd       ora.cssd.</code><code>type</code>  <code>ONLINE    ONLINE    ora11g</code>

<code>ora.diskmon    ora....on.</code><code>type</code> <code>ONLINE    ONLINE    ora11g</code>

<code>设置开机自动启动crs:</code>

<code># tail -n 1 /etc/inittab                           //安装完成默认会向inittab文件添加该记录</code>

<code>h1:35:respawn:</code><code>/etc/init</code><code>.d</code><code>/init</code><code>.ohasd run &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1 &lt;</code><code>/dev/null</code>

<code># cat &gt;&gt; /etc/rc.local &lt;&lt;EOF                       //RHEL6必须手动添加该记录</code>

<code>/etc/init</code><code>.d</code><code>/init</code><code>.ohasd run &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1 &lt;</code><code>/dev/null</code> <code>&amp;</code>

<code>EOF</code>

2.4 卸载、重装

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

<code>#rm -rf /etc/ora*</code>

<code>#vi /etc/inittab</code>

<code>h1:35:respawn:</code><code>/etc/init</code><code>.d</code><code>/init</code><code>.ohasdrun &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1 &lt;</code><code>/dev/null</code>            <code>//</code><code>删除此行</code>

<code>#rm -rf /u01/app/oracle/product/11.2.0/grid/                               //删除grid的安装文件</code>

<code># for i in {5..9} ;do dd if=/dev/zero of=/dev/raw/raw$i bs=1024 count=10 ;done //低格裸设备(清除ASM磁盘组信息)</code>

     本文转自Vnimos51CTO博客,原文链接:http://blog.51cto.com/vnimos/1221361,如需转载请自行联系原作者