1.1 肯定操做系統環境服務器
# 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交換區大小與物理內存大小的比例關係的通常規律以下:架構
這邊僅用於測試,故只分配了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/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用戶環境變量、系統參數的配置
# 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)
# 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 |
2、 安裝網格基礎架構(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)
$ . 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 安裝後的檢查、配置
檢查是否正確安裝: $ . 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安裝失敗,須要卸載乾淨才能從新安裝,不然仍然安裝不成功。
#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(二)