天天看點

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          //RHEL6CD光牒預設沒有該軟體包,可直接安裝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,如需轉載請自行聯系原作者