在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g
Oracle 10g支持在命令行下用靜默模式(Silent)安裝,給那些沒有安裝圖形界面的Linux系統(tǒng)提供了極大的便利。
下面以Fedora Core 6為例,介紹在命令行下安裝OracleOracle 10g的方法。
1 安裝前的準(zhǔn)備準(zhǔn)備工作要用登錄為root用戶來進(jìn)行。
1.1 選擇安裝環(huán)境的語言O(shè)racle安裝時(shí)可以通過環(huán)境變量LANG指定安裝語言,如果Linux命令行不能顯示中文,就要將語言環(huán)境設(shè)置為英語。
例如:export LANG=en_US.UTF-8
1.2 修改gennttab
Oracle 10g在一些Linux系統(tǒng)下安裝可能會(huì)被中斷,在安裝日志文件
$ORACLE_HOME/install/make.log
里可以看見以下錯(cuò)誤信息
/bin/sed: -e expression #1, char 7: unterminated `s' command
要解決這個(gè)問題就必須編輯文件 gennttab。
先解壓Oracle安裝目錄下的 stage/Components/oracle.network.rsf/10.2.0.1.0/1/DataFiles/filegroup6.jar,可以用以下方法之一進(jìn)行解壓
用jar解壓:jar -xf filegroup6.jar bin/gennttab
用unzip解壓:unzip filegroup6.jar bin/gennttab
再用文本編輯器(例如vi)打開解壓出來的 gennttab,將以下內(nèi)容
LIB=`$ECHO ${TtoLIB} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`改為
LIB=`$ECHO ${TtoLIB} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
保存后再用將gennttab更新到filegroup6.jar里面,可以用以下方法之一進(jìn)行更新
用jar更新:jar -uvf filegroup6.jar bin/gennttab
用zip更新:zip -vu filegroup6.jar bin/gennttab
1.3 修改內(nèi)核參數(shù)
如果一致則不用修改(oracle11g)
[root@CNNIC-AM oracle]# echo "4194304" > /proc/sys/net/core/rmem_default
[root@CNNIC-AM oracle]# echo "4194304" > /proc/sys/net/core/rmem_max
[root@CNNIC-AM oracle]# echo "262144" > /proc/sys/net/core/wmem_default
[root@CNNIC-AM oracle]# echo "262144" > /proc/sys/net/core/wmem_max
[root@CNNIC-AM oracle]# echo "4096" > /proc/sys/kernel/shmmni
vim /etc/sysctl.conf
在最后加入一行
net.ipv4.ip_local_port_range=1024 65000
編輯文件 /etc/sysctl.conf,修改以下項(xiàng)目,如果沒有可以自己添加。
kernel.shmall = 2097152 # 可以使用的共享內(nèi)存的總量。
kernel.shmmax = 2147483648 # 最大共享內(nèi)存段大小。
kernel.shmmni = 4096 # 整個(gè)系統(tǒng)共享內(nèi)存段的最大數(shù)目。
kernel.sem = 250 32000 100 128 # 每個(gè)信號(hào)對(duì)象集的最大信號(hào)對(duì)象數(shù);系統(tǒng)范圍內(nèi)最大信號(hào)對(duì)象數(shù);每個(gè)信號(hào)對(duì)象支持的最大操作數(shù);系統(tǒng)范圍內(nèi)最大信號(hào)對(duì)象集數(shù)。
fs.file-max = 65536 # 系統(tǒng)中所允許的文件句柄最大數(shù)目。
net.ipv4.ip_local_port_range = 1024 65000 # 應(yīng)用程序可使用的IPv4端口范圍。
net.core.rmem_default = 1048576 # 套接字接收緩沖區(qū)大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收緩沖區(qū)大小的最大值
net.core.wmem_default = 262144 # 套接字發(fā)送緩沖區(qū)大小的缺省值
net.core.wmem_max = 262144 # 套接字發(fā)送緩沖區(qū)大小的最大值
注:內(nèi)核參數(shù)并非必須修改,可以根據(jù)自己實(shí)際情況而定。
1.4 為Oracle創(chuàng)建DBA組和用戶安裝Oracle必須指定擁有DBA權(quán)限的組和運(yùn)行Oracle的用戶。
創(chuàng)建組:groupadd oradba創(chuàng)建用戶:useradd -g oradba oracle注:組名和用戶名可以任意指定,不一定要照搬本文。
1.5 創(chuàng)建安裝Oracle的目標(biāo)目錄
創(chuàng)建Oracle系統(tǒng)目錄:mkdir /oracle
創(chuàng)建Oracle服務(wù)器主目錄:mkdir /oracle/10g
將該目錄的所有者設(shè)置為oracle:chown -R oracle:oradba /oracle編輯 /etc/profile,在后面追加以下兩行
export ORACLE_BASE=/oracleexport ORACLE_HOME=/oracle/10g注:安裝Oracle的目標(biāo)目錄可以任意指定,但是安裝和運(yùn)行Oracle的用戶必須有完全修改該目錄的權(quán)限。
2 安裝2.1 編輯安裝需要的應(yīng)答文件靜默模式(Silent)安裝必須指定一個(gè)應(yīng)答文件來完成安裝過程所須的各類參數(shù)。
在Oracle安裝目錄的response子目錄里有enterprise.rsp、standard.rsp和custom.rsp三個(gè)應(yīng)答文件,分別對(duì)應(yīng)企業(yè)版、標(biāo)準(zhǔn)版和定制的安裝。
以enterprise.rsp為例,用任意的文本編輯器打它,修改以下這些項(xiàng)目的值。
ORACLE_HOME Oracle服務(wù)器的主目錄位置,必須是絕對(duì)路徑。
ORACLE_HOME_NAME Oracle服務(wù)器的名稱,必須以字母開頭。
COMPONENT_LANGUAGES Oracle服務(wù)器支持的語言,默認(rèn)只有英語,可以添加多個(gè)語言。
s_nameForDBAGrp 用于Oracle系統(tǒng)管理的linux用戶組名,該組的用戶擁有管理Oracle服務(wù)器的權(quán)限,在本例中設(shè)置為 oradba。
s_nameForOPERGrp 用于Oracle數(shù)據(jù)庫常規(guī)操作的linux用戶組名,該組的用戶擁有常規(guī)操作Oracle數(shù)據(jù)庫的權(quán)限,在本例中設(shè)置為 oracle。
n_configurationOption 安裝類型(1為在安裝后創(chuàng)建數(shù)據(jù)庫,2為安裝后創(chuàng)建一個(gè)自動(dòng)存儲(chǔ)管理實(shí)例,3為只安裝服務(wù)器軟件),在本例中選擇3。
其它項(xiàng)目用默認(rèn)值即可,也可以根據(jù)自己的須要進(jìn)行修改。
注:如果Oracle從光盤安裝,必須先將應(yīng)答文件復(fù)制到硬盤上,才能修改。
2.2 開始安裝
現(xiàn)在萬事具備,可以安裝了。
用oracle用戶登錄,然后在Oracle安裝目錄里執(zhí)行
./runInstaller -ignoreSysPrereqs -silent -responseFile
接下來就是等待安裝結(jié)束了。
各安裝參數(shù)的含義如下
ignoreSysPrereqs 讓Oracle忽略系統(tǒng)檢查,因?yàn)镺racle官方聲明只支持Linux服務(wù)器產(chǎn)品,所以要在非服務(wù)器產(chǎn)品的Linux上安裝就必須指定此參數(shù)。
silent 讓安裝程序以靜默模式運(yùn)行。
responseFile 指定一個(gè)應(yīng)答文件。
3 安裝后要做的工作
3.1 Oracle系統(tǒng)初始化
用root用戶登錄,然后運(yùn)行$ORACLE_HOME/root.sh進(jìn)行Oracle的系統(tǒng)初始化工作,通常一路按回車用默認(rèn)值即可。不過這里Oracle存在一個(gè)bug,在root.sh腳本中,自動(dòng)將OUI_SILENT參數(shù)設(shè)置為TRUE,
而后的檢查中,如果發(fā)現(xiàn)這個(gè)值為TRUE,那么這個(gè)腳本運(yùn)行會(huì)自動(dòng)退出了。
這里需要手工將其修改為FALSE,然后使用root執(zhí)行。
3.2 安裝網(wǎng)絡(luò)監(jiān)聽器
沒有網(wǎng)絡(luò)監(jiān)聽器,客戶端就無法通過網(wǎng)絡(luò)連接Oralce服務(wù)器。要在命令行安裝網(wǎng)絡(luò)監(jiān)聽器,也只能使用靜默模式。
編輯Oracle安裝目錄里response子目錄下的應(yīng)答文件 netca.rsp,修改以下項(xiàng)目。
INSTALL_TYPE=""custom"" 安裝的類型
LISTENER_NUMBER=1 監(jiān)聽器數(shù)量
LISTENER_NAMES={"LISTENER"} 監(jiān)聽器的名稱列表
LISTENER_PROTOCOLS={"TCP;1521"} 監(jiān)聽器使用的通訊協(xié)議列表
LISTENER_START=""LISTENER"" 監(jiān)聽器啟動(dòng)的名稱然后運(yùn)行
$ORACLE_HOME/bin/netca /silent /responseFile
3.3 修改dbstart
用任意的文本編輯器打開 $ORACLE_HOME/bin/dbstart,將
ORACLE_HOME_LISTNER=$1
改為
ORACLE_HOME_LISTNER=$ORACLE_HOME否則網(wǎng)絡(luò)監(jiān)聽器可能無法自動(dòng)啟動(dòng)。
3.4 安裝數(shù)據(jù)庫實(shí)例編輯Oracle安裝目錄里response子目錄下的應(yīng)答文件 dbca.rsp,修改以下項(xiàng)目。
GDBNAME 數(shù)據(jù)庫全局名稱
SID 數(shù)據(jù)庫的SID
SYSPASSWORD SYS用戶的初始密碼
SYSTEMPASSWORD SYSTEM用戶的初始密碼
CHARACTERSET數(shù)據(jù)庫字符集(中文為 ZHS16GBK)
NATIONALCHARACTERSET數(shù)據(jù)庫國家字符集
然后運(yùn)行
$ORACLE_HOME/bin/dbca -silent -responseFile -cloneTemplate數(shù)據(jù)庫創(chuàng)建成功后須要注冊(cè)一些信息,運(yùn)行
$ORACLE_BASE/oraInventory/orainstRoot.sh然后編輯 /etc/oratab
將::N修改為::Y使數(shù)據(jù)庫實(shí)例能夠自動(dòng)啟動(dòng)。
3.5 讓Oracle運(yùn)行為服務(wù)
創(chuàng)建文件 /etc/init.d/oracle,輸入下列內(nèi)容
#!/bin/sh
#
export ORACLE_HOME=export ORACLE_HOME_LISTNER=$ORACLE_HOME
export ORACLE=oracle
. /etc/init.d/functions
export PATH=${PATH}:$ORACLE_HOME/bin
start(){
daemon --user $ORACLE $ORACLE_HOME/bin/dbstart
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl start"
}
stop()
{
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl stop"
daemon --user $ORACLE $ORACLE_HOME/bin/dbshut
}
case $1 in
'start')
start
RETVAL=$?;;
'stop')
stop
RETVAL=$?
;;'restart')stop
start
RETVAL=$?
;;
*)
echo "usage: $0 {start|stop|restart}"
exit
;;
esac
#
exit
然后將這個(gè)文件賦予可執(zhí)行的權(quán)限,運(yùn)行
chmod a+x /etc/init.d/oracle讓Oracle的服務(wù)在Linux啟動(dòng)時(shí)自動(dòng)運(yùn)行
ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle
這樣就可以用service來啟動(dòng)和停止Oracle了。
附1 Oracle 10g對(duì)硬件環(huán)境的要求物理內(nèi)存基本 - 512MB
推薦 - 1024MB
內(nèi)存交換分區(qū)相對(duì)于物理內(nèi)存的比例
物理內(nèi)存1024MB~2048MB - 150%
物理內(nèi)存2049MB~8192MB - 100%
物理內(nèi)存大于8192MB - 75%
磁盤空間/tmp目錄所在的分區(qū)至少要有400MB空閑磁盤空間。
根據(jù)安裝類型,安裝Oracle服務(wù)器軟件的分區(qū)至少要有1.5GB到3.5GB的空閑磁盤空間。
1.2GB磁盤空間用于數(shù)據(jù)庫預(yù)配置文件系統(tǒng)存儲(chǔ)(可選)
附2 Oracle 10g對(duì)軟件環(huán)境的要求
操作系統(tǒng)
Red Hat Enterprise Linux AS/ES 3.0 (Update 4 or later)
Red Hat Linux 4.0
SUSE Linux Enterprise Server 9.0 with SP 2 or later
Asianux 1.0
Asianux 2.0
軟件包
X11相關(guān)的庫 (軟件包名視操作系統(tǒng)而定,故不一一列出)
gcc (版本至少為2.96-124)
make (版本至少為3.79)
binutils (版本至少為2.11)
openmotif (版本至少為2.1.30)
setarch (版本至少為1.3)
compat-db (版本至少為4.0.14.5)
compat-gcc (版本至少為7.3-2.96.122)
compat-gcc-c++ (版本至少為7.3-2.96.122)
compat-libstdc++ (版本至少為7.3-2.96.122)
compat-libstdc++-devel (版本至少為7.3-2.96.122)
sysstat (版本至少為5.0.5-1)libaio (版本至少為0.3.103-3)
libaio-devel (版本至少為0.3.103-3)
附3
oracle的啟動(dòng)和關(guān)閉
啟動(dòng):
#su - oracle
$sqlplus /nolog
SQL>conn /as sysdba
SQL>startup
SQL>quit
關(guān)閉:$sqlplus /nolog
SQL>conn /as sysdba
SQL>shutdown
SQL>quit
以上的sqlplus /nolog與SQL>conn /as sysdba
可以替換成sqlplus " / as sysdba"
啟動(dòng)監(jiān)聽:
$lsnrctl start
或
$lsnrctl
LSNRCTL>start
關(guān)閉監(jiān)聽:$lsnrctl stop
或
$lsnrctl
LSNRCTL>stop
4 結(jié)束語
現(xiàn)在Oracle 10g的安裝已經(jīng)完成,在任何一臺(tái)電腦上裝個(gè)Oracle客戶端就可以對(duì)它進(jìn)行管理了。
如果要卸載Oracle,只須運(yùn)行
$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES={$ORACLE_HOME}" -responseFile
sqlplus: error while loading shared libraries: /oracle/11g/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied
解決這個(gè)問題就要停掉selinux
setenforce 0
設(shè)置重起系統(tǒng)也不啟動(dòng)selinux
編輯/etc/selinux/config,找到這段:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
把 SELINUX=enforcing 注釋掉:#SELINUX=enforcing ,然后新加一行為:
SELINUX=disabled
保存,關(guān)閉。
......
編輯/etc/sysconfig/selinux,找到:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
如果SELINUX已經(jīng)是 SELINUX=disabled,那么就不用改了,否則就把SELINUX=enforcing 注釋掉,新加一行:
SELINUX=disabled
保存,退出。
SEVERE:OUI-10133:Invalid staging area. There are no top level components for Linux available for installation in this staging area.
enterprise.rsp文件里的FROM_LOCATION路徑不對(duì)。
總結(jié)
以上是生活随笔為你收集整理的在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql使用技巧_MySQL使用不得不
- 下一篇: linux系统高级管理工具包,linux