注:不做特别說明,則全由root執行
<b>1.linux檢查安裝包是否全</b>
rpm -q --queryformat "%{name}-%{version}-%{release} (%{arch})\n" binutils \
compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \
make sysstat unixodbc glibc-headers unixodbc-devel oracleasm oracleasmlib oracleasm-support |grep not
其中oracleasm oracleasmlib oracleasm-support可以從官網下載下傳:
http://www.oracle.com/technetwork/topics/linux/downloads/rhel5-084877.html
當然如果不用asm存儲管理的話,就不必下載下傳asm包!!
<b>2.修改os參數修改</b>
<b>2.1向/etc/sysctl.conf 添加或修改如下參數:</b>
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 48719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 200 200
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.core.rmem_max = 4194304
<b>執行/sbin/sysctl -p</b>
<b>2.2 向/etc/security/limits.conf 添加如下參數</b>:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
<b>2.3 向/etc/pam.d/login 添加如下參數:</b>
session required pam_limits.so
<b>2.4修改/etc/profile 添加:</b>
if [ $user = "oracle" ] || [ $user = "grid" ]; then
if [ $shell = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
<b>3.建立使用者和相應的目錄:</b>
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 601 asmadmin
groupadd -g 602 asmdba
groupadd -g 603 asmoper
useradd -u 501 -g oinstall -g asmadmin,asmdba,asmoper grid
useradd -u 601 -g oinstall -g dba,asmdba,asmadmin oracle
<b>目錄的建立,可以根據自己的實際情況調整:</b>
<b>這個是建立rac的例子:</b>
mkdir -p /opt/rac/grid
mkdir -p /opt/rac/11.2.0/grid
chown -r grid:oinstall /opt/rac
mkdir -p /opt/rac/oracle
chown -r oracle:oinstall /opt/rac/oracle
chmod -r 775 /opt/rac/
<b></b>
<b>4.grid和oracle環境變量</b>
<b>---grid .bash_profile</b>
path=$path:$home/bin:/opt/rac/grid/opatch/opatch
export path
umask 022
export ps1=$logname@`hostname`:'$pwd>'
export oracle_base=/opt/rac/grid
export oracle_home=/opt/rac/11.2.0/grid
export oracle_sid=+asm1
export path=$oracle_home/bin:/usr/sbin:$path
export ld_library_path=$oracle_home/lib:/lib:/usr/lib
export classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib
export sqlpath=/home/oracle/admin/sql:$oracle_home/sqlplus/admin:~/admin/sql
export nls_lang=american_america.al32utf8
export ora_crs_home=/opt/rac/11.2.0/grid
alias sql='sqlplus "/ as sysasm"'
alias sqln="sqlplus /nolog"
alias rm='rm -i --'
alias tf="tail -f /opt/rac/grid/diag/asm/+asm/+asm2/trace/alert_+asm2.log"
alias crsdl="tail -f /opt/rac/11.2.0/grid/log/dbname/crsd/crsd.log"
alias cssdl="tail -f /opt/rac/11.2.0/grid/log/dbname/cssd/ocssd.log"
alias gridl="tail -f /opt/rac/11.2.0/grid/log/dbname/alert_dbname.log"
stty erase ^h
esc="\033["
echo " "
echo -e "${esc}31;1m******************************************************************${esc}0m"
echo -e "${esc}31;1m**this is rac test asm, please be careful of your operation!***${esc}0m"
<b>---oracle .bash_profile </b>
# .bash_profile
# get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
# user specific environment and startup programs
path=$path:$home/bin:/opt/rac/oracle/opatch/opatch
export ps1=$logname@`hostname`:'$pwd>'
export oracle_base=/opt/rac/oracle
export oracle_home=$oracle_base/11.2.0/db
export oracle_sid=orcl
export tns_admin=$oracle_home/network/admin
export ora_nls10=$oracle_home/nls/data
export path=$oracle_home/bin:/usr/sbin:$path
export ld_library_path=$oracle_home/lib:/lib:/usr/lib
export classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib
export nls_lang=american_america.al32utf8
export sqlpath=$oracle_home/sqlplus/admin:/home/oracle/admin/sql
alias bdump="cd /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/"
alias udump="cd /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/"
alias home="cd $oracle_home"
alias tf="tail -f /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/alert_rac1.log"
alias sql='sqlplus "/"'
alias sqln="sqlplus /nolog"
ulimit -u 16384 -n 63536 #linux
tty -s && stty erase '^h'
echo -e "${esc}31;1m***this is a test env , please be careful of your operation!***${esc}0m"
<b>5.ntpd configure </b>
--這是搭建rac的時候需要的步驟
--同步ntpd,模闆裡已有,不需要修改,根據自己的情況調整
修改檔案/etc/ntp.conf,添加如下資訊,ntp1 為時間同步伺服器
server ntp1
server ntp2
server ntp3
修改檔案 /etc/sysconfig/ntpd
options="-x -u ntp:ntp -p /var/run/ntpd.pid" --加入 -x
<b>重新啟動,并設定為開機啟動ntpd 服務:</b>
service ntpd restart
chkconfig ntpd on
<b>6 修改 /etc/rc.local檔案:添加如下語句:</b>
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
<b>7.配置asm configure,</b>如果選擇使用asm做存儲的話需要此步驟!
--注意oracleasm的版本,必須和uname -r的版本一緻
/etc/init.d/oracleasm configure -i
<b>做完以上工作基本上可以進行oracle rac 或者database的安裝了!</b>