Linux下oracle 11g的安裝

來源:互聯網
上載者:User
Linux下oracle 11g的安裝(PS: 討厭的PS,由於從word文檔中copy過來的,很多都看不到了,將文檔地址分享給大家:http://download.csdn.net/detail/lzc3144/4265451)系統要求

伺服器配置要求

至少1024MB記憶體空間,oracle軟體需要4.0GB以上磁碟空間(oracle 11g要求的磁碟空間為3.95GB),要求linux OS Kernel Version 2.6.9

查看系統配置的相關命令:

cat /etc/issue

uname –r

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

grep "model name" /proc/cpuinfo

free

df -k /tmp

df –k

 

本次安裝環境(由於在虛擬機器上面安裝,配置很有限):

作業系統:Cent OS 6.2-i386

記憶體:2GB

磁碟空間:40GB

安裝前的配置

1)       建立使用者和組(user/group); 

# groupadd dba
# groupadd oinstall 
# useradd oracle -g oinstall -G dba 
# passwd oracle
如果nobody使用者不存在(# id nobody命令查看),則建立:
# useradd nobody

2)       建立oracle安裝資料夾(sample); 

# mkdir -p /opt/oracle/product/10g
# mkdir /opt/oracle/ oradata

# mkdir /opt/oraInventory

# chown -R oracle.oinstall /opt/oracle

# chown oracle.oinstall /opt/oraInventory/
# chmod 755 -R /opt/oracle

# chmod 755 /opt/oraInventory/

3)       配置環境變數

要使用 Oracle 產品,應該或必須設定幾個環境變數。如果您在同一伺服器上安裝了多個 Oracle 產品或資料庫,則 ORACLE_HOME、ORACLE_SID 和 PATH 變數可能會更改。ORACLE_BASE 變數不應更改,並可以在需要時在您的登入設定檔中設定它。Oracle 提供了一個稱作 oraenv 的公用程式來設定其他變數。
對於資料庫伺服器,建議設定以下環境變數: 
使用第一步建立的使用者名稱Oracle登陸: 
su oracle 
vi ~/.bash_profile 
修改以下是設定檔的內容
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=/opt/oracle/product/11g
export ORACLE_SID=localorcl(可隨意定義)
export PATH=$ORACLE_HOME/bin:$PATH
ESC(退出vi的編輯環境)
:wq(退出vi應用程式並儲存修改)

安裝好後再取消屏蔽這些環境變數設定
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#export LANG=AMERICAN_AMERICA.ZHS16GBK
配置好後用 source .bash_profile 命令使配置生效 

4)       設定系統核心參數

Oracle 資料庫 10g 需要以下所示的核心參數設定。
其中給出的是最小值,因此如果您的系統使用的值較大,則不要更改它。
切換到root使用者:
su root 

a) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加: 

[root@localhost install_file]# vi/etc/sysctl.conf

# oracel intall add parameters

#kernel.shmmax = 2147483648

kernel.shmmni=4096

#kernel.shmall = 2097152 

kernel.sem=250 32000 100 128

fs.file-max=6815744

fs.aio-max-nr=1048576

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
修改後運行"/sbin/sysctl -p"命令使得核心改變立即生效; 

b) 設定oracle對檔案的要求: 
編輯檔案:vi /etc/security/limits.conf 加入以下語句: 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
編輯檔案:vi /etc/pam.d/login 加入以下語句(可能應該加在最後一條規則之前):
session required /lib/security/pam_limits.so

 

開始安裝

Oracle的安裝建議在物理機器上安裝,如果只能使用SSH遠程安裝的話,可以使用支援圖形顯示的SSH軟體進行安裝

解壓縮oracle 11g 的安裝檔案

# unzip linux_11gR2_database_1of2.zip

# unzip linux_11gR2_database_2of2.zip

# cd database

# ./runInstaller

如果出現提示 Check if the DISPLAY variable is set. 錯誤提示資訊,則使用root使用者執行:

# xhost +

