歡迎您光臨本站 註冊首頁

詳解Fedora17 下安裝Oracle Database 11g

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

詳解Fedora17 下安裝Oracle Database 11g:
1. 檢查預安裝需求
(1) 檢查操作系統版本
安裝Oracle 進行操作系統版本的檢查,以保證操作系統適合Oracle安裝。以下是一些適合安裝Oracle Database 11g的Linux發行版本:
Oracle Enterprise Linux 4.0
Oracle Enterprise Linux 5.0
Red Hat Enterprise Linux 4.0
Red Hat Enterprise Linux 5.0
SUSE Linux Enterprise Server 10.0
使用下面的命令查看操作系統的版本:
# cat /etc/issue

顯然,Fedora 17 不是安裝Oracle Database 11g 的標準操作系統版本,因此要對其進行修改(一般在確定OS核心版本和核心參數及內存是否適合安裝Oracle Database 11g后才進行修改,所以修改方法放在後面)。
(2) 檢查OS核心版本
因為在Oracle Universal Install 完成系統的檢查以驗證OS核心版本滿足需求,如果不具有必需的OS版本,安裝將會失敗。
以下是Oracle Database 11g Release 2 的核心需求:
對於 Asianux 2.0、Oracle Enterprise Linux 4.0 和 Red Hat Enterprise Linux 4.0 : 2.6.9
對於 Asianux 3.0、Oracle Enterprise Linux 5.0 和 Red Hat Enterprise Linux 5.0 : 2.6.18
對於 SUSE Linux Enterprise Server 10 : 2.6.16.21
使用下面的命令驗證核心版本:
# uname ?r
或使用下面的命令驗證核心版本:
# cat /proc/version

因為Fedora 是基於Red Hat Linux,顯然其核心版本3.3.4-5滿足Oracle Database 11g 的需求。
(3) 檢查所需的程序包
安裝過程需要安裝某些操作系統程序包。下面是一些Fedora需要安裝如下的程序包:
binutils
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
ksh
libaio
libaio-devel
libgcc
sysstat
unixODBC
unixODBC-devel
這些程序包一般使用yum命令進行安裝,所以,在安裝Oracle Database 11g時保證網路連接正常。安裝這些軟體包前可是用rpm命令檢查一下這些程序包是否存在且是否滿足安裝的需求(我這裡沒用具體給出對各個程序包的版本需求,因為我打算直接通過yum進行更新或安裝)。下面是使用rpm和yum命令對程序包的檢查和更新、下載安裝的一般命令形式:
# rpm ?q packge_name
# yum install packge_name
有些程序包可能沒有相應的yum源,此時可以選擇跳過(如我在欲更新compat-libstdc++時便沒找到相應的程序包,然後選擇了跳過)。
2. 檢查Oracle 安裝的物理OS需求
應該至少有下列的內存和物理空間:
最少1024MB的物理RAM。
如果RAM空間在256MB~512MB,則應該有1GB的交換空間,或者是物理RAM的兩倍。
/tmp 目錄中至少有400MB的可用空間。
用於Oracle軟體的1.5GB~3.GB磁碟空間,具體大小取決於安裝的類型。
(1) 檢查RAM和交換空間量
使用以下兩條命令來檢查RAM和交換空間量:
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo

顯然,我的物理OS是滿足需求的:RAM為2GB(大約),交換空間為4GB。
(2) 檢查可用磁碟空間
使用以下兩條命令來檢查磁碟空間和/tmp 目錄中有多少空間:
# df ?h
# df ?k /tmp

顯然,磁碟空間和/tmp 目錄中的可用空間都是滿足需求的。
3. 重新配置核心
Oracle 需要巨大的共享內存段,Linux(或UNIX)操作系統一般不會默認配置它。因此,需要自己去更改某些核心參數。(註:在開始時配置核心極為重要。如果不按Oracle指導配置足夠的內存資源,那麼安裝不成功,要麼安裝后在試圖創建資料庫時會出錯。)對於同一個Oracle安裝,不同的UNIX或Linux操作系統可能具有不同的核心需求。
下面給出對於Oracle軟體安裝,我正在使用的Fedora 17 操作系統的核心需求:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586
可以使用下面的命令來查看當前核心配置:
# cat /etc/sysctl.conf
如果任一核心參數的值不夠大,安裝將會失敗;如果任一參數的值低於最小值,則必須編輯/etc/sysctl.conf文件給該參數指定較大的值。由於我的系統下的核心參數沒有或不夠大,所以我通過以下命令來進行修改:
# vi /etc/sysctl.conf

重新配置了核心參數並生成新核心后,必須用新核心啟動系統,以便新的設置起作用。在Fedora 17 下可以使用下面的命令動態更改當前的核心參數值,而不需要重啟系統:
# /sbin/sysctl ?p

在更改了核心參數后,可以通過執行下面的命令來驗證設置:
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_prort_range
除了修改核心參數外,還需要對你的進程以及某些用戶登錄的shell腳本的限制進行檢查,如果有必要就更改它們。下面是一些需要進行的更改:
(1) 更改shell限制
Oracle建議對每個Linux賬號可使用的進程和打開文件數目設置限制。為提高Linux系統上的Oracle軟體的性能,必須添加如下內容到/etc/security/limits.conf文件,以增加對Oracle用戶的shell限制:
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
使用下面的命令來修改相應的文件:
# vi /etc/security/limits.conf


還需要將如下內容添加到/etc/pam.d/login文件:
session required /lib/security/pam_limits.so
可用以下命令來修改相應的文件:
# vi /etc/pam.d/login

(2) 更改登錄腳本
必須更改Oracle用戶的登錄shell。具體的更改取決於默認的shell類型。
對於Bourne、BASH和Korn shell,添加以下內容到/etc/profile文件(也可以在後面添加oracle用戶后,以oracle用戶登錄修改 .bash_profile文件,我選擇的是這種方式):
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
對於C shell(csh或tcsh),添加以下內容到/etc/csh.login文件:
if [ $USER = "oracle" ]; then
limit maxproc 16384
limit descriptors 65536
endif
4. 創建必須的組和Oracle軟體擁有者用戶
Oracle建議為Linux和UNIX操作系統創建3個操作系統組,分別為OSDBA、OSOPER和ORAINVENTORY(Oracle Inventory Group 清單組)。OSDBA組的默認名為dba,OSOPER組的為oper,ORAINVENTORY組的為oinstall。
使用下面命令創建相應的用戶組:
# /usr/sbin/groupadd dba (或 # groupadd dba)
# /usr/sbin/groupadd oper (或 # groupadd oper)
# /usr/sbin/groupadd oinstall (或 # groupadd oinstall)
為了清晰地劃分ASM管理和資料庫管理的職責,Oracle Database 11g 引入了一個新的SYSASM許可權。另外還引入了一個名為OSASM的新操作系統組(OSASM組),單獨用於ASM管理。OSASM組的默認名為asmadmin。
使用以下命令來創建新的OSASM操作系統組:
# /usr/sbin/groupadd asmadmin (或 # groupadd asmadmin)
創建了必要的組后,還需要創建一個擁有Oracle用戶軟體的最重要的用戶,通常名為oracle(可選用別的名字,但習慣上使用oracle)。oracle用戶為Oracle軟體的擁有者,此用戶默認組或主要組是最新創建的ORAINVENTORY組。Oracle軟體的擁有者(oracle用戶)而不是根用戶(root用戶)才有許可權,安裝Oracle軟體。
可以用一下命令創建oracle用戶:
# /usr/sbin/useradd ?g oinstall ?G dba ?d /home/oracle -p oracle1 oracle

# useradd ?g oinstall ?G dba,oper,asmadmin oracle

創建oracle用戶時,我使用的是下面的方式useradd方式;如果使用的/usr/sbin/useradd 的方式,在此命令中:
g 指示用戶oracle的主要組,為oinstall組;
G 指示次要組,這裡為dba組;
d 指示新用戶的主目錄;
p指示oracle用戶的密碼,這裡為oracle1。
也可通過以下命令來設置oracle用戶的密碼:
# /user/bin/passwd oracle (或 # passwd oracle)
5. 創建必需的目錄
系統管理員(根用戶)還必須創建Oracle基目錄,把它作為Oracle軟體的頂層目錄,並將其所有權分配給oracle用戶。假如選擇標準的/u01/app/oracle目錄作為Oracle目錄,可用下列命令創建並分配所有權和文件許可權:
# mkdir ?p /u01/app/oracle/product/11.2.0/db_1
# chown ?R oracle:oinstall /u01
# chmod ?R 775 /u01

