西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)西西教程操作系統(tǒng) → CentOS 6.3 Linux系統(tǒng)下安裝Oracle 10g R2

CentOS 6.3 Linux系統(tǒng)下安裝Oracle 10g R2

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/3/8 15:34:57字體大小:A-A+

作者:David_Tang點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: Oracle

  • 類型:數(shù)據(jù)庫(kù)類大。42.1M語言:中文 評(píng)分:5.0
  • 標(biāo)簽:
立即下載

一、硬件要求

1、內(nèi)存 & swap

Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more

檢查內(nèi)存情況

# grep MemTotal /proc/meminfo

# grep SwapTotal /proc/meminfo

2、硬盤

由于CentOS安裝后差不多有4~5G,再加上Oracle等等的安裝,所以請(qǐng)準(zhǔn)備至少10G的硬盤空間。

檢查磁盤情況

# df -h

二、軟件

系統(tǒng)平臺(tái):CentOS 6.3(x86_64)

CentOS-6.3-x86_64-bin-DVD1.iso

Oracle版本:Oracle 10g R2

10201_database_linux_x86_64.cpio

補(bǔ)。簆6810189_10204

p6810189_10204_Linux-x86-64.zip

三、系統(tǒng)安裝注意

系統(tǒng)安裝時(shí)一定要安裝桌面模式,否則無法安裝oracle,另外請(qǐng)勿開啟SELinux,oracle官方不建議使用SELinux,CentOS的防火墻也請(qǐng)暫時(shí)關(guān)閉,減少安裝時(shí)的困擾。為防止Oracle安裝過程中出現(xiàn)亂碼,建議使用英文作為系統(tǒng)語言,進(jìn)行Oracle的安裝工作。

本文中所描述的系統(tǒng)命令,未經(jīng)特殊標(biāo)示,均為“#”代表root權(quán)限,“$”代表oracle權(quán)限。

四、安裝Oracle前的系統(tǒng)準(zhǔn)備工作

首先,請(qǐng)先以root賬號(hào)登入作一些前置設(shè)定作業(yè)。

1、關(guān)閉防火墻、禁用SELinux

# setup

# vi /etc/selinux/config

修改SELINUX=disabled,然后重啟。
如果不想重啟系統(tǒng),使用命令setenforce 0

2、安裝依賴包

Oracle官方文檔要求的安裝包:

查看Oracle相關(guān)包是否已經(jīng)安裝:

用yum方式安裝所需的包:

# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat

最后還需要安裝libXp這個(gè)Library,這個(gè)一定要安裝,否則安裝Oracle時(shí)會(huì)出現(xiàn)java Exception。

# yum install libXp

3、創(chuàng)建Oracle用戶與組

在這里只討論單主機(jī)環(huán)境,不考慮RAC環(huán)境的配置。

執(zhí)行以下指令以新增oracle安裝時(shí)所需要的使用者與群組。

(1) 建立群組oinstall 
# groupadd oinstall

(2) 建立群組dba
# groupadd dba

(3) 新增使用者oracle并將其加入oinstall和dba群組
# useradd -m -g oinstall -G dba oracle

(4) 測(cè)試oracle賬號(hào)是否建立完成
# id oracle

(5) 建立oracle的新密碼
# passwd oracle

4、將oracle使用者加入到sudo群組中

# vi /etc/sudoers

找到
root        ALL=(ALL)        ALL 
這行,并且在底下再加入
oracle        ALL=(ALL)        ALL
輸入wq!(由于這是一份只讀文檔所以需要再加上!)并且按下Enter

5、配置系統(tǒng)內(nèi)核參數(shù)

# vi /etc/sysctl.conf

修改和添加以下內(nèi)容:

kernel.shmall = 4294967296                           //表示系統(tǒng)一次可以使用的共享內(nèi)存總量(以頁(yè)為單位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 68719476736                      //定義了共享內(nèi)存段的最大尺寸(以字節(jié)為單位)。缺省為32M,對(duì)于oracle來說,該缺省值太低了,通常將其設(shè)置為2G
kernel.shmmni = 4096                                    //用于設(shè)置系統(tǒng)范圍內(nèi)共享內(nèi)存段的最大數(shù)量。該參數(shù)的默認(rèn)值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128                    //表示設(shè)置的信號(hào)量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304                     //默認(rèn)的接收窗口大小
net.core.rmem_max=4194304                        //接收窗口的最大大小
net.core.wmem_default=262144                      //默認(rèn)的發(fā)送窗口大小
net.core.wmem_max=262144                         //發(fā)送窗口的最大大小

會(huì)有一些與目前的參數(shù)重復(fù)的,就修改成文件上提供的。

編輯完之后,儲(chǔ)存,然后執(zhí)行:

# sysctl –p

啟用剛剛所做的變更。

6、編輯/etc/security/limits.conf

# vi /etc/security/limits.conf

添加以下四行
oracle  soft        nproc   2047
oracle  hard        nproc   16384
oracle  soft        nofile  1024
oracle  hard        nofile  65536

7、編輯/etc/pam.d/login

# vi /etc/pam.d/login

添加以下兩行
session required /lib64/security/pam_limits.so
session required pam_limits.so

8、修改/etc/profile

# vi /etc/profile

將以下代碼新增到profile檔案中。

if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi 

9、修改Linux發(fā)行版本信息

由于Oracle 10g發(fā)行的時(shí)候,CentOS 6沒有發(fā)行,所以O(shè)racle 10g并沒有對(duì)CentOS 6確認(rèn)支持,需要修改文件讓Oracle 10g支持CentOS 6。

我們需要手工修改Linux的發(fā)行注記,讓Oracle 10g支持CentOS 6。

編輯/etc/redhat-release文件

# vi /etc/redhat-release

將其中的內(nèi)容CentOS release 6.3 (Final)修改為redhat 4

10、創(chuàng)建Oracle安裝文件夾以及數(shù)據(jù)存放文件夾

#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle

11、配置Linux主機(jī)

檢查/etc/hosts文件中是否有l(wèi)ocalhost的記錄(指向127.0.0.1即可),若沒有的話,在后面配置Oracle監(jiān)聽的時(shí)候會(huì)出現(xiàn)一些問題,導(dǎo)致無法啟動(dòng)監(jiān)聽,在此手工添加此記錄即可。

第一階段到此完畢,接下來,完成這些設(shè)定之后,請(qǐng)先注銷root賬號(hào),并且以oracle賬號(hào)再次登入系統(tǒng)。

12、配置oracle用戶環(huán)境變量

$ cd /home/oracle
$ vi .bash_profile
修改并加入以下內(nèi)容

ORACLE_BASE=/opt/oracle                      //上面創(chuàng)建的Oracle安裝文件夾
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

保存后使用如下命令,使設(shè)置生效:

$ source /home/oracle/.bash_profile

五、安裝Oracle,并進(jìn)行相關(guān)設(shè)置

1、解壓縮安裝文件

將下載的10201_database_linux_x86_64.cpio放至即將安裝oracle的文件夾/opt/oracle
回到終端模式并且進(jìn)入到oracle文件夾:

$ cd /opt/oracle

解壓縮10201_database_linux_x86_64.cpio

$ cpio -idmv < 10201_database_linux_x86_64.cpio

接著會(huì)看到一連串的解壓縮動(dòng)作。

解壓縮完成會(huì)在同一個(gè)文件夾中看到database的文件夾,請(qǐng)進(jìn)入到database文件夾中:

$ cd database

準(zhǔn)備執(zhí)行數(shù)據(jù)庫(kù)安裝,如果你的centos是中文環(huán)境,安裝時(shí)會(huì)出現(xiàn)中文亂碼,請(qǐng)下以下指令

$ export LANG=en_US

接著執(zhí)行

$ ./runInstaller

如果無法看到安裝界面,請(qǐng)使用root帳戶執(zhí)行如下命令后再運(yùn)行安裝程序:

# export DISPLAY=:0.0 
# xhost + 
$ ./runInstaller

遇到錯(cuò)誤:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

解決:

# yum -y install libXp.i686

分析:看報(bào)錯(cuò)信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp需要安裝i386的包,而不能安裝X64的包。上面認(rèn)為64位的linux需要安裝64位的libXp包,所以導(dǎo)致這個(gè)問題。

再次執(zhí)行 

$ ./runInstaller

遇到錯(cuò)誤:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory

解決:

# yum -y install libXt.i686

再次執(zhí)行 

$ ./runInstaller

遇到錯(cuò)誤:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

解決:

# yum -y install libXtst.i686

再次執(zhí)行 

$ ./runInstaller

開始執(zhí)行安裝程序。

由于相關(guān)的前置作業(yè)已經(jīng)在之前做好了,在這個(gè)步驟只需要將UNIX DBA Group選擇為dba以及輸入SYS, SYSTEM等賬號(hào)共享的database Password即可。然后選擇Next即可。

同樣的,將群組選擇為dba群組,按Next

在這個(gè)步驟中,請(qǐng)點(diǎn)選Checking Network Configuration requirements為User Verified,接著按下Next

最后出現(xiàn)Install Summary畫面,此時(shí)只要按下Install按鈕,系統(tǒng)即開始安裝。

安裝過程...

安裝進(jìn)度大約到65%時(shí)會(huì)有錯(cuò)誤提示:
Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.

同時(shí)oraInventory/logs/目錄下的安裝日志文件里面會(huì)有如下類似錯(cuò)誤提示:

這是oracle安裝程序的一個(gè)bug,可以忽略此錯(cuò)誤繼續(xù)安裝,對(duì)系統(tǒng)沒什么影響。

在Configuration Assistants 時(shí)會(huì)出現(xiàn)錯(cuò)誤提示:

OUI-25031:Some of the configuration assistants failed.

分析:主機(jī)名映射錯(cuò)誤

解決:修改/etc/hosts文件,增加IP地址與主機(jī)名的映射如下:

接著會(huì)遇到錯(cuò)誤提示:

ORA-27125:unable to create shared memory segment

解決:

1. 確定安裝oracle所使用的用戶組

# id oracle

可以看到oracle組dba id 為501。

2. 修改內(nèi)核參數(shù)

echo "501" >/proc/sys/vm/hugetlb_shm_group

就可以了。

安裝到數(shù)據(jù)庫(kù)設(shè)置助理,可以在這邊選取password management作密碼的修改,如不需要修改,只需要按下ok按鈕即可。

安裝完成前,出現(xiàn)以下的設(shè)置腳本:

開啟一個(gè)新的終端,su到root。

將要求執(zhí)行的兩段script依序執(zhí)行。

/opt/oracle/oraInventory/orainstRoot.sh
/opt/oracle/102/root.sh

執(zhí)行畫面如上圖。
執(zhí)行完后,回到安裝窗口按下OK完成所有的oracle安裝。安裝完成會(huì)出現(xiàn)以下畫面。

此時(shí),您可以以上述網(wǎng)址,作為測(cè)試,登入賬號(hào)可以為sys或system

http://CentOS-Oracle:5560/isqlplus
http://CentOS-Oracle:5560/isqlplus/dba
http://CentOS-Oracle:1158/em

以上畫面都成功代表oracle已經(jīng)正常安裝了。

六、升級(jí)Oracle到patchset 10.2.0.4

1、升級(jí)軟件

a. 關(guān)閉需要升級(jí)的實(shí)例

停止實(shí)例

SQL> SHUTDOWN IMMEDIATE

停止與該實(shí)例相關(guān)的所有后臺(tái)進(jìn)程

$ emctl stop dbconsole

$ isqlplusctl stop

$ lsnrctl stop

b. 備份Oracle數(shù)據(jù)庫(kù)

c. 運(yùn)行升級(jí)包升級(jí)軟件

將補(bǔ)丁包p6810189_10204_Linux-x86-64.zip解壓;進(jìn)入解壓后的目錄,執(zhí)行安裝命令。

點(diǎn)擊“Next”

指定Oracle Home 目錄詳細(xì),點(diǎn)擊“Next”

點(diǎn)擊“Next”

點(diǎn)擊“Next”

點(diǎn)擊“Install”,進(jìn)行安裝。

升級(jí)過程...

需要執(zhí)行腳本/opt/oracle/102/root.sh

開一個(gè)新窗口,在root賬戶下執(zhí)行腳本。

執(zhí)行完后,回到安裝窗口按下“OK”完成所有的oracle安裝。安裝完成會(huì)出現(xiàn)以下畫面。

