磁盤空間與虛拟記憶體檢查:
[root@node2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 11G 5.1G 4.5G 54% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 296M 0 296M 0% /dev/shm
[root@node2 ~]# free
total used free shared buffers cached
Mem: 604324 586620 17704 0 42656 306400
-/+ buffers/cache: 237564 366760
Swap: 1534196 3352 1530844
檢查作業系統版本号:
[root@node2 /]# uname -a
Linux node1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
[root@node2 ~]# vi /etc/redhat-release
Red Hat Enterprise Linux Server release 4.5 (Tikanga)
-----------------------------------------------------------------------------
配置主機名:
[root@node2 ~]# vi /etc/sysconfig/network
HOSTNAME=node2
配置主機名HOSTS 檔案:
[root@node2 /]# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.62.240 node1
192.168.62.241 node1-vip
10.0.0.1 node1-priv
192.168.62.235 node2
192.168.62.236 node2-vip
10.0.0.2 node2-priv
配置完後,重新開機才能生效.
測試網絡是否能互通路.
----------------------------------------------------------------------------
配置ORACLE 使用者,組 安裝目錄:
[root@node2 opt]# groupadd -g 1001 oinstall
[root@node2 opt]# groupadd -g 1002 dba
[root@node2 opt]# useradd -u 1001 -g oinstall -G dba oracle
[root@node2 opt]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@node2 opt]# mkdir -p /u01/app/oracle/product/10.2.0/crs
[root@node2 opt]# mkdir -p /u01/app/oracle/product/10.2.0/rac_db
[root@node2 opt]# chown -R oracle:oinstall /u01/
----------------------------------------------------------------------------------
配置系統核心參數:
root@node2 /]# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912 //此參數應配置實體記憶體1半,安裝時不能小于目前值,否則檢查會報錯.
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
讓配置即使生效:
[root@node2 /]# sysctl -p
------------------------------------------------------------------------------
配置系統使用者資源限制:
[root@node2 /]# vi /etc/security/limits.conf
--使用HugePage 記憶體技術,添加下面2行
Oracle soft memlock 5242880
Oracle hard memlock 524280
--程序句柄數量
oracle soft nproc 2047
oracle hard nproc 16384
-- 檔案句柄
oracle soft nofile 1024
oracle hard nofile 65536
--------------------------------------------------------
配置ORACLE 使用者環境變量:
[root@node2 /]# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/rac_db
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs
export ORACLE_SID=oradb2 節點2執行個體名
export PATH=$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LC_CTYPE=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export TMPDIR=/tmp
export TMP=/tmp
[root@node2 /]# source /home/oracle/.bash_profile
----------------------------------------------------------
設定會話屏保:
[root@node1 orapacht]# vi /etc/pam.d/login
session required pam_limits.so
設定使用者通路端口限制:
[root@node2 orapacht]# vi /etc/profile
if [ $USER = "oracle" ]; then
ulimit -u 16384
ulimit -n 65536
fi
-------------------------------------------------------
配置 hangcheck-timer 子產品
Hangcheck-timer 是Linux 提供的一個核心級的IO-Fencing 子產品, 這個子產品會監控Linux 核心運作狀态, 如果長時間挂起, 這個子產品會自動重新開機系統。 這個子產品在Linux 核心空間運作, 不會受系統負載的影響。 這個子產品會使用CPU的Time Stamp Counter(TSC) 寄存器,這個寄存器的值會在每個時鐘周期自動增加, 是以使用的是硬體時間,是以精度更高。
配置這個子產品需要2個參數: hangcheck_tick 和 hangcheck_margin。
hangcheck_tick用于定義多長時間檢查一次,預設值是30秒。 有可能核心本身很忙, 導緻這個檢查被推遲, 該子產品還允許定義一個延遲上限,就是hangcheck_margin, 它的預設值是180秒。
Hangcheck-timer 子產品會根據hangcheck_tick 的設定,定時檢查核心。隻要2次檢查的時間間隔小于 hangcheck_tick + hangchec_margin, 都會認為核心運作正常,否則就意味着運作異常,這個子產品會自動重新開機系統。
CRS本身還有一個MissCount 參數,可以通過crsctl get css miscount 指令檢視。
當RAC結點間的心跳資訊丢失時, Clusterware 必須確定在進行重構時,故障結點确實是Dead 狀态,否則結點僅是臨時負載過高導緻心跳丢失,然後其他結點開始重構,但是結點沒有重新開機,這樣會損壞資料庫。 是以MissCount 必須大于 hangcheck_tick+hangcheck_margin的和。
檢視子產品位置:
[root@node2 /]# find /lib/modules -name "hangcheck-timer.ko"
/lib/modules/2.6.18-194.el5/kernel/drivers/char/hangcheck-timer.ko
修改以下配置:
[root@node2 orapacht]# vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
配置系統啟動時自動加載子產品:
[root@node2 orapacht]# vi /etc/rc.d/rc.local
/sbin/modprobe hangcheck_timer
加載子產品:
[root@node2 orapacht]# modprobe hangcheck_timer
确認子產品加載成功:
[root@node2 orapacht]# grep hangcheck /var/log/messages |tail -2
Sep 20 12:40:28 node1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 30 seconds, margin is 180 seconds).
-----------------------------------------------------------------------
安裝ASM執行個體軟體包:
[root@node2 opt]# rpm -qa |grep oracleasm
[root@node2 opt]# ls
oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm oracleasm-support-2.1.7-1.el5.i386.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
[root@node2 opt]# rpm -ivh oracleasm*.rpm
warning: oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [ 33%]
2:oracleasm-2.6.18-194.el########################################### [ 67%]
3:oracleasmlib ########################################### [100%]
配置ASM 設定使用者與屬組 随系統自啟動:
[root@node2 opt]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]