非圖形化靜默安裝oracle 11g

us_yunleiwang發表於2013-11-29

用response檔案silent模式安裝和配置oracle11g

1.硬體需求:
記憶體:   grep -i memtotal /proc/meminfo     官方要求至少1G記憶體
swap 交換分割槽 grep -i swaptotal /proc/meminfo    
如果你的記憶體小於2G,那麼交換分割槽為記憶體的 1.5倍
如果記憶體介於2G - 8G 之間,那麼交換分割槽應該等於記憶體的大小
如果記憶體大於8G,那麼交換分割槽應該為記憶體的 0.75 倍   
注:以上交換分割槽只是建議的大小,實際安裝時不強制要求這樣設定
硬碟:df -k   企業版4.5G,那麼安裝的話,硬碟空間至少應該5G以上
2.安裝前準備
建立oracle賬號和使用者組,並建立安裝目錄
編輯/etc/sysctl.conf和/etc/security/limits.conf修改系統引數
編輯/etc/profile,/home/oracle/.bash_profile,/home/oracle/.bashrc修改oracle使用者配置檔案
建立/etc/oraInst.loc檔案設定oracle inventory
可以用以下指令碼自動設定(OS:RHEL6.2)
#!/bin/bash
 
yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio sysstat libaio-devel elfutils-libelf-devel unixODBC unixODBC-devel
 
#unzip linux.x64_11gR2_database_1of2.zip
#unzip linux.x64_11gR2_database_2of2.zip
#find database/ -name "db_install.rsp" | xargs -i cp {} .
 
ORACLE_BASE=/DataBase/oracle
 
ORACLE_PASSWORD="oracle_admin"
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
echo "oracle:$ORACLE_PASSWORD" | chpasswd
mkdir -p $ORACLE_BASE
chown -R oracle:oinstall $ORACLE_BASE
chmod -R 775 $ORACLE_BASE
cat >> /etc/sysctl.conf <
 
fs.aio-max-nr = 3145728
 
fs.file-max = 6815744
 
kernel.shmall = 1073741824
 
kernel.shmmax = 4398046511104
 
kernel.shmmni = 4096
 
kernel.sem = 250 32000 100 142
 
net.ipv4.ip_local_port_range = 9000 65500
 
net.core.rmem_default = 262144
 
net.core.rmem_max = 4194304
 
net.core.wmem_default = 262144
 
net.core.wmem_max = 1048576
 
EOF
 
 
 
 
 
cat >> /etc/security/limits.conf <
 
oracle soft nproc 2048
 
oracle hard nproc 16384
 
oracle soft nofile 1024
 
oracle hard nofile 65536
 
EOF
 
 cat >> /etc/profile <
 
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
else
 ulimit -u 16384 -n 65536
fi
 
fi
 
 
EOF
 
cat >> /home/oracle/.bash_profile <
 
export TMP=/tmp
 
export TMPDIR=$TMP
 
export ORACLE_HOSTNAME=$(hostname)
 
export ORACLE_BASE=/DataBase/oracle
 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome
 
export ORACLE_SID=orcl
 
export ORACLE_TERM=xterm
 
export PATH=$ORACLE_HOME/bin:$PATH
 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib64
 
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
 
export LD_ASSUME_KERNEL=2.6.18
 
export NLS_LANG="american_america.UTF8"
 
export NLS_LANG="AMERICAN_AMERICA.US7ASCII"
 
EOF
 
 
 
cat >> /home/oracle/.bashrc <
 
alias sysdba='sqlplus "/ as sysdba"'
 
EOF
 
 
 
cat >> /etc/oraInst.loc <
 
inventory_loc=$ORACLE_BASE/oraInventory
 
inst_group=oinstall
 
EOF
 
chmod 664 /etc/oraInst.loc
 
 
 
sysctl -p
 
3. 準備oracle軟體應答檔案
根據rsp模板建立
su - oracle
cp /tmp/database/response/db_install.rsp ./         //假定oracle安裝檔案解壓到/tmp目錄下
vi db_install.rsp                 //參考檔案內說明修改,也可以參考http://loofeer.blog.51cto.com/707932/1119713
chmod 640 db_install.rsp           //避免檔案被非授權訪問
 
4.準備建立資料庫應答檔案
cp /tmp/database/response/dbca.rsp ./         //假定oracle安裝檔案解壓到/tmp目錄下
vi dbca.rsp 修改以下內容
GDBNAME = "ora11g"
SID = "ora11g"
SYSPASSWORD = "oracle11"
SYSTEMPASSWORD = "oracle11"
如果需要使用Oracle Enterprise Manager,則還需要修改以下引數如下:
EMCONFIGURATION="LOCAL"
SYSMANPASSWORD = "oracle11"
DBSNMPPASSWORD = "oracle11"
 
5.準備監聽應答檔案
cp /tmp/database/response/netca.rsp ./       //假定oracle安裝檔案解壓到/tmp目錄下
vi netca.rsp修改以下內容
INSTALL_TYPE=""custom""
6.安裝oracle11g
cd /tmp/database
./runInstaller -silent -responseFile /home/oracle/db_install.rsp
安裝說明:
a. 選項-silent表示靜默安裝,免安裝互動,大部分安裝資訊也不輸出
b. 選項-responseFile指定應答檔案,要求用絕對路徑
c. 執行./runInstaller -help可以檢視安裝幫助
d. 若忽略-silent選項,將會允許互動,對於應答檔案中未設定的項可以再手工指定
e. 若新增-noconfig選項,可以忽略應答檔案中的安裝型別,而僅安裝資料庫軟體
安裝後執行
/DataBase/oracle/product/11.2.0/dbhome/root.sh
7.建立資料庫
cd
dbca -silent -cloneTemplate -responseFile ./dbca.rsp
8.建立監聽
netca /silent /responseFile /home/oracle/netca.rsp
9.開啟oracle監聽
lsnrctl start
dbstart $ORACLE_HOME
10.建立oracle服務指令碼(可以看情況修改)
vi /etc/init.d/oracle
#!/bin/bash
#### 2013.1.18 by larry ####
# chkconfig: 35 90 10
# description: Oracle Database Service Daemon.
ORCL_BASE="/DataBase/oracle"
ORACLE_HOME=/DataBase/oracle/product/11.2.0/dbhome
ORACLE_OWNER=oracle
case "$1" in
 start)
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"             #//.....
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"      #//.......
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"     #//..OEM...
    ;;
 stop)
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"      #//..OEM...
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"       #//.......
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"              #//.....
    ;;
 status)
    if(pgrep "tnslsnr" && netstat -anpt | grep ":1521") &> /dev/null
    then
        echo "Oracle 11g Net Listener is running."
    else
        echo "Oracle 11g Net Listener is not running."
    fi
    if(netstat -anpt | grep ":1158" && netstat -anpt | grep ":5520") &> /dev/null
    then
        echo "Oracle 11g Enterprise Manager is running."
    else
        echo "Oracle 11g Enterprise Manager is not running."
    fi
    ;;
 restart)
    $0 stop
    $0 start
    ;;
 *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac
exit 0
 
11.為系統新增服務
chkconfig --add oracle
 
12. 透過指令碼控制Oracle服務
service oracle status/stop/start/restart

 

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

非圖形化靜默安裝oracle 11g
請登入後發表評論 登入
全部評論

相關文章