# export DISPLAY=:1.0

# su – oracle 切換回oracle使用者再次執行# ./runInstaller

如果還出現錯誤的話,則重啟系統,直接使用oracle使用者登入系統

開始安裝之後出現如下介面

 

 選擇oracle伺服器的類型,簡單安裝的話選擇‘案頭類型’就可以了,對於正式應用的話需要選擇‘伺服器類型’安裝

 

第一項:單個oracle伺服器安裝,第二項:oracle叢集安裝

 選擇語言,預設選擇english

 

設定oracle使用的記憶體大小,按預設設定就好了

  

這裡需要設定字元集,設定字元集為utf-8

 

設定oracle資料庫檔案存放路徑

設定oracle的自動備份功能,按需求設定

 設定sys,system等使用者的密碼,可以設定成同一個也可以分別設定,按需配置          (這裡如果設定的密碼過於簡單,oracle會給出錯誤提示,可以直接跳過)

 這是配置啥,我真心的不知道,預設設定就好了

Oracle檢查安裝前置條件,這裡列出了所有檢查失敗的前置條件,我們首先要解決這些錯誤前置條件才能繼續安裝

我們逐個來查看具體的錯誤提示資訊

所有的錯誤資訊分兩大類,上面的為系統核心的配置錯誤(基本是由於一些參數配置過小而不符合oracle的建議參數);下面的為oracle服務的依賴包沒有安裝

 

STEP 1:

安裝缺少的依賴包,(需要用root使用者),這些缺少的依賴包可以在系統的安裝iso中找到:

[root@localhost ~]# cd /media/CentOS_6.2_Final/Packages

[root@localhost Packages]# rpm -ivhcompat-libstdc++-33-3.2.3-69.el6.i686.rpm

warning:compat-libstdc++-33-3.2.3-69.el6.i686.rpm: Header V3 RSA/SHA256 Signature, keyID c105b9de: NOKEY

Preparing...                ###########################################[100%]

  1:compat-libstdc++-33   ########################################### [100%]

 

註:在提示缺少的依賴包中 pdksh-5.2.14 這個包在CentOS 6 安裝iso中無法找到,這個依賴包可以從網上下載,下載之後上傳到linux伺服器的某個目錄後運行

[root@localhost install_file]#rpm -ivh pdksh-5.2.14-36.el5.i386.rpm

 

STEP 2:

修改核心配置參數,以支援oracle的建議參數,在/etc/sysctl.conf配置中加入以下配置(如果在“安裝前的配置”步驟中已經配置了則這裡無需再配置)

[root@localhost install_file]# vi/etc/sysctl.conf

# oracel intall add parameters

kernel.shmmni=4096

kernel.sem=250 32000 100 128

fs.file-max=6815744

fs.aio-max-nr=1048576

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

 

修改之後運行,是核心配置立即生效

[root@localhost install_file]#/sbin/sysctl -p

 解決完錯誤之後,點擊 Check Again按鈕,重新檢查之後,可以看到所有問題已經解決,點擊Finish 按鈕完成安裝

 

 

 

配置oracle服務隨系統啟動

step 1:

修改/etc/oratab檔案,需要將localorc:/opt/oracle/product/11g:N最後的N改成Y