6. Oracle擁有者的預安裝任務
需要用oracle用戶登錄並設置許多環境變數。雖然所有的環境變數都可以手動設置,但最好還是編輯默認shell啟動文件,在Fedora 17 下,它為oracle用戶主目錄中(默認為/home/oracle目錄)的.bash_profile文件。通過編輯shell啟動文件,將保證每次登錄時已恰當地設置環境。下面列出需要設置的主要環境變數。
ORACLE_BASE。此變數為所有Oracle安裝的開始目錄。所有軟體文件和其他文件都放在ORACLE_BASE目錄下的目錄中。在此,這個目錄為 /u01/app/oracle。
ORACLE_HOME。在安裝Oracle伺服器是,ORACLE_HOME變數應該設置為oracle_dase/product/11.2.0/db_1。這在里,此變數為/u01/app/oracle/product/11.2.0/db_1。
TNS_ADMTN。TNS_ADMTN變數用來設置Oracle Net配置文件的位置。默認網路配置文件名為tnsnames.ora,位於$ORACLE_HOME/network/admin目錄。
ORACLE_SID。該變數很重要,但是如果不打算現在創建一個資料庫,則不需要設置。
ORAENV_ASK。除了.preofile文件中的環境變數外,還需要添加另一行以找到oraenv文件,這樣所有作為oracle軟體用戶登錄的會話將會自動讀取oraenv文件。oraenv文件將提示oracle用戶輸入想使用的資料庫的正確SID。在具有幾個資料庫實例的系統上,oraenv文件便於登錄時做出選擇。下面是必須添加到.profile文件的行:
./usr/local/bin/oraenv
如果設置ORAENV_ASK變數的值為NO,則當前ORACLE_SID的值將被作為想使用的SID。
還需如下編輯/home/oracle/.bash_profile文件(以oracle用戶登錄進行編輯),使得每次oracle用戶登錄時,已正確設置環境變數:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
 
ORACLE_HOSTNAME=fedora17.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
 
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
使用下面的命令對相應的文件添加內容:
$ vi .bash_profile
使用該命令時,所處當前目錄為/home/oracle。否則得用如下命令進行修改:
$ vi /home/oracle/.bash_profile
這兩條命令都是以oracle用戶登錄執行的。


7. 修改一些相應的信息
(1) 修改hosts文件
   
例如:
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.191   fedora17.localdomain  fedora17
可以先通過 cat命令來查看該文件。命令如下:
# cat /etc/hosts

由於我沒用可用的ip地址,所以沒有修改hosts文件。
(2) 禁止linux安全需修改」/etc/selinux/config」文件
安裝Oracle軟體之前,最好先禁用linux安全,所以得對/etc/selinux/config文件進行如下修改:
SELINUX=disabled
使用如下命令進行修改:
# vi /etc/selinux/config



(3) 修改發行版本信息
修改系統發行信息,Oracle只識別一些商業linux系統,以下改為redhat5, 修改」/etc/redhat-release」文件,並替換」Fedora17…」等信息為:
redhat release 5
使用以下命令進行修改:
# vi /etc/redhat-release



8. 訪問安裝軟體(下載安裝軟體)
一旦完成了所有的預安裝工作,就可以安裝Oracle Database 11 g軟體了。可直接利用CD或DVD的軟體分發包進行安裝,也可以從Oracle Technology Network網站(http://www.oracle.com/technetwork/index.html)免費下載軟體。我使用的是免費下載的軟體包。
(1)下載適合版本的免費軟體包:
linux_11gR2_database_1of2.zip
linux_11gR2_database_2of2.zip
(2) 對已下載的軟體包進行解壓
我將兩個免費軟體包都移動到oracle用戶的主目錄(/home/oracle)下,然後對其進行解壓。解壓命令如下:
# unzip linux_11gR2_database_1of2.zip (我是用根用戶進行解壓的)



解壓過程會自動生成一個database目錄,然後解壓下一個軟體包,它解壓出來的東西,同樣會放入database目錄下。
# unzip linux_11gR2_database_2of2.zip

解壓完成後,可以將兩個軟體包都刪除,當然也可以不刪除。
使用以下命令進行刪除:
mv linux_11gR2_database_1of2.zip
mv linux_11gR2_database_2of2.zip

(3) 修改database目錄的許可權
由於我是以根用戶進行的解壓,所以必須得對database目錄及其子目錄進行許可權修改,修改命令如下:
# chown ?R oracle:oinstall database/

9. 安裝軟體
為了開始安裝,可以切換到合適的目錄並作為oracle用戶(以oracle用戶登錄)執行runInstaller腳本。
(1) 檢查以保證runInstaller可執行腳本在該處:
$ ls
doc install reponse runInstaller stage welcome.htm
(2) 執行runInstaller可執行腳本調用Oracle University Installer:
$ ./runInstaller (必須得oracle用戶才行)

該腳本執行后終端會出現類似如下的內容:
Starting Oracle Universal Installer …
Checking Temp ……
這是檢查Temp空間以及Swap空間等,如果檢查不通過,便不能進入安裝界面。
如果檢測通過,便會有如下圖的界面,進入到Oracle的圖形化安裝界面。

這裡,假定Oracle Universal Installer的GUI版本正常。(如果此GUI在屏幕上不正常,就可能需要調整DISPLAY變數或使用xhost命令。)Oracle Database 11g版本2伺服器軟體安裝的過程中將顯示如下一系列窗口和提示。(為了更直觀的了解圖形界面安裝過程,我截的圖比較多,而對於圖的解釋,只挑重要的部分進行。)
1) 配置安全更新
在這裡,我沒有選擇默認的選項,去掉單選框里的「√」,然後單擊「Next」,進入下一步操作:選擇安裝選項。單擊「Next」后,可能會有個提示語句,可以選擇忽略不管。


