11gRAC在AIX上基本安裝引數解析

yingyifeng306發表於2015-01-20
網路需求
注意:網路IP需求需要和聯通人員溝通,確保IP不存在不衝突
每個節點一個public IP 
每個節點一個public VIP
每個節點一個private IP
一個用於叢集的SCAN名稱和一個和public IP同網段的IP
l public IP,VIP和private IP,scan vip寫入/etc/hosts檔案


除錯網路系統引數(兩節點均要執行)
(具體的值設定參考最小安裝文件給出建議)
/usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500  指定為 TCP 短暫埠分配的最大埠號和最小埠號
/usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500  指定為 UDP 短暫埠分配的最大埠號


修改命令 vi /etc/rc.net
if [ -f /usr/sbin/no ] then
no -r -o ipqmaxlen=521             
no -p -o rfc1323=1                   
no -p -o sb_max=1500000
no -p -o tcp_recvspace=65536  //接收資料時設定系統預設套接字緩衝區大小。這影響 TCP 使用的視窗大小
no -p -o tcp_sendspace=65536
no -p -o udp_recvspace=1351680 
no -p -o udp_sendspace=135168
fi
修改最大程式數:
chdev -l sys0 -a maxuproc=16384
chdev -l sys0 -a minpout=4096
chdev -l sys0 -a minpout=8193
chdev -l sys0 -a ncargs=128
將udp_sendspace引數設定成為:[(DB_BLOCK_SIZE*DB_FILE_MULTIBLOCK_READ_COUNT)+4096],並且不小於65536;
將udp_recvspace引數設定為>=4*udp_sendspace;


ncargs 用途:指定執行 exec() 子例程時,ARG/ENU 列表(大小為 4 KB 的塊)允許的最大大小。
ipqmaxlen:指定接收包的數目,這些包可以列在 IP 協議輸入佇列 透過檢查netstat -s | grep ipintrq檢視是否有溢位判斷該值是否需要增大
rfc1323:用途:
啟用 TCP 最佳化,設定 RFC 為 1323(TCP 擴充套件到高效能)。值為 1 表示 tcp_sendspace and tcp_recvspace 可以超過 64 KB。
tcp_recvspace:預設值:16384 位元組,lsattr -El interface or ifconfig interface 設定套接字緩衝區大小為 16 KB(16,384)會改善在標準 Ethernet 和 Token-Ring 網路上的效能。預設值是 16384
tcp_sendspace 
用途:傳送資料時設定系統預設套接字緩衝區大小。預設值:16384 位元組,
sb_max:指定 TCP 和 UDP 套接字所允許的最大緩衝區大小。限制 setsockopt、udp_sendspace、udp_recvspace、tcp_sendspace 和 tcp_recvspace
請增大此大小,並且,最好設定為 4096 的倍數。您應該將其設定成接近於最大套接字緩衝區限制的兩到四倍。


TCP(Transmission Control Protocol,傳輸控制協議)是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。一個TCP連線必須要經過三次“對話”才能建立起來,其中的過程非常複雜,我們這裡只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機A向主機B發出連線請求資料包:“我想給你發資料,可以嗎?”,這是第一次對話;主機B向主機A傳送同意連線和要求同步(同步就是兩臺主機一個在傳送,一個在接收,協調工作)的資料包:“可以,你什麼時候發?”,這是第二次對話;主機A再發出一個資料包確認主機B的要求同步:“我現在就發,你接著吧!”,這是第三次對話。三次“對話”的目的是使資料包的傳送和接收同步,經過三次“對話”之後,主機A才向主機B正式傳送資料。 


UDP(User Data Protocol,使用者資料包協議)是與TCP相對應的協議。它是面向非連線的協議,它不與對方建立連線,而是直接就把資料包傳送過去! 
  UDP適用於一次只傳送少量資料、對可靠性要求不高的應用環境。比如,我們經常使用“ping”命令來測試兩臺主機之間TCP/IP通訊是否正常,其實“ping”命令的原理就是向對方主機傳送UDP資料包,然後對方主機確認收到資料包,如果資料包是否到達的訊息及時反饋回來,那麼網路就是通的。例如,在預設狀態下,一次“ping”操作傳送4個資料包(如圖2所示)。大家可以看到,傳送的資料包數量是4包,收到的也是4包(因為對方主機收到後會發回一個確認收到的資料包)。這充分說明了UDP協議是面向非連線的協議,沒有建立連線的過程。正因為UDP協議沒有連線的過程,所以它的通訊效果高;但也正因為如此,它的可靠性不如TCP協議高。QQ就使用UDP發訊息,因此有時會出現收不到訊息的情況。 


tcp協議和udp協議的差別 
TCP UDP 
是否連線 面向連線 面向非連線 
傳輸可靠性 可靠 不可靠 
應用場合 傳輸大量資料 少量資料 
速度 慢 快

調整儲存引數(針對ASM磁碟)
FSCSI 裝置屬性 FC_ERR_RECOV 修改成 FAST_FAIL
chdev -l fscsi0 -a fc_err_recov=fast_fail -P
chdev -l fscsi0 -a dyntrk=yes

