在Linux安裝ORALCE11g數據庫總結

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-ntfsfusentfs-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),況且邏輯分區沒有數量上限制。 對習慣於使用DosWindows的朋友來說,有幾個分區就有幾個驅動器,並且每個分區都會獲得一個字母標識符,然後就可以選用這個字母來指定在這個分區上的文件和目錄,它們的文件結構都是獨立的,非常好理解。

   但是初上手Red Hat Linux嗎,可就有點惱人了。因爲對Linux用戶來說無論有幾個分區,分給哪一目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構。Red Hat Linux中每個分區都是用來組成整個文件系統的一部分,因爲它採用了一種叫掛載點的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄聯繫起來。這時要載入的一個分區將使它的存儲空間在一個目錄下獲得。

下面我們先來看看Red Hat Linux的驅動器是如何標識的。 對於IDE硬盤,驅動器標識符爲“hdx1”,其中“hd”表明分區所在設備的類型,這裏是指IDE硬盤了。“x”爲盤號(a爲基本盤,b爲基本從屬盤,c爲輔助主盤,d爲輔助從屬盤),“1”代表分區,前四個分區用數字14表示,它們是主分區或擴展分區,從5開始就是邏輯分區。例,hda3表示爲第一個IDE硬盤上的第三個主分區或擴展分區,hdb2表示爲第二個IDE硬盤上的第二個主分區或擴展分區。對於SCSI硬盤則標識爲“sdx1”SCSI硬盤是用“sd”來表示分區所在設備的類型的,其餘則和IDE硬盤的表示方法一樣,不再多說。

我們從上面可以看到,Red Hat Linux的分區是不同於其它操作系統分區的,它的分區格式常用的有Ext3Swap兩種,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 中加入一句:

 

 

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