2) 選擇安裝選項
這一步是選擇安裝,有三種選擇:
創建並配置一個資料庫
只安裝資料庫軟體
更新已有的資料庫
一般初次安裝會選擇前兩種方式,在這我選擇第一種,當然也可以選擇第二種,但是要知道,第二種只是安裝資料庫軟體,並不會創建資料庫,如果選擇了第二種,安裝完后,還得自行創建一個資料庫。

3) 系統類型選擇
有兩種類型,一種是桌面型,一種是伺服器型,可以根據自己喜好選擇,在這我選擇伺服器類型進行安裝。

4) 節點選擇
節點選擇,我選擇默認方式,也就是單擊「Next」,進入一步安裝。

5) 安裝類型選擇
有兩種選擇,一種是典型安裝(Typical Install),一種是高級安裝(Advanced Install)。典型安裝是默認方法,一般初次安裝選擇這種方法。

6) 典型安裝配置
典型安裝配置界面,有大量的配置信息,這些都是默認,有許多默認文件安裝路徑,可以更改,最好不更改,且保證和前面的配置文件的信息相一致以及相應的目錄都存在,不然無法安裝。然後輸入管理密碼及其確認密碼。


7) 創建庫存
選擇默認即可——單擊「Next」。

8) 先決條件檢查
檢查一些所需軟體包是否安裝,還有相應的條件是否滿足。可能有些軟體包未能安裝,這時選擇忽略(單擊右上角的「Ignore All」),然後單擊「Next」。


9) 確認顯示匯總窗口
可以將匯總文件保存在一個目錄中,也可以不保存,然後單擊「Next」開始Oracle的實際安裝。


10) 實際安裝過程
Install窗口出現,顯示正在安裝的組件。在此屏幕的下方,可以看到安裝日誌正寫入的目錄名。有時會令人頭疼地看到安裝程序似乎停在某個活動上,可以使用tail命令監控安裝程序在做什麼,並在獨立的窗口監視安裝日誌文件。其中會有一些提示或警告信息,可以選擇繼續(continue)、跳過(skip)或OK忽略這些提示。












11) 安裝暫停,運行相應腳本
安裝到將完成時,安裝過程將暫停,要求你作為系統管理員(根用戶)執行名為root.sh腳本。打開一個不同的窗口,作為根用戶執行/u01/app/oracle/product/11.1/db_1/root.sh腳本。root.sh腳本設置ORACLE_OWNER和ORACLE_HOME環境變數的值。此腳本添加合適的值到/etc/oratab文件。
此外,如果第一次安裝oracle軟體,安裝程序還要求根用戶執行位於/u01/app/oraInventory目錄中的orainstRoot.sh。




12) 結束安裝
一旦執行完要求執行的一個或兩個腳本后,單擊「OK」,然後單擊「Next」,會看到結束(Finish)窗口,它表示成功結束Oracle Database 11g軟體的安裝。單擊「Next」,確定結束Oracle Universal Installer會話的選擇。


到此,Oracle Database 11g伺服器的安裝就算完成了。
10. 安裝後任務
安裝Oracle Database 11g軟體后,還需要完成一些配置文件的還原及修改,以確保Linux系統及Oracle軟體的正常運行。
(1) 更新關閉和啟動腳本
修改/etc/oratab文件,將orcl:/u01/app/oracle/product/11.2.0/db_1:N中的N改成Y,然後保存。


(2) 將Linux的系統版本信息修改回來
將Linux系統版本由redhat release 5改回Fedora release 17 (Beefy Miracle)
(3) 將Linux的SElinux安全機制改回成enforing模式
修改後,最好重啟一下電腦,使得SElinux安全機制生效。重新啟動時,Linux會檢測一些配置及文件,啟動過程可比較慢。
11. 測試Oracle Database 11g是否成功安裝及能否正常運行
(1) 啟動SQL*Plus會話並連接資料庫
用sqlplus命令及/nolog選項,只啟動SQL*Plus會話,然後用connect命令及/as sysdba選項以sysdba的身份連接資料庫,再用startup命令啟動資料庫。