點(diǎn)擊“Exit”,退出Oracle的升級(jí)。

如果此前并沒有創(chuàng)建數(shù)據(jù)庫(kù),那么升級(jí)到10.2.0.4到此就結(jié)束了。然后可以去創(chuàng)建新的數(shù)據(jù)庫(kù)。

如果此前已經(jīng)創(chuàng)建了數(shù)據(jù)庫(kù),那么按以下步驟升級(jí)數(shù)據(jù)庫(kù)到10.2.0.4版本。

2、升級(jí)數(shù)據(jù)庫(kù)

a. 更新數(shù)據(jù)字典

$ sqlplus / as sysdba;

SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql

升級(jí)過程比較長(zhǎng),請(qǐng)耐心等待。

升級(jí)完畢,總耗時(shí)38分鐘26秒。

SQL> SPOOL OFF

b. 關(guān)閉并重啟數(shù)據(jù)庫(kù)

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

c. 編譯無效PL/SQL包

SQL> @?/rdbms/admin/utlrp.sql

編譯成功。

d. 檢查升級(jí)是否成功,如果所有組件的status都是valid表示升級(jí)成功。

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

e. 檢查是否有升級(jí)錯(cuò)誤

SQL> select * from utl_recomp_errors;

f. 修改系統(tǒng)兼容性參數(shù)

SQL> alter system set compatible='10.2.0.4.0' scope=spfile;

SQL> SHUTDOWN

SQL> STARTUP

升級(jí)完成。

七、使用rlwrap調(diào)用sqlplus中歷史命令

  在Linux中運(yùn)行SQL*Plus,不能調(diào)用歷史命令;輸錯(cuò)字符后也不能按Backspace鍵或Del鍵刪除,雖然可以通過Ctrl+Backspace組合鍵實(shí)現(xiàn)刪除功能,但是嚴(yán)重影響使用效率。使用第三方軟件rlwrap可以實(shí)現(xiàn)以上功能。

  rlwrap提供了readline的封裝(bash下命令的輸入都是通過readline這個(gè)庫(kù)來處理的。也就是說,上下箭頭查看歷史命令,Ctrl+r反向查找匹配歷史輸入,以及Ctrl+w, Ctrl+a等等操作都是由readline提供的),也就是說rlwrap提供一個(gè)輸入環(huán)境,在這個(gè)輸入環(huán)境下可以使用readline的各種功能。如果一個(gè)程序在命令行下接受輸入,那么用rlwrap直接就可以得到像在bash下輸入那樣的效果。

7.1 安裝rlwrap

rlwrap封裝了readline,所以安裝rlwrap之前需要安裝readline庫(kù)?梢酝ㄟ^yum方式安裝,也可以下載源碼包進(jìn)行安裝。官方網(wǎng)站:http://utopia.knoware.nl/~hlub/uck/rlwrap/

I. yum方式安裝

CentOS系統(tǒng)默認(rèn)的yum軟件倉(cāng)庫(kù)中沒有rlwrap這個(gè)包,需要通過第三方y(tǒng)um源安裝。

a. 安裝第三方y(tǒng)um源

# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6                          //導(dǎo)入key

默認(rèn)會(huì)在/etc/yum.repos.d/下創(chuàng)建epel.repo和epel-testing.repo兩個(gè)配置文件。

b. 安裝rlwrap和readline

# yum install rlwrap readline readline-devel

II. 源碼包安裝

其他Linux發(fā)行版如果源里沒有rlwrap和readline的(如SUSE企業(yè)版默認(rèn)沒有這兩個(gè)包),要分別下載這兩個(gè)源碼包編譯安裝一下。

a. 安裝readline

# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz
# tar zxvf readline-6.2.tar.gz
# cd readline-6.2/
# ./configure
# make
# make install

. 安裝rlwrap

# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz
# tar zxvf rlwrap-0.37.tar.gz
# cd rlwrap-0.37/
# ./configure
# make
# make install

7.2 設(shè)置sqlplus的系統(tǒng)別名

# vim /home/oracle/.bash_profile

在尾部添加:

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

退出oracle用戶再重新登錄就OK了。現(xiàn)在Linux下的sqlplus用起來就像cmd中一樣了。

轉(zhuǎn)載自:David Camp

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)