【11gR2】Enterprise Linux Release 5 Update 4安裝64位Oracle 11gR2(文字版)

Oracle 11g的Release 2版本自2009年8月份推出到現在已經有一段時間了,爲使她真容得現,遂書此翔實記錄以記之。供參考和體驗。

1.操作系統和Oracle安裝介質下載
1)操作系統安裝介質下載地址
這裏我使用的操作系統是目前,從Oracle官方網站上能夠得到的最新版本:Oracle定製的Linux企業版5.4。
Oracle的Enterprise Linux Release 5 Update 4安裝介質下載地址如下:
http://edelivery.oracle.com/

從下載列表中發現,只有CD版本的操作系統安裝介質可以下載,DVD版本雖然赫然出現在列表之中,但是無法下載。因此需要刻錄的光盤數無形中增加到了6張CD,使操作系統的安裝變得更加繁瑣。

操作系統安裝介質大小約爲3.2G。

2)Oracle 11gR2安裝介質下載
在http://edelivery.oracle.com/上同樣可以獲得目前最新版本的Oracle安裝介質——Oracle 11.2.0.1.0。
Oracle 11gR2的安裝介質包含兩個zip包,總大小約爲2.3G(與早期版本相比有點“胖”!)。

2.安裝操作系統
關於這個“穿盔甲的小企鵝”Linux版本(Oracle Enterprise Linux Release 5 Update 4)的安裝過程,這裏就不贅述了。以下談一些有趣的事情:
1)操作系統的安裝應該由誰來部署,SA?DBA?
一般情況下,如果您身邊有可愛的SA,基本上OS層面的調優可以請SA來完成,不過我強烈建議DBA要對整套數據庫環境瞭如指掌,因此這一步驟最好DBA“躬親”。

2)操作系統安裝過程中組件的選擇問題
如 果在安裝操作系統過程中對於rpm包的選擇實在是不太確定,並且部署的僅僅是測試實驗環境,您可以使用一般意義上“簡單粗暴”的方法:本着“寧可錯選全部 也不放過一個”的原則,將所有可選組件全部選擇並安裝。注意,選擇組件的過程比較浪費鼠標,大約需要點擊幾百下,請做好思想上和體力上的準備,防止身心俱 疲。
從這裏可以看出一個Junior和Senior的一點區別:Junior以“能行”爲目的,Senior以“最優”爲終極目標。

3)強烈呼籲操作系統介質的DVD單張版本可供下載
因爲我使用的是6張CD版本的安裝介質,因此我更換了5次光盤,最後,終於看到了那隻可愛的“穿着盔甲的小企鵝”迎面向我走來。
如果只是一張安裝介質光盤的話,至少有以下幾個好處:
(1)減少光盤的浪費;
(2)減少往返於寒冷機房的次數;
(3)減少尋找特定rpm包的時間;
(4)提高生活質量。

4)附帶的驚喜
使用Oracle定製的這個Linux操作系統安裝完成後,系統中將會默認創建oracle用戶。
驗證一下oracle用戶的存在性和可用性:
[root@secDB ~]# cat /etc/passwd | grep oracle
oracle:x:500:501::/home/oracle:/bin/bash

[root@secDB ~]# su - oracle
[oracle@secDB ~]$ id
uid=500(oracle) gid=501(oinstall) groups=500(dba),501(oinstall)

5)這裏我們使用兩種方法確認一下操作系統的版本
操作系統安裝完成後,確認一下操作系統的版本(這裏給出兩種方法)。
[root@secDB ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga)

[root@secDB ~]# cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.4 (Carthage)
Kernel \r on an \m

OK,從上面的兩種方法得到的結果,操作系統的版本的確是Linux 5.4。

3.將本機上剛剛下載的Oracle 11gR2安裝介質上傳到服務器並解壓
我習慣於在Linux操作系統root用戶根目錄下創建一個hsw_media目錄,用來統一存放安裝介質。
1)創建“/hsw_media”目錄
[root@secDB ~]# mkdir -p /hsw_media

2)上傳Oracle 11gR2的安裝介質到服務器上
方法很多,可以使用ftp。因爲我安裝了Cygwin工具,所以可以使用更加熟悉的“scp”命令上傳安裝介質,命令如下:
$ scp * [email protected]:/hsw_media
[email protected]'s password:
linux.x64_11gR2_database_1of2.zip 100% 1182MB   6.8MB/s   02:55
linux.x64_11gR2_database_2of2.zip 100% 1060MB   8.2MB/s   02:09

3)在服務器端解壓安裝介質,注意兩個zip包需要分別解壓,並保證解壓後的內容均在同一個database的目錄下
(1)先解壓第一個安裝包
[root@secDB hsw_media]# unzip linux.x64_11gR2_database_1of2.zip

(2)第一個安裝包解壓完成後順手查看一下解壓後介質大小。大約1.2G,僅僅解壓完成一個安裝包就與之前10g的安裝包大小相同。
[root@secDB hsw_media]# du -sm database
1285    database

(3)再繼續解壓第二個安裝包
[root@secDB hsw_media]# unzip linux.x64_11gR2_database_2of2.zip

(4)最後確認一下最終的安裝介質的大小。一共大約是2.3G,真是一個“大塊頭”
[root@secDB hsw_media]# du -sm database
2372    database

(5)爲了後面在oracle用戶下圖形化安裝數據庫,需要將安裝目錄的所有者修改爲oracle
[root@secDB ~]# chown -R oracle:oinstall /hsw_media/database

4.檢查服務器內存是否滿足1G的要求
如果服務器真的沒有滿足這個1G的要求,對安裝的影響也不是很大,只不過會在安裝正式開始前收到一個先決條件檢查不通過的“友情警告”信息。
下面給出兩種查看系統內存的方法
1)常用查看方法
[root@secDB ~]# cat /proc/meminfo | grep MemTotal
MemTotal:      1784832 kB

2)取巧的查看方法
[root@secDB ~]# top | grep Mem
Mem:   1784832k total,  1762364k used,    22468k free,     9660k buffers

5.檢查服務器的Swap是否滿足要求
1)Swap交換區大小與物理內存大小的比例關係的一般規律如下
如果物理內存在1G到2G之間,Swap分配大小建議是物理內存的1.5倍;
如果物理內存在2G到16G之間,Swap建議與物理內存大小保持一致;
如果物理內存在16G以上,Swap大小建議保證有16G即可。

2)查看當前系統中Swap的大小
/proc/meminfo文件中同樣記錄了Swap大小的信息
[root@secDB ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal:     4095992 kB

取巧的方法同樣可以達到獲得Swap大小的目的
[root@secDB ~]# top | grep Swap
Swap:  4095992k total,      248k used,  4095744k free,  1535268k cached

3)結論
物理內存是2G,Swap大小是4G,滿足安裝的需求。

6.確認所剩磁盤空間是否滿足安裝需求
Oracle軟件安裝所需要的磁盤大小一般不超過5G,所以保證磁盤可用空間在5G以上即可。但是將其他因素(如數據庫文件所佔用空間等)考慮進來,建議至少保證有25G的磁盤空間可用
[root@secDB ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup01-LogVol00

                      261G   12G  237G   5% /
/dev/cciss/c0d0p1      97M   27M   65M  30% /boot
tmpfs                 872M     0  872M   0% /dev/shm
none                  872M  104K  872M   1% /var/lib/xenstored

因爲在安裝過程中,有一部分數據會寫入到“/tmp”目錄下,建議該目錄的空間大小不要小於1G
asd@asddevdb /exp$ df -h /tmp
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      127G   60G   61G  50% /

7.保證Oracle安裝過程中所需要的rpm包均安裝到位
以下是與此版本有關的rpm安裝命令列表,在執行過程中,如果該rpm包已經部署過,將收到不必重新安裝的提示,如果相應的rpm包未安裝過,命令將會自動進行安裝。
所以一次性執行一下這些命令比較穩妥。
這裏,因爲我在前期安裝操作系統的時候,將所有的安裝界面上可選的組件都選擇並安裝了,所以這一步驟的安裝比較順利。
[root@secDB server]# rpm -ivh rpm -ivh binutils-2.17.50.0.6*
[root@secDB server]# rpm -ivh compat-libstdc++-33-3.2.3*
[root@secDB server]# rpm -ivh elfutils-libelf-0.137*
[root@secDB server]# rpm -ivh elfutils*
[root@secDB server]# rpm -ivh gcc-4.1.2*
[root@secDB server]# rpm -ivh gcc-c++-4.1.2*
[root@secDB server]# rpm -ivh glibc-2.5-42*
[root@secDB server]# rpm -ivh glibc-common-2.5*
[root@secDB server]# rpm -ivh glibc-devel-2.5*
[root@secDB server]# rpm -ivh glibc-headers-2.5*
[root@secDB server]# rpm -ivh ksh-20080202*
[root@secDB server]# rpm -ivh libaio-0.3.106*
[root@secDB server]# rpm -ivh libaio-devel-0.3.106*
[root@secDB server]# rpm -ivh libgcc-4.1.2*
[root@secDB server]# rpm -ivh libstdc++-4.1.2*
[root@secDB server]# rpm -ivh libstdc++-devel-4*
[root@secDB server]# rpm -ivh make-3.81*
[root@secDB server]# rpm -ivh sysstat-7.0.2*
[root@secDB server]# rpm -ivh unixODBC-2.2.11*
[root@secDB server]# rpm -ivh unixODBC-devel-2.2.11*
[root@secDB server]# rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
[root@secDB server]# rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm

8.配置系統核心參數
在 文件“/etc/sysctl.conf”中需要對如下所列這些核心參數格外關心並特殊照顧,重點關注“kernel.shmmax”參數的設置,其次關 注“fs.file-max”、“net.ipv4.ip_local_port_range”和“net.core.wmem_max”參數的設置。
[root@secDB ~]# vi /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

9.使用“sysctl -p”命令使上面的修改生效,同時打印出所有當前的設置值
[root@secDB ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 8192
kernel.shmmax = 4398046511104
kernel.shmall = 1073741824
fs.file-max = 6815744
kernel.msgmni = 2878
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500

10.修改Shell Limits以便提高Oracle的執行效率
1)確認“/etc/security/limits.conf”文件中已經包含如下內容,此處我未做修改,保持了系統安裝完成後的默認值
[root@secDB ~]# vi /etc/security/limits.conf
oracle   soft   nofile    131072
oracle   hard   nofile    131072
oracle   soft   nproc    131072
oracle   hard   nproc    131072
oracle   soft   core    unlimited
oracle   hard   core    unlimited
oracle   soft   memlock    50000000
oracle   hard   memlock    50000000

2)在文件“/etc/pam.d/login”添加如下一行信息
[root@secDB ~]# vi /etc/pam.d/login
session    required     pam_limits.so