(如果/etc/oratab檔案不存在,則需要使用root使用者執行$ORACLE_HOME/root.sh檔案

# sh /opt/oracle/product/11g/root.sh)

[root@lzc-centos6 ~]# cat /etc/oratab

localorc:/opt/oracle/product/11g:N

[root@lzc-centos6 ~]# vi /etc/oratab

localorc:/opt/oracle/product/11g:Y

 

setp 2:

使用oracle的安裝使用者(oracle)修改$ORACLE_HOME/bin/dbstart檔案,修改之前最好先備份一下,使用如下命令

[oracle@lzc-centos6 bin]$ cp /opt/oracle/product/11g/bin/dbstart/opt/oracle/product/11g/bin/dbstart.bak

找到ORACLE_HOME_LISTNER=…這行,修改成

ORACLE_HOME_LISTNER=/opt/oracle/product/11g
 或者直接修改成:
 ORACLE_HOME_LISTNER=$ORACLE_HOME

 

Step 3:

測試回合dbshut,dbstart

(1)修改dbstart和dbshut的記錄檔的許可權(如果這兩個檔案不存在,先手工touch): 

root使用者先建立這兩個檔案

# cd $ORACLE_HOEM/bin

[root@lzc-centos6 11g]# touch startup.log

[root@lzc-centos6 11g]# chownoracle.oinstall startup.log

[root@lzc-centos6 11g]# chmod 755startup.log

[root@lzc-centos6 11g]# touch shutdown.log

[root@lzc-centos6 11g]# chownoracle.oinstall shutdown.log

[root@lzc-centos6 11g]# chmod 755shutdown.log

[root@lzc-centos6 11g]# ls -l startup.logshutdown.log

-rwxr-xr-x. 1 oracle oinstall 0 Jan  8 13:50 shutdown.log

-rwxr-xr-x. 1 oracle oinstall 0 Jan  8 13:49 startup.log

 

(2)執行相應的指令碼進行測試 
[root@lzc-centos6 11g]# su - oracle

[oracle@lzc-centos6~]$ cd $ORACLE_HOME

[oracle@lzc-centos6bin]$ dbshut #(or dbstart)

 

(3)建立oracle服務啟動指令碼:oradbstart(使用root使用者)

[root@lzc-centos611g]# touch /home/oracle/oradbstart

# chownoracle.oinstall /home/oracle/oradbstart

# chmod 775oracle.oinstall /home/oracle/oradbstart

拷貝內容之後,需要將該檔案copy到/etc/rc.d/init.d/目錄下

# cp/home/oracle/oradbstart /etc/rc.d/init.d/oradbstart

將oradbstart加入到系統啟動列表中

[root@lzc-centos6init.d]# chkconfig --add /home/oracle/oradbstart

[root@lzc-centos6init.d]# chkconfig --list oradbstart

oradbstart      0:off  1:off   2:off   3:on   4:on    5:on    6:off

註:在使用chkconfig –add命令時候如果出現以下錯誤

[root@lzc-centos6 init.d]# chkconfig --add/home/oracle/oradbstart

error reading information on serviceoradbstart: No such file or directory

需要檢查/home/oracle/oradbstart檔案是否正確,如果copy文字的話可能出現丟失頭上的一兩行的情況,檢查改檔案的頭部是否如下:(如果不是需改之後重新copy到/etc/rc.id/init.d/目錄下)

#!/bin/bash

# chkconfig: 345 99 10

# description: Startup Script for oracleDatabases

 

指令碼內容如下(親,記得根據自己的資料庫配置做相應的修改喲):

[root@lzc-centos611g]# cat /home/oracle/oradbstart

#!/bin/bash

# chkconfig:345 99 10

# description:Startup Script for oracle Databases

#/etc/rc.d/init.d/dbstart

exportORACLE_BASE=/opt/oracle/

exportORACLE_HOME=/opt/oracle/product/11g/

exportORACLE_SID=localorc

exportPATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracle"

# if theexecutables do not exist -- display error

if [ ! -f$ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

    echo "Oracle startup: cannotstart"

    exit 1

fi

# depending onparameter -- startup, shutdown, restart

# of theinstance and listener or usage display

case"$1" in

  start)

    # Oracle listener and instance startup

    echo -n "Starting Oracle: "

     su $ORA_OWNR -c"$ORACLE_HOME/bin/lsnrctl start " 

     su $ORA_OWNR -c"$ORACLE_HOME/bin/dbstart" 

    touch /var/lock/oracle

     su $ORA_OWNR -c"$ORACLE_HOME/bin/emctl start dbconsole"

     su $ORA_OWNR -c"$ORACLE_HOME/bin/isqlplusctl start"

    echo "OK"

    ;;

 

  stop)

    # Oracle listener and instance shutdown

    echo -n "Shutdown Oracle: "

    su $ORA_OWNR -c"$ORACLE_HOME/bin/emctl stop dbconsole"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/isqlplusctl stop"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/dbshut"

    su $ORA_OWNR -c"$ORACLE_HOME/bin/lsnrctl stop"

    rm -f /var/lock/oracle

    echo "OK"

    ;;

 

  reload|restart)

    $0 stop

    $0 start

    ;;

  *)

    echo "Usage: `basename $0`start|stop|restart|reload"

    exit 1