建立使用者,組和檔案系統
建立GRID和ORACLE使用者
建立oinstall組DBA組
所有節點的GRID和ORACLE使用者名稱和組名要相同
所有節點的GRID和ORACLE使用者ID和組ID必須相同
建立/u01檔案系統  作為GRID_BASE和ORACLE_BASE目錄
建立/u01/oracle/app/ /11.2.0/grid目錄用於Grid Infrastructure軟體  
建立/u01/oracle/app/product檔案系統,作為ORACLE_BASE 
建立/u01/oracle/app/product/11.2.0/用於Database軟體
建立命令
mkgroup -A id=1001 oinstall
 mkgroup -A id=1002 dba
mkuser -a id=1001 pgrp=oinstall groups=oinstall,dba fsize=-1 cpu=-1 data=-1 core=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
passwd grid
mkuser -a id=1002 pgrp=oinstall groups=oinstall,dba fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
passwd oracle
透過lsuser -a capabilities grid 檢視使用者的capabilities 

使用者shell限制
1. 更改root使用者的shell限制,要求如下
2. fsize = -1   //定義使用者的程式可以建立或擴充套件的最大檔案的軟限制。表示 512 位元組塊的數目。要使檔案大於 2G,請指定 -1。此屬性的最小值為 8192。
3. core = -1  //指定使用者程式可以建立的最大核心檔案的軟限制。Value 引數是一個整數,表示 512 位元組塊的數目
4. cpu = -1   //標識使用者程式可以使用的系統單位時間(以秒為單位)的最大量的軟限制。Value 引數是一個整數。所有負值都視為無限。
5. data = -1  //指定使用者程式的最大資料段的軟限制。表示 512 位元組塊的數目。此屬性的最小可允許值為 1272。請指定 -1,以使它無限
6. rss = -1   //使用者程式可以分配的實體記憶體最大量的軟限制。Value 值是一個十進位制整數字符串,以 512 位元組塊為單位。系統當前不強制該值
7. stack = -1  //指定使用者程式的最大程式堆疊段的軟限制。Value 引數是一個整數,表示要分配的 512 位元組塊的數目。對於此屬性的最小可允許值為 49
8. nofiles = -1  //定義使用者程式可以一次開啟的檔案描述符數的軟限制。Value 引數是一個整數。
更改命令:smit chuser

信任關係設定

設定前先修改ssh配置檔案引數:
vi /etc/ssh/sshd_config 
#LoginGraceTime 2m.修改為LoginGraceTime 0
grid使用者:
 mhdb1:
#su – grid
     $mkdir .ssh
     $cd .ssh
     $ssh-keygen –t rsa    //一路回車
     $ssh-keygen –t dsa
     $cat id_dsa.pub>authorized_keys
    $cat id_rsa.pub>>authorized_keys
   mhdb2:
   #su – grid
      $mkdir .ssh
      $cd .ssh
      $ssh-keygen –t rsa    //一路回車
      $ssh-keygen –t dsa
   mhdb1:
      #su – grid
      $cd .ssh
      $scp authorized_keys mhdb2:/home/grid/.ssh/              //選擇yes  輸入mhdb2 grid使用者密碼
   mhdb2:
      #su – grid
   $cd .ssh
   $cat id_dsa.pub>>authorized_keys
   $cat id_rsa.pub>>authorized_keys
   $scp authorized_keys mhdb1:/home/grid/.ssh/               //選擇yes 輸入test1 grid使用者密碼
   
   mhdb1:
     #su – grid
     $ssh mhdb2 date             //選擇yes,不需輸入密碼
     $ssh mhdb1 date             //選擇yes
   test2:
     #su – grid
     $ssh mhdb1 date
    $ssh mhdb2 date
//如果不需要輸入密碼,則配置成功
//oracle使用者相同配置

時間同步
使用oracle時間同步服務
mv /etc/ntp.conf /etc/ntp.conf.bak
環境變數設定
檢查時區和時間一致性
$ echo $TZ
CST6CDT
$date
$ Fri Oct 14 09:41:30 CDT 2011
確保時區一致,兩臺主機的時間相差不超過1分鐘

修改CRS對應使用者屬性(如果建立使用者已經編輯則可不用操作)
chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
該操作必須執行,否則crs安裝執行root.sh時會報錯。

安裝Grid Infrastructure
以root使用者身份在所有節點執行Grid Infrastructure軟體下的rootpre.sh指令碼
# ./rootpre.sh(兩個節點執行)
./rootpre.sh output will be logged in /tmp/rootpre.out_11-10-15.01:40:28
Checking if group services should be configured....
Nothing to configure.




預檢查指令碼:
$ ./runcluvfy.sh stage -pre crsinst -n mhdb1,mhdb2 -verbose
開始安裝

相信在以上詳細的引數解釋及配置情況下,在AIX上安裝基本的oracle RAC環境應該不成問題


 ------------------------------------------------------------------------------------

原部落格地址:http://blog.itpub.net/23732248/
原作者:應以峰 (frank-ying)
-------------------------------------------------------------------------------------

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-1407638/,如需轉載,請註明出處,否則將追究法律責任。

相關文章