Oracle——Linux的安裝

like052629發表於2014-12-15

1、安裝oracle依賴包

yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel

2、關閉Selinux

[root@CentOS-Oracle ~]# 

# cd /etc/selinux/config

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  

[root@CentOS-Oracle ~]# setenforce 0

3、建立使用者、組、目錄

--建立組

groupadd -g 200 oinstall

groupadd -g 201 dba

--建立使用者

useradd -u 1000 -g oinstall -G dba oracle

passwd oracle

--建立目錄

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/product

--更改目錄屬主為oracle使用者所有

chown -R oracle:oinstall /home/oracle/app

--切換至oracle使用者,配置環境變數 vi .bash_profile,增加如下內容:

umask 022

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LANG=en_US.UTF-8

--注意修改LANG

執行 source .bash_profile立即生效。

4、修改核心引數

/*

Shmmax是核心引數中最重要的引數之一,用於定義單個共享記憶體段的最大值

kernel.shmmax  該引數定義了共享記憶體段的最大尺寸

shmmax設定應該足夠大,能在一個共享記憶體段下容納下整個的SGA ,設定的過低可能 會導致需要建立多個共享記憶體段,這樣可能導致系統效能的下降

當然Oralce 的建議是希望一個大的共享記憶體段能容納整個SGA,其值應 >=sag_max_size初始化引數的大小,還要不小於實體記憶體的一半,這樣在任何時候 都不會有甚至輕微的效能下降的隱患

*/

/*

kernel.shmmni 這個核心引數用於設定系統範圍內共享記憶體段的最大數量 (注意這 個引數不是shmmin,是shmmni, shmmin 表示記憶體段最小大小 ) 。shmmni 預設值 4096 ,此值也是在系統中可以啟動的Oracle例項的最大數量,通常不需要更改

*/

/*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)。

其值應不小於shmmax/page_size.預設值就是2097152,如果伺服器上執行的所有實 例的SGA總和不超過8GB(通常系統可分配的共享記憶體的和最大值為8GB),通常不需要 修改.

*/

--kernel.sem  表示設定的訊號量

--fs.file-max 表示一個程式可以開啟的檔案控制程式碼的最大數量

--net.ipv4.ip_local_port_range 專用伺服器模式下與使用者程式通訊時分配給使用者的 --埠區間

--net.core.rmem_default 預設接收緩衝區大小

--net.core.rmem_max 接收緩衝區最大值

--net.core.wmem_default 預設的傳送緩衝區大小

--net.core.wmem_max=262144 傳送緩衝區最大值

vi /etc/sysctl.conf

net.ipv4.ip_local_port_range= 9000 65500 

fs.file-max = 6815744 

kernel.shmall = kernel.shmmax/4

--kernel.shmmax = 68719476736

kernel.shmmni = 4096 

kernel.sem = 250 32000 100 128 

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

儲存退出後,執行sysctl -p立即生效

5、修改系統資源限制

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     pam_namespace.so  #下面新增一條pam_limits.so 

session    required     pam_limits.so

vi /etc/profile

if [ $USER = "oracle" ] ; then

      if [ $SHELL = "/bin/ksh" ];then

          ulimit -p 16384 

          ulimit -n 65536 

      else

          ulimit -u 16384 -n 65536 

      fi

fi

6、安裝程式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28258625/viewspace-1367938/,如需轉載,請註明出處,否則將追究法律責任。

相關文章