redhat6.5部署oracle 11G R2 (參考配置)

來源:互聯網
上載者:User

標籤:

安裝過程中遇到的問題:

1.建立oracle使用者時,最好指定家目錄,常規的為/opt/oracle,預設的/home/oracle也是可以的。

2.在"添加主機名稱與IP地址對應"一步中,一定要配置對IP,不然安裝過程中會出現"Oracle Net Configuration Assisant failed"的錯誤

 

RHEL6.5安裝部署Oracle 11g R2資料庫

 

 

  • 實驗環境

    

虛擬機器版本

VM12 pro

作業系統

RedHat-6.5-x86_64

主機名稱

oracledb

記憶體

4G官方建議最低1G

硬碟

30G依據自己的實際需求及配置而定

Oracle資料檔案

linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip

 

 

  • 系統調整步驟

 

步驟1-修改主機名稱

[[email protected] ~]# sed -i "s/HOSTNAME=xuegod64/HOSTNAME=oracledb/" /etc/sysconfig/network

[[email protected] ~]# hostname oracledb

[[email protected] ~]# cat /etc/sysconfig/network

 

步驟2-添加主機名稱與IP對應記錄

[[email protected] ~]# vim /etc/hosts

[[email protected] ~]# more /etc/hosts

 

步驟3-安裝依賴包

[[email protected] ~]# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

 

 

步驟4-建立使用者和組

[[email protected] ~]# groupadd -g 251 oinstall

[[email protected] ~]# groupadd -g 252 dba

[[email protected] ~]# useradd -u 256 -g oinstall -G dba -d /opt/oracle -s /bin/bash -m

    [[email protected] ~]# echo oracle | passwd --stdin oracle

 

參數解釋:

-g:指定使用者所屬的組

-G:指定使用者所屬的附加組

-u:指定使用者ID

-d:指定使用者主目錄

-s:指定使用者登入shell

-m:若使用者主目錄不存在,則自動建立。

 

步驟 5     修改核心參數

[[email protected] ~]# vim /etc/sysctl.conf

參數解釋:

kernel.msgmax = 65536 #從一個進程發送到另一個進程的訊息的最大長度。進程間的訊息傳遞是在核心的記憶體中進行,不會交換到磁碟上,所以如果增加該值,則將增加作業系統所使用的記憶體數量。預設設定:8192

 

net.ipv4.ip_local_port_range= 9000 65500 #表示應用程式可使用的IPv4連接埠範圍。

fs.file-max = 6815744 # 該參數決定了系統中所允許的檔案控制代碼最大數目,檔案控制代碼設定代表linux系統中可以開啟的檔案的數量。

kernel.shmmni = 4096 #該參數是共用記憶體段的最大數量。shmmni預設值4096.

 

net.core.rmem_default=262144 # 表示通訊端接收緩衝區大小的預設值。

net.core.wmem_default=262144 #表示通訊端發送緩衝區大小的預設值。

net.core.rmem_max=4194304     #表示通訊端接收緩衝區大小的最大值。

net.core.wmem_max=1048576 #表示通訊端發送緩衝區大小的最大值。

fs.aio-max-nr = 1048576 # 此參數限制並發未完成的請求,應該設定避免I/O子系統故障。

kernel.shmall = 10523004

#kernel.shmall:

    該參數控制可以使用的共用記憶體的總頁數。Linux共用記憶體頁大小為4KB,共用記憶體段的大小都是共用記憶體頁大小的整數倍。一個共用記憶體段的最大大小是16G,那麼需要共用記憶體頁數是16GB/4KB=16777216KB /4KB=4194304(頁),也就是64Bit系統下16GB實體記憶體,設定kernel.shmall = 4194304才符合要求(幾乎是原來設定2097152的兩倍)。這時可以將shmmax參數調整到16G了,同時可以修改SGA_MAX_SIZE和SGA_TARGET為12G(您想設定的SGA最大大小,當然也可以是2G~14G等,還要協調PGA參數及OS等其他記憶體使用量,不能設定太滿,比如16G)

kernel.shmmax = 6465333657

用於定義單個共用記憶體段的最大值。設定應該足夠大,能在一個共用記憶體段下容納下整個的SGA ,設定的過低可能會導致需要建立多個共用記憶體段,這樣可能導致系統效能的下降。官方建議值:

32位linux系統:可取最大值為4GB(4294967296bytes)-1byte,即4294967295。建議值為多於記憶體的一半,所以如果是32為系統,一般可取值為4294967295。32位系統對SGA大小有限制,所以SGA肯定可以包含在單個共用記憶體段中。

64位linux系統:可取的最大值為實體記憶體值-1byte,建議值為多於實體記憶體的一半,一般取值大於SGA_MAX_SIZE即可,可以取實體記憶體-1byte。例如,如果為12GB實體記憶體,可取12*1024*1024*1024-1=12884901887,SGA肯定會包含在單個共用記憶體段中。 

kernel.sem = 250 32000 100 128

#以kernel.sem = 250 32000 100 128為例:

       250是參數semmsl的值,表示一個訊號量集合中能夠包含的訊號量最大數目。

       32000是參數semmns的值,表示系統內可允許的訊號量最大數目。

       100是參數semopm的值,表示單個semopm()調用在一個訊號量集合上可以執行的運算元量。

       128是參數semmni的值,表示系統訊號量集合總數。

 

 

 

