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


安裝過程中遇到的問題:

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-修改主機名

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

[root@xuegod64 ~]# hostname oracledb

[root@xuegod64 ~]# cat /etc/sysconfig/network

 

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

[root@oracledb ~]# vim /etc/hosts

[root@oracledb ~]# more /etc/hosts

 

步驟3-安裝依賴包

[root@oracledb ~]# 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-創建用戶和組

[root@oracledb ~]# groupadd -g 251 oinstall

[root@oracledb ~]# groupadd -g 252 dba

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

    [root@oracledb ~]# echo oracle | passwd --stdin oracle

 

參數解釋:

-g:指定用戶所屬的組

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

-u:指定用戶ID

-d:指定用戶主目錄

-s:指定用戶登錄shell

-m:若用戶主目錄不存在,則自動創建。

 

步驟 5     修改內核參數

[root@oracledb ~]# 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的值,表示系統信號量集合總數。

 

 

 

[root@oracledb ~]# 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 -修改系統資源限制

[root@oracledb ~]# vim /etc/security/limits.conf

參數解釋:

oracle   soft  nproc   2047

oracle   hard  nproc   16384

oracle   soft  nofile   1024

oracle   hard  nofile   65536

 

[root@oracledb ~]# vim /etc/pam.d/login

參數解釋:

session required pam_namespace.so

session required pam_limits.so

 

步驟 6 -創建安裝目錄及設置權限

[root@oracledb ~]# mkdir -p /opt/oracle/app/

[root@oracledb ~]# mkdir -p /opt/oracle/oradata

[root@oracledb ~]# chmod 755 /opt/oracle/app/

[root@oracledb ~]# chmod 755 /opt/oracle/

[root@oracledb ~]# chown oracle:oinstall -R /opt/oracle/

 

步驟 7-設置oracle環境變量

su – oracle 切換到oracle用戶

[oracle@oracledb ~]$ 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

 

[oracle@oracledb ~]$ source ./.bash_profile #立即生效

 

步驟 8 -關閉Selinux

[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

[root@oracledb ~]# setenforce 0

[root@oracledb ~]# getenforce

 

步驟9- 關閉防火牆

[root@oracledb ~]# service iptables stop

[root@oracledb ~]# 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,可能會出現一些異常)

   

解壓

[root@oracledb~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_1of2.zip

[root@oracledb~]# unzip /opt/oracle/linux_64_11gR2/linux.x64_11gR2_database_2of2.zip

[root@oracledb ~]# mv database/ /opt/oracle/

[root@oracledb ~]#xhost+

[root@oracledb ~]#su – oracle

[oracle@oracledb ~]$ ./database/runInstaller

 

開始安裝

 安裝完成后,會提示執行下面兩個腳本

 利用root用戶登錄,到下面的兩個目錄下執行腳本即可

 

執行腳本

 /opt/oracle/oraInventory/orainstRoot.sh

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

 

驗證

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM