Oracle 11g for Linux CentOS 5.2 安裝步驟(帶圖解) (建議在安裝之前先瀏覽一遍)
首先在oracle官方上下載一個oracle
11g(特別說明一下在安裝CentOS 5.2時儘量是把開發包裝全一些,這樣您在安裝包檢測的時候就會少裝一些包。還有一點:安裝大概需要5G多的空間,空間不夠就老是出錯。oralcle安裝目錄下面的空間一定要大點
要不然沒有法安裝)
1、用unzip解壓 Oracle
11g文件
unzip linux_x86_11gR1_database.zip
(這個您也可以在Windows下面解壓,不過您要加載過來,如果你的分區是NTFS,那您就要安裝kernel-module-ntfs、fuse、ntfs-3g,當然具體的怎麼操作就不必多說了。不過顯卡一定要好。上次我在公司弄了一臺戴爾破機器 因爲網卡沒有裝好。點擊下一步都點擊不了)
2、安裝包檢測及安裝
在終端中執行:
rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat
顯示結果如下:
vel sysstat
gcc-4.1.2-42.el5
make-3.81-3.el5
binutils-2.17.50.0.6-6.el5
setarch-2.0-1.1
package compat-db is not installed
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
unixODBC-2.2.11-7.1
package unixODBC-devel is not installed
package libaio-devel is not installed
package sysstat is not installed
分析:
上面package 軟件包 is not installed 部分說明此軟件包沒有安裝,您可以再光盤裏面找,再用rpm -ivh 安裝就行,這些包在centos安裝盤中都用;或者直接用yum install 軟件包 來安裝,具體操作如下:
yum install compat-db
安裝成功Installed: compat-db.i386 0:4.2.52-5.1 Complete!
yum install compat* (這個包比較多,要稍等一會,不急先抽根菸吧。)
安裝成功 Installed: compat*......... Complete!
yum install unixODBC-devel
安裝成功 Installed: unixODBC-devel.i386 0:2.2.11-7.1 Complete!
yum install libaio-devel
安裝成功 Installed: libaio-devel.i386 0:0.3.106-3.2 Complete!
yum install sysstat
安裝成功 Installed: sysstat.i386 0:7.0.2-1.el5 Complete!
說明:您可以再執行一次rpm -q 軟件包組合 具體如下:
gcc-4.1.2-42.el5
make-3.81-3.el5
binutils-2.17.50.0.6-6.el5
setarch-2.0-1.1
compat-db-4.2.52-5.1
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
libaio-devel-0.3.106-3.2
sysstat-7.0.2-1.el5
如上所述:還是有4個軟件包沒有安裝,這個不用理會,其實我們剛纔安裝的compat包已經包含了;可以繼續下一步了。
3、系統參數和用戶及目錄設置
//系統參數設置
vi /etc/sysctl.conf
以下爲此文件更改後的內容:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
#kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
#kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 268435456
#Below for oracle11g
kernel.core_uses_pid = 1
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
//添加用戶組及用戶
執行如下命令:
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
//新建目錄權限
執行如下命令:
#mkdir -p /u01
#chown -R oracle:dba /u01
#chmod -R 755 /u01
//用戶環境變量
先切換用戶到oracle:
su – oracle
修改.bash_profile文件:
vi .bash_profile
以下是此文件的內容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:HOME/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0.6
export ORACLE_SID=sales
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS10=$ORACLE_HOME/nls/data
unset USERNAME
umask 022
4、安裝oracle
註銷root ;
用oracle帳號進入,進入Oracle所在的目錄我的是/disk/Oracle11g-linux_x86
[oracle@root-bs Oracle11g-linux_x86]$ ls
doc install response runInstaller stage welcome.html
執行./runInsaller進行安裝:
[oracle@root-bs Oracle11g-linux_x86]$ ./runInstaller
當進度條走到頭時彈出“密碼管理窗口”不想更改,點“確定”
//最後再做幾下修改就大功告成了:
vi /u01/app/oracle/producte/11.1.0.6/bin/dbshut
把ORACLE_HOME_LISTNER=$1改成ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /u01/app/oracle/producte/11.1.0.6/bin/dbstart
把ORACLE_HOME_LISTNER=$1改成ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /etc/oratab
把sales:/u01/app/oracle/product/11.1.0.6:N 改成ales:/u01/app/oracle/product/11.1.0.6:Y
好了,到此Oracle 11g安裝完成了,安裝的是否成功測試一下就知道了(等不急了......)。
5、測試oracle
[oracle@root-bs Oracle11g-linux_x86]$ dbstart
Processing Database instance "sales": logfile /u01/app/oracle/product/11.1.0.6/
startup.log
[oracle@root-bs Oracle11g-linux_x86]$ sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Sep 24 13:57:51 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
此提示說明服務已經運行不必再重新啓動了。如果出現如下錯誤:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.1.0.6/dbs/initsales.ora'
說明沒有找到Oracle實例,請重新創建實例:
[oracle@root-bs Oracle11g-linux_x86]$ netca
創建監聽:
具體步驟不再多說
[oracle@root-bs Oracle11g-linux_x86]$ dbca
創建數據庫:
具體步驟不再多說
總述:到此安裝步驟已經寫晚了,第一次寫這麼詳細的步驟,寫的比較匆忙,不足之處請大夥諒解,寫這個步驟主要是不想讓初學者們不要走這麼多的彎路,儘可能的把我所知道的全部貢獻給大家,希望能帶給大夥一點點的幫助。
目前最全面最詳細的Oracle 11g for Linux CentOS 5.2 安裝步驟(帶圖解) ,當然redhat也可以。
Oralce11g 一定注意磁盤分區
一、關於Linux的分區情況
雖然硬盤分區表中最多能存儲四個分區,但我們實際使用時一般只分爲兩個分區,一個是主分區(Primary Partion)一個是擴展分區(extended partition)兩種,主分區可以馬上被使用但不能再分區,擴展分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。那麼由擴充分區再分下去的是什麼呢?它就是邏輯分區(Logical Partion),況且邏輯分區沒有數量上限制。 對習慣於使用Dos或Windows的朋友來說,有幾個分區就有幾個驅動器,並且每個分區都會獲得一個字母標識符,然後就可以選用這個字母來指定在這個分區上的文件和目錄,它們的文件結構都是獨立的,非常好理解。
但是初上手Red Hat Linux嗎,可就有點惱人了。因爲對Linux用戶來說無論有幾個分區,分給哪一目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構。Red Hat Linux中每個分區都是用來組成整個文件系統的一部分,因爲它採用了一種叫“掛載點”的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄聯繫起來。這時要載入的一個分區將使它的存儲空間在一個目錄下獲得。
下面我們先來看看Red Hat Linux的驅動器是如何標識的。 對於IDE硬盤,驅動器標識符爲“hdx1”,其中“hd”表明分區所在設備的類型,這裏是指IDE硬盤了。“x”爲盤號(a爲基本盤,b爲基本從屬盤,c爲輔助主盤,d爲輔助從屬盤),“1”代表分區,前四個分區用數字1到4表示,它們是主分區或擴展分區,從5開始就是邏輯分區。例,hda3表示爲第一個IDE硬盤上的第三個主分區或擴展分區,hdb2表示爲第二個IDE硬盤上的第二個主分區或擴展分區。對於SCSI硬盤則標識爲“sdx1”,SCSI硬盤是用“sd”來表示分區所在設備的類型的,其餘則和IDE硬盤的表示方法一樣,不再多說。
我們從上面可以看到,Red Hat Linux的分區是不同於其它操作系統分區的,它的分區格式常用的有Ext3和Swap兩種,Ext3用於存放系統文件,Swap則作爲Red Hat Linux的交換分區(相當於windows中的虛擬內存文件)。那麼現在我們就可以知道Red Hat Linux至少需要兩個專門的分區(Linux Native(本地)和Linux Swap(交換))。由於不能將Red Hat Linux安裝在Dos/Windows分區。一般來說我們將Red Hat Linux安裝一個或多個類型爲“Linux Native”的硬盤分區,但是在Red Hat Linux的每一個分區都必須要指定一個“Mount Point”(掛載點),告訴Red Hat Linux在啓動時,這個目錄要給哪個目錄使用。對“Swap”分區來說,一般定義一個且它不必要定義載入點。
下面我們先對“Linux Native”和“Linux Swap”有個初步的瞭解。
*SWAP分區是LINUX暫時存儲數據的交換分區,它主要是把主內存上暫時不用得數據存起來,在需要的時候再調進內存內,且作爲SWAP使用的分區不用指定“Mout Point”(載入點),既然它作爲交換分區,我們理所當然應給它指定大小,它至少要等於系統上實際內存的量,一般來說它的大小是內存的一至兩倍。另外你也可以創建和使用一個以上的交換分區,最多16個。
*Linux Native是存放系統文件的地方,一般用EXT3的分區類型,對Red Hat Linux來說,有了較大的選擇餘地,可以把系統文件分幾個區來裝(必須要說明掛載點),也可以就裝在同一個分區中(掛載點是“/”)。
二、關於掛載點情況(加粗爲常用幾種)。
目錄
內容
/
根目錄,存放系統命令和用戶數據等(如果下面掛載點沒有單獨的分區,它們都將在根目錄的分區中)
/boot boot loader 的靜態鏈接文件,存放與Linux啓動相關的程序
(10/2)
/home 用戶目錄,存放普通用戶的數據(10/4)
/tmp 臨時文件(10/1)
/usr 是Red Hat Linux系統存放軟件的地方,如有可能應將最大空間分給它(10/3)
/usr/local 自已安裝程序安裝在此 (10/1)
/var 不斷變化的數據,服務器的一些服務放在下面。(10/1)
/opt
附加的應用程序軟件包
(10/1)
/bin 基本命令執行文件
/dev 設備文件
/etc 主機特定的系統配置
/lib 基本共享庫以及內核模塊
/media 用於移動介質的掛載點
/mnt 用於臨時掛載文件系統或者別的硬件設備(如光驅、軟驅)
/proc 系統信息的虛擬目錄(2.4
和 2.6
內核),這些信息是在內存中,由系統自己產生的。
/root root 用戶的目錄
/sbin 基本系統命令執行文件
/sys 系統信息的虛擬目錄(2.6
內核)
/srv 系統提供的用於 service
的數據
/usr/X1186 X-Windows目錄,存放一些X-Windows的配置文件
/usr/include 系統頭文件,存儲一些C語言的頭文件
/usr/src Linux內核源代碼,Linux系統所安裝的內核源代碼都保存在此
/usr/bin 對/bin目錄的一些補充
/usr/sbin 對/sbin目錄的一些補充
/lost+found 這個目錄在大多數情況下都是空的。但是如果你正在工作突然停電,或是沒有用正常方式關機,在你重新啓動機器的時候,有些文件就會找不到應該存放的地方,對於這些文件,系統將他們放在這個目錄下,就象爲無家可歸的人提供一個臨時住所。
/boot: 必須總是物理地包含 /etc、/bin、/sbin、/lib 和 /dev,否則您將不能啓動系統。典型的根分區需要 150–250MB 大小空間。
/home:每個用戶將放置他的私有數據到這個目錄的子目錄下。其大小取決於將有多少用戶使用系統,以及有什麼樣文件放在他們的目錄下。根據規劃的用途,應該爲每個用戶準備 100MB 空間,不過應該按您的需求調整。假如您在 home 目錄下計劃保存大量的多媒體文件(圖片、MP3、電影),該預備更多的空間。
/tmp: 程序創建的臨時數據大都存到這個目錄。通常 40–100 MB 應該足夠。一些應用程序 — 包括歸檔處理程序、D/DVD 製作工具和多媒體軟件 — 可能會使用 /tmp 臨時保存映像文件。如果要使用這些程序,應該相應地調整 /tmp 目錄的大小。這對於多用戶系統或者網絡服務器來說是有必要的。這樣即使程序運行時生成大量的臨時文件,或者用戶對系統進行了錯誤的操作,文件系統的其它部分仍然是安全的。因爲文件系統的這一部分仍然還承受着讀寫操作,所以它通常會比其它的部分更快地發生問題。
/usr:包含所有的用戶程序(/usr/bin),庫文件(/usr/lib),文檔(/usr/share/doc),等等。這是文件系統中耗費空間最多的部分。您需要提供至少 500MB 磁盤空間。總容量會依據您要安裝的軟件包數量和類型增長。寬鬆的工作站或服務器安裝應該需要 4–6GB。
/var:所有的可變數據,如新聞組文章、電子郵件、網站、數據庫、軟件包系統的緩存等等,將被放入這個目錄。這個目錄的大小取決於您計算機的用途,但是對大多數人來說,將主要用於軟件包系統的管理工具。如果做服務器的話空間應儘量大。我的服務器的實際分法及實際使用的大小,還沒有實際投入使用。所以/var目錄沒有用那麼多。一般WEB存放網頁的目錄是/var/www,postfix郵件的存放郵件的目錄是:/var/mail,var/log,是系統日誌記錄分區, /var/spool:存放一些郵件、新聞、打印隊列等。
/opt:存放可選的安裝的軟件。
上面介紹了幾個掛載點,一般來說我們最少需要兩個分區(當然只要一個分區也可以),需要一個SWAP分區,和一個“/”分區,但把一些常用、重要的掛載點分到其它分區,這樣便於管理。一般一個/分區,一個/usr分區,一個/home 分區,一個/var/log分區。當然這沒有什麼規定,完全是依照需要來定的。我們可以使用Red Hat Linux提供的硬盤管理工具Disk Druid來完成分區和掛載點設置。
三、一些參考分區方案
服務器分區的方案:
分區類型
分區的實際大小
/ 1G-2G (最少要150–250MB)
/boot 32M-100M (啓動分區,最多隻要100M左右)
/opt 100M-1G (附加應用程序)
/tmp 40M-1000M (最大可以設爲1G左右,如果加載ISO鏡像文件就設爲4G左右吧,一般不用那麼多)
/home 2G-10G (每個用戶100M左右,具體自定。用戶目錄。)
/usr 3G-10G (最耗用空間的部份。最少要500M左右,一般寬鬆的服務器要分到4-6G)
/usr/local 3G-15G (自已安裝程序安裝在此)
/var >2G--硬盤餘下全部空間 (
最少300M-500M,一般2-3G,做服務器的話把上面餘下的空間都分給它)
SWAP分區 2G(內存爲1G)
桌面分區方案
/ 1G
/boot 32M
/opt 100M
/tmp 50M
/home 1G-10G
/usr 3G-6G
/usr/local 3G-5G
/var 500M以上
SWAP分區 2G(內存爲1G)
最節省的分區方案(服務器不推薦):
文件目錄
最少
一般
安裝後大小CentOS5.2
/ 150M-250M 500M-2G (378M)
/boot 32M-100M 64M (13M)
/opt 30M-100M 50M (19M)
/tmp 40-100M 50M (37M)
/home 100M-5G 1G (483M)
/usr >500M 4-6G 2.5G (2.0G)
/usr/local 500M 2-5G 2G (1.2G)
/var 300-500M 2-3G 500M (296M)
SWAP分區
2G(內存爲1G)
/var目錄,如果是服務器,就把依上面的把其他的分區分完之後的空間全部給/var
即分爲最大的分區。http服務器目錄/var/www,postfix服務器/var/mail.
一般都在/var目錄裏面。
四、下面以80G硬盤爲服務器做的分區和掛載點:(本例是在VM6.0中虛擬的80G硬盤,安裝Red Hat Linux9.0時進行的分區和掛載點設置)
廢話不說,直接入正題:
問題一:
無法找到“../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles”,請修改oraparam.ini。
將Oracle 11g R2 下載的兩個zip文件解壓縮到同一個目錄即可解決。
[oracle@logserver 11g]$ ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[oracle@logserver 11g]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@logserver 11g]$ unzip linux.x64_11gR2_database_2of2.zip
[oracle@logserver 11g]$ ls
database linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
簡單的說,就上面這些內容。
問題二:
運行 ./runInstaller 之後,卡在歡迎窗口了,進行不下去,如圖:
調了一個下午都沒有解決,晚上鬼使神差地想起某同事的習慣性動作:每次 su – oracle 或者登錄oracle之後,接着輸入一個命令 export LANG=C,有意破壞$LANG的設置,導致Linux直接把會話當作英文來處理。
於是,執行我也做了一次 export LANG=C;./runInstaller ,成功了!
我的原始 $LANG是:
[oracle@logserver 11gr2]$ echo $LANG
zh_CN.GBK
爲了方便我在oracle用戶的.bash_profile 中加入一句: