一、安装前的准备
1.1 确定操作系统环境
# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 6.2 (Santiago)# uname -aLinux 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 cachedMem: 2008 1309 699 0 62 875-/+ buffers/cache: 371 1637Swap: 509 0 509# fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylindersUnits = 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 -hFilesystem 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% /boottmpfs 1005M 0 1005M 0% /dev/shm 如果没有满足1G内存的要求,虽然对安装的影响也不是很大,但会在安装正式开始前收到一个先决条件检查不通过的“友情警告”信息。 Swap交换区大小与物理内存大小的比例关系的一般规律如下:
这边仅用于测试,故只分配了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 网络参数的配置
# cat /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=ora11g.vnimos.org# service NetworkManager stop# chkconfig NetworkManager off# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticHWADDR=00:0C:29:32:C3:9CIPADDR=192.168.0.90NETMASK=255.255.255.0ONBOOT=yes# cat /etc/hosts127.0.0.1 localhost.localdomain localhost192.168.0.90 ora11g.vnimos.org ora11g//必须至少包含以上两行、三列(IP 长名 短名),否则安装的时候将会出现”Oracle Net Configuration Assistant failed”的错误 |
1.3 oracle用户环境变量、系统参数的配置
# 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_profileexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/X11R6/libexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/rdbms/libexport CLASS_PATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlibexport CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/rdbms/jlibexport CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/network/jlibexport TNS_ADMIN=$ORACLE_HOME/network/adminexport NLS_LANG=american_america.AL32UTF8export ORACLE_TERM=xtermexport EDITOR=viexport PATH=$ORACLE_HOME/bin:$PATHexport LANG=en_US# vi /etc/sysctl.confkernel.shmmax = 1073741824 //物理内存的一半(字节)# sysctl -p |
1.4 绑定裸设备(用于创建ASM磁盘组,更详细的内容请参考:)
# fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylindersUnits = 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 startAssigning 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 9done# 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用户执行该脚本即可,不需要手动调整相关的系统参数配置了。
# 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)
$ . oraenvORACLE_SID = [orcl] ? +ASMThe Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle$ env | grep SIDORACLE_SID=+ASM$ asmca |
2.3 安装后的检查、配置
检查是否正确安装:$ . oraenvORACLE_SID = [orcl] ? +ASMThe Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle$ echo $ORACLE_SID+ASM$ ./crsctl check hasCRS-4638: Oracle High Availability Services is online$ ./crs_stat -tName Type Target State Host------------------------------------------------------------ora.DATA.dg ora....up.type ONLINE ONLINE ora11gora.FRA.dg ora....up.type ONLINE ONLINE ora11gora.asm ora.asm.type ONLINE ONLINE ora11gora.cssd ora.cssd.type ONLINE ONLINE ora11gora.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 > /etc/rc.local < |
2.4 卸载、重装
如果grid安装失败,需要卸载干净才能重新安装,否则仍然安装不成功。
#rm -rf /etc/ora*#vi /etc/inittabh1:35:respawn:/etc/init.d/init.ohasdrun >/dev/null 2>&1 |
未完,后续请见: