工作中碰到的需求,網上看到下面的這篇帖子。
有的時候不方便登陸Linux的圖形界面安裝oracle客戶端,我們完全可以採用靜默模式安裝,升級和刪除oracle客戶端(代替OUI)。
平臺:RHEL4.5,oracle10.2.0.1
一、靜默方式安裝oracle客戶端
1、上傳oracle軟件,假如放在/orahome/soft/目錄下
# mkdir -p /orahome/soft/
# cd /orahome/soft/
# rz (SecureCRT裏通過rz命令上傳oracle10g安裝文件10201_client_linux32.zip)
2、設置安裝oracle軟件必須的操作系統信息,如組、用戶、目錄、用戶初始化參數等
--增加組和用戶
# groupadd oinstall
# useradd -g oinstall oracle
# passwd oracle
--建立ORACLE_BASE目錄
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
--oracle用戶的.bash_profile文件設置
# su - oracle
$ vi ~/.bash_profile
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/client_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" #SIMPLIFIED CHINESE_CHINA.ZHS16GBK
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
$ . ~/.bash_profile
3、建立oraInst.loc文件
$ su -
# vi /etc/oraInst.loc (加入或修改以下內容,其中/u01/app/oracle是ORACLE_BASE)
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
# chmod 664 /etc/oraInst.loc
# exit
4、解壓oracle安裝文件(在解壓後oracle軟件的response目錄裏有各種響應文件的模版)
$ cd /orahome/soft
$ unzip 10201_client_linux32.zip
5、通過response文件開始安裝
$ cd /orahome/soft/client
$ ./runInstaller -silent -noconfig -responseFile /orahome/soft/client/response/clientruntime.rsp UNIX_GROUP_NAME="oinstall" ORACLE_HOME="/u01/app/oracle/product/10.2.0/client_1" ORACLE_HOME_NAME="OraClient10g_home1"
其中:
-silent 表示以靜默方式安裝,不會有任何提示
-noconfig 表示不運行配置助手netca
-responseFile 表示使用哪個響應文件,clientadmin.rsp是管理型專用含OEM,clientruntime.rsp是運行時專用不含OEM,instantClient.rsp是快速客戶端專用不含bin目錄
(以下參數也可以事先編輯在響應文件 clientadmin.rsp 裏,那安裝時則無需帶這些參數)
UNIX_GROUP_NAME="oinstall" oracle用戶用於安裝軟件的組名
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1" oracle安裝目錄
ORACLE_HOME_NAME="OraDb10g_home1" ORACLE_HOME名
安裝結束後,以root用戶執行$ORACLE_HOME下的root.sh(如果客戶端類型是instantClient則不用):
$ su -
# /u01/app/oracle/product/10.2.0/client_1/root.sh
# exit
$ sqlplus /nolog (檢查是否可用)
7、附註
執行以下命令靜默卸載Oracle客戶端軟件:
$ cd /orahome/soft/client
$ ./runInstaller -silent -deinstall -removeallfiles -removeAllPatches REMOVE_HOMES="{/u01/app/oracle/product/10.2.0/client_1}" -responseFile /orahome/soft/client/response/clientruntime.rsp
二、靜默方式升級客戶端到10.2.0.4(Patch Set 3)
開始打軟件的patch, 客戶端使用的patch set和數據庫一樣.
# cd /orahome/soft/
# rz (SecureCRT裏通過rz命令上傳升級文件 p6810189_10204_Linux-x86.zip)
$ unzip p6810189_10204_Linux-x86.zip (解壓補丁包)
$ cd /orahome/soft/Disk1
$ ./runInstaller -silent -responseFile /orahome/soft/Disk1/response/patchset.rsp UNIX_GROUP_NAME="oinstall" ORACLE_HOME="/u01/app/oracle/product/10.2.0/client_1" ORACLE_HOME_NAME="OraClient10g_home1" FROM_LOCATION="/orahome/soft/Disk1/stage/products.xml"
$ sqlplus /nolog (檢查是否成功)
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Dec 5 18:08:40 2008
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL>
三、手工刪oracle客戶端軟件
1、刪除oraInventory目錄,目錄位置記錄在oraInst.loc文件中
$ more /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
$ rm -rf /u01/app/oracle/oraInventory
2、刪除$ORACLE_HOME目錄
$ rm -rf $ORACLE_HOME
3、刪除其它oracle文件
$ su -
# rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/coraenv
rm -f /usr/local/bin/dbhome
# rm -f /etc/oraInst.loc
rm -f /etc/oratab
4、將oracle用戶刪除(若要重新安裝,可以不刪除)
# userdel -r oracle
5、將用戶組刪除(若要重新安裝,可以不刪除)
# groupdel oinstall