11.創建Oralce的安裝所需要的目錄並給與755權限
[root@secDB ~]# mkdir -p /oracle/ora11gR2/product
[root@secDB ~]# mkdir -p /oracle/ora11gR2/oradata
[root@secDB ~]# chown -R oracle:oinstall /oracle
[root@secDB ~]# chmod -R 775 /oracle

12.配置oracle用戶的配置文件“.bash_profile”
[root@secDB ~]# su - oracle
[oracle@secDB ~]$ vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle/ora11gR2
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=secooler
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/usr/X11R6/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.ZHS16GBK"
umask 022
set -o vi
alias vi=vim
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

13.因爲稍後我們打算採用圖形化方法安裝數據庫,爲了遠程操作方便,需要配置一下VNC軟件(當然一切可以實現遠程操作的工具都可以使用)
【實驗】【VNC】Linux環境VNC服務安裝、配置與使用
http://space.itpub.net/519536/viewspace-607549

14.圖形化安裝過程正式啓動
使用VNC客戶端登錄到root用戶的桌面。

15.在root用戶下使用“xhost +”命令打開訪問控制,以便允許在oracle用戶下可以啓動圖形化安裝界面
[root@secDB ~]# xhost +

16.切換到oracle用戶,然後進入到Oracle安裝介質的目錄
[root@secDB database]# su - oracle
[oracle@secDB ~]$ cd /hsw_media/database/

17.執行“runInstaller”調出安裝界面
安裝界面與以往的版本相比有了較大的變化。在這個全新的安裝引導界面裏,我們可以很容易的從左側的安裝步驟列表中得到我們所處的具體環節。界面的右側是可供選擇的配置選項。下面我來詳細的描述一下整個安裝過程。

1)Configure Security Updates這一步驟,要求提供一個郵箱地址,這裏我們選擇不提供,點擊“Next”。點擊“Yes”確認不提供郵箱地址;

2)Installation Option這一步驟,保持默認選項“Create and configure a database”不變,點擊“Next”;

3)System Class這一步驟,細節發現:每一個選項前面都有一個帶問號的黃色小燈泡,鼠標懸停在上面可以得到簡略的提示信息,如果想得到詳細的提示信息還可以點擊 “more”。我們這裏選擇“Sever Class”,可以通過此選項得到更多的可配置項,另外一個選項“Desktop Class”是供快速簡易部署使用的。點擊“Next”;

4)Grid Options這一步驟,選擇默認的“Single instance database installation”即可,另外一個選項“Real Application Cluster database installation”在RAC部署安裝時使用,點擊“Next”;

5)Install Type這一步驟,默認是“Typical install”,我爲得到更多的細節,這裏選擇了“Advanced Install”,點擊“Next”;

6)Product Languages這一步驟,最終也沒能找到Chinese,只好使用默認設置“English”,點擊“Next”;

7)Database Edition這一步驟,有三個選項,我們選擇默認的“Enterprise Edition”選項(提示:只有選擇第一項,“Select Options...”按鈕纔可以點擊並進行深入配置),點擊“Next”;