[[email protected] ~]# sysctl -p #立即生效

 

 

########################################################################

核心參數:

shmmax:

共用記憶體段的最大位元組數,建議設大點,甚至可以大過實體記憶體的位元組數。該參數定義了共用記憶體段的最大尺寸(以位元組為單位)。預設為32M,對於oracle來說,該預設值太低了,通常將其設定為2G。

shmmin:

共用記憶體段的最小尺寸。這個參數的設定一般不會出問題。

shmmni:

共用記憶體段的最大數目。這個核心參數用於設定系統範圍內共用記憶體段的最大數量。該參數的預設值是4096 。通常不需要更改。

shmseg:

每個進程可分配的最大共用記憶體段數目

shmall:

最大的並發共用記憶體段數目,比SGA還要大。該參數表示系統一次可以使用的共用記憶體總量(以頁為單位,一個頁大小為4KB)。預設值就是2097152,通常不需要修改。

   

sem:

是semaphores的縮寫,該參數表示設定的訊號量。它包含四個值:semmsl、semmns、semopm、semmni。

# sysctl -a|grep sem

kernel.sem = 250        32000   100     128

semmns:

號誌的最大數量,跟ORACLE的PROCESS數有關。SEMMSL * SEMMNI

semopm:

系統調用允許的訊號量最大個數。至少100;或者等於SEMMSL

semmni:

系統訊號量set最大個數。最少128

semmsl:

每個號誌集合中最多的號誌數目。最小250;對於processes參數設定較大的系統建議設定為processes+10。

   

msgmni:

指定訊息佇列標識的最大數目。預設設定:16

msgmax:

從一個進程發送到另一個進程的訊息的最大長度。進程間的訊息傳遞是在核心的記憶體中進行,不會交換到磁碟上,所以如果增加該值,則將增加作業系統所使用的記憶體數量。預設設定:8192

msgmnb:

一個訊息佇列中最大的位元組數。預設設定:16384

   

optmem_max:每個socket的最大緩衝大小

rmem_default:接收socket的預設緩衝大小(位元組)

rmem_max:接收socket的最大緩衝大小(位元組)

wmem_default:發送的socket預設緩衝大小(位元組)

wmem_max:發送的socket最大緩衝大小(位元組)

   

p_local_port_range:表示用於向外串連的連接埠範圍。預設情況下很小:32768到61000,改為10000到65000。(注意:這裡不要將最低值設的太低,否則可能會佔用掉正常的連接埠!

file-max:表示檔案控制代碼的最大數量。檔案控制代碼設定表示在linux系統中可以開啟的檔案數量。如果設定過小,Oracle將無法啟動,或運行不正常。

########################################################################

 

步驟 5 -修改系統資源限制

[[email protected] ~]# vim /etc/security/limits.conf

參數解釋:

oracle   soft  nproc   2047

oracle   hard  nproc   16384

oracle   soft  nofile   1024

oracle   hard  nofile   65536

 

[[email protected] ~]# vim /etc/pam.d/login

參數解釋:

session required pam_namespace.so

session required pam_limits.so

 

步驟 6 -建立安裝目錄及設定許可權

[[email protected] ~]# mkdir -p /opt/oracle/app/

[[email protected] ~]# mkdir -p /opt/oracle/oradata

[[email protected] ~]# chmod 755 /opt/oracle/app/

[[email protected] ~]# chmod 755 /opt/oracle/

[[email protected] ~]# chown oracle:oinstall -R /opt/oracle/

 

步驟 7-設定oracle環境變數

su – oracle 切換到oracle使用者

[[email protected] ~]$ vim .bash_profile

參數解釋:

export ORACLE_BASE=/opt/oracle/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl

 

[[email protected] ~]$ source ./.bash_profile #立即生效

 

步驟 8 -關閉Selinux

[[email protected] ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

[[email protected] ~]# setenforce 0

[[email protected] ~]# getenforce

 

步驟9- 關閉防火牆

[[email protected] ~]# service iptables stop

[[email protected] ~]# chkconfig iptables off

 

 

 

  • 安裝Oracle

 安裝步驟

 (1)    上傳Oracle安裝包

 首先linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip上傳至Oracle家目錄/opt/oracle

   

(2)    利用Oracle使用者登入並解壓安裝包

利用oracle使用者登入圖形介面,解壓檔案,並執行安裝(如果不用oracle使用者登入安裝,例如從root使用者切換到oracle,可能會出現一些異常)

   

解壓

[[email protected]~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_1of2.zip

[[email protected]~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_2of2.zip

[[email protected] ~]# mv database/ /opt/oracle/

[[email protected] ~]#xhost+

[[email protected] ~]#su – oracle

[[email protected] ~]$ ./database/runInstaller

 

開始安裝

 安裝完成後,會提示執行下面兩個指令碼

 利用root使用者登入,到下面的兩個目錄下執行指令碼即可

 

執行指令碼

 /opt/oracle/oraInventory/orainstRoot.sh

/opt/oracle/app/product/11.2.0/dbhome_1/root.sh

 

驗證

 

   

redhat6.5部署oracle 11G R2 (參考配置)

聯繫我們

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