(2) 創建一張表並進行插入及查詢操作
創建一張test表,並對其進行插入和查詢操作,用以驗證資料庫可正常運行。

至此,基本上可以確定Oracle Database 11g安裝成功並且可以正常運行。當然,在這,我並沒有配置Oracle的網路服務,只是進行本地連接測試,網路配置可以根據自己需要自行配置。詳解Fedora17 下安裝Oracle Database 11g
完成情況:
Oracle Database 11g安裝成功,並能正常運行,對其進行相應的創建表、查詢表、數據的插入的操作都沒問題。沒有對Oracle進行網路配置,遠程連接不能進行,相應的一些聯機操作也可能不能執行。詳解Fedora17 下安裝Oracle Database 11g


安裝建議、注意事項及出現的問題:
1. Linux下安裝Oracle Database 11g首先要熟悉Linux,會使用Linux命令行,熟悉相應的一些基本的命令。像yum、rpm、mkdir、cd、ls、chmod、chown等命令最好會至少要有所了解,vi編輯器也要會使用。如果對這些Linux的基本命令、基本操作不熟悉不知道的話,建議安裝前先了解、熟悉這些命令,這樣可以減少安裝過程中的失誤和安裝時間。
2. 安裝Oracle Database 11g是一件需要足夠耐心事情,很難一次通過(我安裝七八次才安裝成功),每次安裝大概要2個小時左右,所以要有失敗的心理準備和屢敗屢戰的精神,不然,建議別嘗試安裝。
3. 安裝Oracle Database 11g軟體前,先確保重要的文件已備份。因為在安裝Oracle Database 11g軟體時,可能會因為操作失誤造成Linux系統出現一系列的錯誤,甚至可能造成系統崩潰(我安裝時,有一次就造成Linux系統崩潰,然後重新安裝了系統。當然,是否要重裝系統也取決於對Linux系統的熟悉程度。)。
4. 由於Oracle Database 11g不是漢化版地軟體,所以安裝的語系環境很重要,最好選擇US-English語系(我建議安裝Linux時就選擇美式英語語系,這樣既可以學習英語,在安裝一些軟體時也可以避免不必要的麻煩,如安裝Oracle過程因Linux體統語系出現的亂碼問題。),不然,進入圖形界面安裝時會出現亂碼。下面給出Linux下更改語言設置的幾種方法:
全局更改,每個用戶都是一種統一的語言設置
直接修改/etc/sysconfig/i18n文件,把原來的語言設置用#註釋掉,然戶在新加一行如,要修改成中文語言就加:LANG="zh_CN.UTF-8"
要修改成英文語言就加:LANG="en_US.UTF-8"
保存之後用./rc.local或者sh rc.loacl 執行rc.local
單個用戶更改,不同的用戶有不同的語言設置
把/etc/sysconfig/i18n複製到要更改的用戶的主目錄下
$ cp /etc/sysconfig/i18n ~home/.i18n
然後按上面提到的方式修改.i18n文件,保存之後執行rc.local
終端臨時更改
直接在shell下執行 export LANG="zh_CN.GBK"   //中文顯示
export LANG="en_US.UTF-8" //英文顯示
5. 在安裝Oracle Database 11g準備階段給oracle用戶添加相應的環境變數配置文件時需要特別注意ORACLE_SID,如果該值給的不正確,安裝完成後啟動oracle會出現錯誤。
6. 安裝Oracle Database 11g時需要特別細心,不然,很容易因為粗心大意導致安裝失敗。例如:我在一次安裝時,當安裝到暫停Oracle Universal Installer會話來執行所需的幾個腳本文件(如/u01/app/oracle/product/11.1/db_1/root.sh腳本)時,因為粗心進錯目錄,沒有找到該腳本,沒能執行該腳本,放棄安裝,然後整個刪除后重裝。
7. Linux系統的文件目錄分配很重要,硬碟大小也很重要。倘若Linux所能管理的硬碟很小(雙系統的情況下)的話,或個文件目錄大小分配不太好(如根目錄(/)太小),就算Oracle軟體裝上,運行時也會影響到Linux系統地運行,甚至導致Linux系統運行出問題,例如根目錄(/)超過了系統限制的上限,此時系統會發出警告。
詳解Fedora17 下安裝Oracle Database 11g1.pdf

[火星人 ] 詳解Fedora17 下安裝Oracle Database 11g已經有724次圍觀

http://coctec.com/docs/linux/show-post-156298.html