CentOS-6.4-x64上靜默安裝Oracle 11g R2 (11.2.0.4)

luashin發表於2016-01-07

一. 安裝軟體準備:
作業系統:ContOS 6.5 x64
資料庫:Oracle Database 11.2.0.4 x64

p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip

二.環境檢測
2.1 安裝依賴的包
透過yum語句一次安裝完畢:
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
若yum遇到問題,嘗試如下方法:
yum clean all
yum makecache

2.2系統環境效能檢測
//檢視記憶體及swap
[root@localhost ~]# grep MemTotal /proc/meminfo
[root@localhost ~]# grep SwapTotal /proc/meminfo
//檢視核心
[root@localhost ~]#uname  -r
2.6.32-358.el6.x86_64
//檢視記憶體與交換空間的使用情況
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         15925      12800       3125          0        158      11556
-/+ buffers/cache:       1086      14839
Swap:         8031          0       8031

2.3 關閉SELINUX的工作模式和防火牆           
[root@oracle ~]# vi /etc/selinux/config
# 設定SELINUX為disabled
SELINUX=disabled
[root@oracle ~]# service iptables stop

[root@oracle ~]# chkconfig iptables off

三.環境配置
3.1 修改系統核心引數
[root@localhost ~]# vim /etc/sysctl.conf
#修改如下兩個引數
kernel.shmall = 2097152
kernel.shmmax = 2147483648
#增加如下引數
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
修改完後,讓其立即生效。
[root@localhost ~]# /sbin/sysctl -p

3.2 設定Shell
[root@localhost ~]# vim /etc/security/limits.conf
#新增如下
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536


3.3 修改login
[root@oracle ~]# vim /etc/pam.d/login
#新增如下
session    required     pam_limits.so

3.4 修改全域性環境變數

[root@oracle ~]# vim /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

3.5 新增使用者組及使用者
groupadd oinstall
groupadd dba
useradd oracle -g oinstall -G dba           //主組為oinstall,副組dba
echo "oralce" | passwd --stdin oracle      //設定密碼

3.6 新建目錄並設定許可權
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/
chmod -R 755 /u01

四. 開始安裝
1. 切換到oracle賬戶登入,解壓oracle的安裝包至/tmp目錄,得到database資料夾,
[root@oracle ~]$ unzip p10404530_112030_Linux-x86-64_1of7.zip -d /tmp && unzip p10404530_112030_Linux-x86-64_2of7.zip -d /tmp
將其中的database/response/db_install.rsp複製一份出來放在/tmp目錄下,根據自己環境對原檔案內容進行修改,需要注意的修改點有:
#------------------------------------------------------------------------------
# Specify the installation option.
# It can be one of the following:
# 1. INSTALL_DB_SWONLY
# 2. INSTALL_DB_AND_CONFIG
# 3. UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_AND_CONFIG   ----這裡選擇了安裝軟體和資料庫
oracle.install.db.config.starterdb.memoryLimit=7960 ----memory的50%
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true

2. 如果是首次安裝,還需要建立檔案oraInst.loc,其內容如下:
[root@oracle ~]$ vim /tmp/oraInst.loc

inventory_loc=/u01/app/oraInventory
inst_group=oinstall

3. 最後就是靜默安裝
[oracle@localhost database]$ ./runInstaller -silent -responseFile /tmp/db_install.rsp -invPtrLoc /tmp/oraInst.loc -ignoreSysPrereqs
需要注意的是,對於Linux系統,-ignoreSysPrereqs其實是必要的,否則有的包已經安裝但Oracle還是聲稱找不到,原因是Oracle嘗試去找的包版本太舊了。

安裝過程根據提示,另外開一個終端,以root身份登陸,執行root.sh指令碼,然後按下Enter鍵即可完成安裝

4. 安裝完成後,編輯/home/oracle/.bash_profile,新增如下內容:
[oracle@localhost database]$ vim .bash_profile

export TMP=/tmp;     ----安裝前如果/tmp 分割槽空間不夠,這裡可改為其他分割槽
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
export ORACLE_SID=orcl;
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.ZHS16GBK;

umask 022

5. 監聽已經自動起來
[oracle@localhost database]$ lsnrtcl status

Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

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

相關文章