esac

exit 0

 

測試快速啟動命令:

[root@lzc-centos6init.d]# /etc/rc.d/init.d/oradbstart stop

[root@lzc-centos6init.d]# /etc/rc.d/init.d/oradbstart start

重啟linux

# reboot –n

在linux啟動的時候,你就可以看到一個啟動項oracle,出現[OK]的時候,就表示你的資料庫隨系統啟動了。

# su – oracle

# pe –ef|grepora

 

安裝過程中的錯誤解決辦法資料庫執行個體安裝失敗

安裝過程中碰到在‘Oracle Net Configuration Assistant’這步的時候失敗,導致oracle執行個體沒法繼續安裝

解決辦法:

通過查看安裝日誌發現出現改錯誤的異常是因為連接埠被佔用,但通過netstat命令來查看1521連接埠並沒有其他程式在使用,於是google,baidu折騰一把大致說法是因為/etc/hosts裡面的主機名稱和IP的映射配置有問題(因為系統在安裝的過程中我手動設定了,而且系統安裝的時候並沒設定靜態IP,而是用DHCP擷取地址,並且還同時開啟了IPv4和IPv6的地址),這樣可能導致oracle網路設定的時候解析本機主機名稱的時候出錯,具體修改辦法:

Step 1:# vi /etc/hosts,加上本機ip和本機主機名稱的映射,去掉IPV6的配置

[root@lzc-centos6 ~]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

192.168.1.102 lzc-centos6

Step 2:# vi /etc/host.conf,加上 orderhosts, bind;表示先通過/etc/hosts檔案尋找再通過網域名稱伺服器尋找(網域名稱服務 (DNS)地址設定檔/etc/resolv.conf)

[root@lzc-centos6 ~]# cat /etc/host.conf

order hosts, bind

multi on

Step 3:重啟監聽成功

# lsnrctl start 啟動監聽

EM 頁面出現亂碼

訪問https://192.168.1.102:1158/em頁面發現亂碼出現

註:如果oracle管理台已經啟動,而無法訪問該頁面的話,需要檢查你linux伺服器的防火牆的配置,是否允許其他機器訪問1158連接埠,具體linux防火牆的配置百度之

oracle 11g使用的是jdk1.5,jdk1.5以後有了一個簡便方法來解決這個問題,只需在$JAVA_HOME/jre/lib/fonts/下建一個fallback目錄,把你想在java中使用的字型複製到這個目錄中即可,在oracle使用者下:
$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback
把windows下的字型檔simsun.ttc複製到$ORACLE_HOME/jdk/jre/lib/fonts/fallback目錄下並改名simsun.ttf(注意ms的simsun字型是有著作權的,所以商用換其他字型),相應的許可權改為oracle使用者可用.
之後需要清理一下Cache,重啟EM即可:

命令如下:

[root@lzc-centos6 ~]# chown oracle.oinstall/opt/oracle/product/11g/jdk/jre/lib/fonts/fallback/simsunb.ttf

[root@lzc-centos6 ~]# chmod 755/opt/oracle/product/11g/jdk/jre/lib/fonts/fallback/simsunb.ttf

[oracle@lzc-centos6 ~]$ rm/opt/oracle/product/11g/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif

[oracle@lzc-centos6 ~]$ emctl startdbconsole

 

親,這樣搞不行啊,還是亂碼!(留待後續解決。。。)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.