8)Installation Location這一步驟,保持默認讀取到的環境變量不變即可,點擊“Next”;

9)Create Inventory這一步驟,保持默認,點擊“Next”;

10)Configuration Type這一步驟,保持默認的“General Purpose / Transaction Processing”,點擊“Next”;

11)Database Identifiers這一步驟,這裏我將“Global database name”的內容從“orcl”修改成“secooler”,在修改該項的同時“Oracle Service Identifier”也會隨之改變,點擊“Next”;

12)Configuration Options這一步驟,可以配置內存分配、字符集、安全和是否創建樣本數據。注意一下字符集的選擇,這裏我選擇的是“Simplified Chinese ZHS16GBK”,其他的可以使用默認值,點擊“Next”;

13)Management Options這一步驟,保持默認,不配置Database Control,點擊“Next”;

14)Database Storage這一步驟,保持默認的“/oracle/ora11gR2/oradata”不變,如果想使用ASM也是在這裏進行配置,點擊“Next”;

15)Backup and Recovery這一步驟,在這一步驟裏可以選擇“Enable automated backups”選項啓用自動備份,我這裏爲了簡單一些,選擇默認的“Do not enable automated backups”不啓用自動備份。點擊“Next”;

16)Schema Passwords這一步驟,爲了系統安全,這裏可以對SYS, SYSTEM, SYSMAN和DBSNMP系統用戶單獨設置登錄密碼,但我爲了簡化操作,統一設置爲一個密碼。在設置密碼的過程中,Oracle對密碼的複雜性也做了一 些限制,需要大寫字母小寫字母還有數字混合出現才能通過校驗。點擊“Next”;

17)Operating System Groups這一步驟,設置OSDBA組和OSOPER組,保持默認,點擊“Next”

18)Prerequisite Checks這一步驟,Oracle將全面檢查之前的配置是否滿足安裝需求。這一步驟中有關不滿足安裝先決條件的提示信息的可參考性是一個亮點,非常的人 性化,任何錯誤都會給出一個詳細的說明。比如當缺少某些rpm包時,提示信息會給出具體的rpm包的名字;再如,當某一個系統變量設置得不正確時,會給出 現有錯誤設置和正確設置的對比信息。而且還有一個按鈕叫做“Fix & Check again”可以自動糾正一些錯誤,這應該也算Oracle在安裝過程中的一大進步。如果在這一步Oracle要求的所有安裝的先決條件均滿足了,安裝界 面將自動跳轉到下一頁“Summary”;

19)Summary這一步驟,能夠看到這一步,基本上開始安裝就沒有什麼問題了。點擊“Finish”進入正式安裝階段;

20)Install Product這一步驟,界面上的進度信息比較直觀,更加值得稱讚的是可以點擊“Details”查看詳細動態的安裝日誌,有一種像使用“tail -f”命令那樣身臨其境感覺,很爽,便於快速發現錯誤,這也是非常值得稱讚的改進。這一步需要的時間最長,不過都是後臺自動化操作,可以在這個時候小小的 休息一下。最後看到DBCA提示信息後,點擊“OK”退出提示窗口,然後就會看到我們非常熟悉的提示手工執行兩個腳本,在root用戶下分別執行一下
[root@secDB server]# cd /oracle/oraInventory/
[root@secDB oraInventory]# ./orainstRoot.sh
[root@secDB oraInventory]# cd /oracle/ora11gR2/product/11.2.0/dbhome_1/
[root@secDB dbhome_1]# ./root.sh
腳本執行完成後,點擊“OK”;

21)Finish這一步驟,終於到了最後一步,右側窗口提示EM的URL,點擊“Close”完成整個Oracle 11gR2的安裝過程。好漫長,長舒一口氣。

18.最後驗證一下辛辛苦苦得來的Oracle 11gR2可用性
[oracle@secDB ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 28 00:59:54 2009

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> select sysdate from dual;

SYSDATE
-------------------
2009-10-28 01:00:29

SQL>

夜已經深了,現在已經是凌晨1點了,吃個夜宵該回家了。
(以上操作的每一步驟均有截圖,找時間再做一個圖文並茂的吧,今天到此結束。晚安朋友們。)

19.小結
1)整個安裝過程比較順暢,安裝界面比較簡潔大方,對進度的友好提示是一大亮點;
2)每一步驟中的每一個選項都配有詳細的註釋信息(可以點擊帶問號的黃色小燈泡);
3)在系統不滿足安裝先決條件時,提示信息很具有參考價值;
4)在漫長的後臺自動安裝過程中,實時日誌顯示是另外一個亮點;
5)11g的宣傳圖標很cool,有一種爆炸的衝擊力。

Good luck.

-- The End –-
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章