Linux 下安裝oracle 資料庫的準備

楊奇龍發表於2011-09-09
注:不做特別說明,則全由root執行
1.linux檢查安裝包是否全

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可以從官網下載:
當然如果不用asm儲存管理的話,就不必下載asm包!!

2.修改OS引數修改
2.1向/etc/sysctl.conf 新增或修改如下引數:
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

執行/sbin/sysctl -p

2.2 向/etc/security/limits.conf 新增如下引數
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

2.3 向/etc/pam.d/login  新增如下引數:
session required pam_limits.so

2.4修改/etc/profile 新增:
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
fi

3.建立使用者和相應的目錄:
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
目錄的建立,可以根據自己的實際情況調整:
這個是建立RAC的例子:
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/

4.grid和Oracle環境變數
---grid .bash_profile
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 " "
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"
echo -e "${esc}31;1m******************************************************************${esc}0m"
echo " "
echo " "

---oracle .bash_profile 

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/opt/rac/oracle/opatch/OPatch
export PATH
umask 022
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 PS1=$LOGNAME@`hostname`:'$PWD>'
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"
alias rm='rm -i --'
ulimit -u 16384 -n 63536  #linux
tty -s && stty erase '^H'
esc="\033["
echo " "
echo " "
echo -e "${esc}31;1m******************************************************************${esc}0m"
echo -e "${esc}31;1m***This is a TEST  ENV ,   Please be careful of your operation!***${esc}0m"
echo -e "${esc}31;1m******************************************************************${esc}0m"
echo " "
echo " "



5.ntpd configure 

--這是搭建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
重新啟動,並設定為開機啟動ntpd 服務:
service ntpd restart
chkconfig ntpd on

6 修改 /etc/rc.local檔案:新增如下語句:
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

7.配置asm configure,如果選擇使用asm做儲存的話需要此步驟!
--注意oracleasm的版本,必須和uname -r的版本一致
/etc/init.d/oracleasm configure -i

做完以上工作基本上可以進行oracle rac 或者database的安裝了!

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

相關文章