CentOS 6.3(x86_64)下安裝Oracle 10g R2

來源:互聯網
上載者:User

目 錄

一、硬體要求
二、軟體
三、系統安裝注意
四、安裝Oracle前的系統準備工作
五、安裝Oracle,並進行相關設定
六、升級Oracle到patchset 10.2.0.4
七、使用rlwrap調用sqlplus中曆史命令

 

一、硬體要求

1、記憶體 & swap

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

檢查記憶體情況# grep MemTotal /proc/meminfo# grep SwapTotal /proc/meminfo

2、硬碟

由於CentOS安裝後差不多有4~5G,再加上Oracle等等的安裝,所以請準備至少10G的硬碟空間。

檢查磁碟情況# df -h

二、軟體

系統平台:CentOS 6.3(x86_64)

CentOS-6.3-x86_64-bin-DVD1.iso

Oracle版本:Oracle 10g R2

10201_database_linux_x86_64.cpio

補丁:p6810189_10204

p6810189_10204_Linux-x86-64.zip

三、系統安裝注意

系統安裝時一定要安裝桌面圖案,否則無法安裝oracle,另外請勿開啟SELinux,oracle官方不建議使用SELinux,CentOS的防火牆也請暫時關閉,減少安裝時的困擾。為防止Oracle安裝過程中出現亂碼,建議使用英文作為系統語言,進行Oracle的安裝工作。

本文中所描述的系統命令,未經特殊標示,均為“#”代表root許可權,“$”代表oracle許可權。

四、安裝Oracle前的系統準備工作

首先,請先以root帳號登入作一些前置設定作業。

1、關閉防火牆、禁用SELinux

# setup

# vi /etc/selinux/config

修改SELINUX=disabled,然後重啟。
如果不想重啟系統,使用命令setenforce 0

2、安裝依賴包

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

查看Oracle相關包是否已經安裝:

用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這個Library,這個一定要安裝,否則安裝Oracle時會出現java Exception。

# yum install libXp

3、建立Oracle使用者與組

在這裡只討論單主機環境,不考慮RAC環境的配置。

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

(1) 建立群組oinstall 
# groupadd oinstall

(2) 建立群組dba
# groupadd dba

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

(4) 測試oracle帳號是否建立完成
# id oracle

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

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

# vi /etc/sudoers

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

5、配置系統核心參數

# vi /etc/sysctl.conf

修改和添加以下內容:

kernel.shmall = 4294967296                           //表示系統一次可以使用的共用記憶體總量(以頁為單位)。預設值就是2097152,通常不需要修改
kernel.shmmax = 68719476736                      //定義了共用記憶體段的最大尺寸(以位元組為單位)。預設為32M,對於oracle來說,該預設值太低了,通常將其設定為2G
kernel.shmmni = 4096                                    //用於設定系統範圍內共用記憶體段的最大數量。該參數的預設值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128                    //表示設定的訊號量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304                     //預設的接收視窗大小
net.core.rmem_max=4194304                        //接收視窗的最大大小
net.core.wmem_default=262144                      //預設的發送視窗大小
net.core.wmem_max=262144                         //發送視窗的最大大小

會有一些與目前的參數重複的,就修改成檔案上提供的。

編輯完之後,儲存,然後執行:

# 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    fifi 

9、修改Linux發行版本資訊

由於Oracle 10g發行的時候,CentOS 6沒有發行,所以Oracle 10g並沒有對CentOS 6確認支援,需要修改檔案讓Oracle 10g支援CentOS 6。我們需要手工修改Linux的發行註記,讓Oracle 10g支援CentOS 6。編輯/etc/redhat-release檔案# vi /etc/redhat-release將其中的內容CentOS release 6.3 (Final)修改為redhat 4

10、建立Oracle安裝資料夾以及資料存放檔案夾

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

11、配置Linux主機檢查/etc/hosts檔案中是否有localhost的記錄(指向127.0.0.1即可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,導致無法啟動監聽,在此手工添加此記錄即可。

第一階段到此完畢,接下來,完成這些設定之後,請先登出root帳號,並且以oracle帳號再次登入系統。

12、配置oracle使用者環境變數

$ cd /home/oracle
$ vi .bash_profile
修改並加入以下內容

ORACLE_BASE=/opt/oracle                      //上面建立的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

儲存後使用如下命令,使設定生效:

$ source /home/oracle/.bash_profile

五、安裝Oracle,並進行相關設定

1、解壓縮安裝檔案

將下載的10201_database_linux_x86_64.cpio放至即將安裝oracle的檔案夾/opt/oracle
回到終端模式並且進入到oracle檔案夾:

$ cd /opt/oracle

解壓縮10201_database_linux_x86_64.cpio

$ cpio -idmv < 10201_database_linux_x86_64.cpio

接著會看到一連串的解壓縮動作。

解壓縮完成會在同一個檔案夾中看到database的檔案夾,請進入到database檔案夾中:

$ cd database

準備執行資料庫安裝,如果你的centos是中文環境,安裝時會出現中文亂碼,請下以下指令

$ export LANG=en_US

接著執行

$ ./runInstaller

如果無法看到安裝介面,請使用root帳戶執行如下命令後再運行安裝程式:# export DISPLAY=:0.0 
# xhost + 
$ ./runInstaller

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

解決:

# yum -y install libXp.i686

分析:看報錯資訊"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp需要安裝i386的包,而不能安裝X64的包。上面認為64位的linux需要安裝64位的libXp包,所以導致這個問題。

再次執行 

$ ./runInstaller

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

解決:

# yum -y install libXt.i686

再次執行 

$ ./runInstaller

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

解決:

# yum -y install libXtst.i686

再次執行 

$ ./runInstaller

開始執行安裝程式。

由於相關的前置作業已經在之前做好了,在這個步驟只需要將UNIX DBA Group選擇為dba以及輸入SYS, SYSTEM等帳號共用的database Password即可。然後選擇Next即可。

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

在這個步驟中,請點選Checking Network Configuration requirements為User Verified,接著按下Next

最後出現Install Summary畫面,此時只要按下Install按鈕,系統即開始安裝。

安裝過程...

安裝進度大約到65%時會有錯誤提示:
Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.

同時oraInventory/logs/目錄下的安裝記錄檔裡面會有如下類似錯誤提示:

這是oracle安裝程式的一個bug,可以忽略此錯誤繼續安裝,對系統沒什麼影響。

在Configuration Assistants 時會出現錯誤提示:

OUI-25031:Some of the configuration assistants failed.

分析:主機名稱映射錯誤

解決:修改/etc/hosts檔案,增加IP地址與主機名稱的映射如下:

接著會遇到錯誤提示:

ORA-27125:unable to create shared memory segment

解決:

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

# id oracle

可以看到oracle組dba id 為501。

2. 修改核心參數

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

就可以了。

安裝到資料庫設定助理,可以在這邊選取password management作密碼的修改,如不需要修改,只需要按下ok按鈕即可。

安裝完成前,出現以下的設定指令碼:

開啟一個新的終端,su到root。

將要求執行的兩段script依序執行。

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

執行畫面如。
執行完後,回到安裝視窗按下OK完成所有的oracle安裝。安裝完成會出現以下畫面。

此時,您可以以上述網址,作為測試,登入帳號可以為sys或system

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

以上畫面都成功代表oracle已經正常安裝了。

六、升級Oracle到patchset 10.2.0.4

1、升級軟體

a. 關閉需要升級的執行個體

停止執行個體

SQL> SHUTDOWN IMMEDIATE

停止與該執行個體相關的所有後台進程

$ emctl stop dbconsole

$ isqlplusctl stop

$ lsnrctl stop

b. 備份Oracle資料庫

c. 運行升級包升級軟體

將補丁包p6810189_10204_Linux-x86-64.zip解壓;進入解壓後的目錄,執行安裝命令。

點擊“Next”

指定Oracle Home 目錄詳細,點擊“Next”

點擊“Next”

點擊“Next”

點擊“Install”,進行安裝。

升級過程...

需要執行指令碼/opt/oracle/102/root.sh

開一個新視窗,在root賬戶下執行指令碼。

執行完後,回到安裝視窗按下“OK”完成所有的oracle安裝。安裝完成會出現以下畫面。

點擊“Exit”,退出Oracle的升級。

如果此前並沒有建立資料庫,那麼升級到10.2.0.4到此就結束了。然後可以去建立新的資料庫。

如果此前已經建立了資料庫,那麼按以下步驟升級資料庫到10.2.0.4版本。

2、升級資料庫

a. 更新資料字典

$ sqlplus / as sysdba;

SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

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

升級過程比較長,請耐心等待。

升級完畢,總耗時38分鐘26秒。

SQL> SPOOL OFF

b. 關閉並重啟資料庫

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

c. 編譯無效PL/SQL包

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

編譯成功。

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

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

e. 檢查是否有升級錯誤

SQL> select * from utl_recomp_errors;

f. 修改系統相容性參數

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

SQL> SHUTDOWN

SQL> STARTUP

升級完成。

七、使用rlwrap調用sqlplus中曆史命令

  在Linux中運行SQL*Plus,不能調用曆史命令;輸錯字元後也不能按Backspace鍵或Del鍵刪除,雖然可以通過Ctrl+Backspace按鍵組合實現刪除功能,但是嚴重影響使用效率。使用第三方軟體rlwrap可以實現以上功能。

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

7.1 安裝rlwrap

rlwrap封裝了readline,所以安裝rlwrap之前需要安裝readline庫。可以通過yum方式安裝,也可以下載源碼包進行安裝。官方網站:http://utopia.knoware.nl/~hlub/uck/rlwrap/

I. yum方式安裝

CentOS系統預設的yum軟體倉庫中沒有rlwrap這個包,需要通過第三方yum源安裝。

a. 安裝第三方yum源

# 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                          //匯入key

預設會在/etc/yum.repos.d/下建立epel.repo和epel-testing.repo兩個設定檔。

b. 安裝rlwrap和readline

# yum install rlwrap readline readline-devel

II. 源碼包安裝

其他Linux發行版如果源裡沒有rlwrap和readline的(如SUSE企業版預設沒有這兩個包),要分別下載這兩個源碼包編譯安裝一下。

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

b. 安裝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 設定sqlplus的系統別名

# vim /home/oracle/.bash_profile

在尾部添加:

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

退出oracle使用者再重新登入就OK了。現在Linux下的sqlplus用起來就像cmd中一樣了。

 

CentOS 6.3(x86_32)下安裝Oracle 10g R2

http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html

Linux Oracle服務啟動&停止指令碼與開機自啟動

http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.