在OEL6.1下安裝ORACLE 11G R2

此次安裝oracle選擇的是oracle 11.2.0.3版本,下載的安裝包總共有7個,單獨安裝數據庫須要使用前兩個,具體安裝步驟以下:linux

1. 將數據庫文件複製到服務器上
cp p10404530_112030_Linux-x86-64_{1,2,}* /u01/c++

2. 解壓數據庫文件
unzip p10404530_112030_Linux-x86-64_1of7.zip
unzip p10404530_112030_Linux-x86-64_2of7.zip數據庫

3. 檢查/etc/hosts
注意將主機名的對應信息加入hosts文件安全

關閉sendmail 與iptablesbash

Chkconfig –list iptables服務器

Chkconfig –list sendmail網絡

service sendmail stopsession

service iptables stoporacle

4. 建立用戶和組
useradd oracleapp

passwd oracle

groupadd dba

usermod -G dba oracle

chown -R oracle:dba /u01/
chmod –R 755 /u01/

檢查如下補丁是否已經安裝(掛載iso文件,使用mount –o loop 路徑 /mnt/iso)

binutils-2.15.92.0.2-18

compat-libstdc++-33.2.3-47.3

elfutils-libelf-0.97-5

elfutils-libelf-devel-0.97-5

glibc-2.3.9.4-2.19

glibc-common-2.3.9.4-2.19

glibc-devel-2.3.9.4-2.19

gcc-3.4.5-2

gcc-c++-3.4.5-2

libaio-devel-0.3.105-2

libaio-0.3.105-2

libgcc-3.4.5

libstdc++-3.4.5-2

libstdc++-devel-3.4.5-2

make-3.80-5

sysstat-5.0.5

unixODBC-2.2.11

unixODBC-devel-2.2.11
[root@erp1 Packages]# rpm -ivh binutils-2.20.51.0.2-5.28.el6.x86_64.rpm compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm elfutils-libelf-0.152-1.el6.x86_64.rpm elfutils-libelf-devel-0.152-1.el6.x86_64.rpm glibc-common-2.12-1.47.el6.x86_64.rpm glibc-devel-2.12-1.47.el6.x86_64.rpm gcc-4.4.6-3.el6.x86_64.rpm gcc-c++-4.4.6-3.el6.x86_64.rpm libaio-devel-0.3.107-10.el6.x86_64.rpm libaio-0.3.107-10.el6.x86_64.rpm libgcc-4.4.6-3.el6.x86_64.rpm libstdc++-4.4.6-3.el6.x86_64.rpm libstdc++-devel-4.4.6-3.el6.x86_64.rpm make-3.81-19.el6.x86_64.rpm sysstat-9.0.4-18.el6.x86_64.rpm unixODBC-2.2.14-11.el6.x86_64.rpm unixODBC-devel-2.2.14-11.el6.x86_64.rpm compat-libcap1-1.10-1.x86_64.rpm compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm ksh-20100621-12.el6.x86_64.rpm libaio-devel-0.3.107-10.el6.x86_64.rpm

5. 修改/etc/sysctl.conf,加入如下內容:

kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages

kernel.shmall = 2097152

kernel.shmmni = 4096

#semaphores:semmsl,semmns,semopm,semmni

kernel.sem = 250 32000 100 128

fs.file-max = 65536

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

結束後,執行

/sbin/sysctl -p

6. 修改/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,加入內容

session required /lib/security/pam_limits.so //對64位系統這條不須要

session required pam_limits.so

8. 修改/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

9. 使用oracle用戶登陸,修改.bash_profile文件

su - oracle

vi .bash_profile 加入如下內容

#DISPLAY=localhost:0.0

#export DISPLAY

export ORACLE_SID=center

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0./db_1

export ORA_CRS_HOME=/u01/app/product/crs_1

export ORACLE_ADMIN=$ORACLE_BASE/admin

export ORACLE_HOME_LISTNER=$ORACLE_HOME

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

export JAVA_HOME=$ORACLE_HOME/jdk

export PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/lib:$JAVA_HOME/bin:$ORA_CRS_HOME/bin:
相關參數文件的內容解釋:

a) vi /etc/sysctl.conf
kernel.shmall爲物理內存除以pagesize;

kernel.shmmax爲物理內存的一半;

fs.file-max爲512 乘以 processes (如128個process則爲 65536);

net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_max三個參數設置和官方文檔不同, 這是根據metalink 343431.1 最新要求更改的;

net.ipv4.tcp_rmem/net.ipv4.tcp_wmem兩個參數通常狀況下無需設置, 除非是在Dataguard/Streams等需不少網絡傳輸狀況下;

其它參數根據官方文檔要求設置便可.

# vi /etc/sysctl.conf

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 9000 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

修改之後讓參數生效:

# /sbin/sysctl -p

Shmmax 是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值,

shmmax 設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的太低可能會致使須要建立多個共享內存段,這樣可能致使系統性能的降低。

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.shmmni ----

shmmni 內核參數是共享內存段的最大數量(注意這個參數不是 shmmin,是

shmmni, shmmin 表示內存段最小大小 ) 。shmmni 缺省值 4096 ,通常確定是夠用了 。

在安裝Oracle 以前一般須要設置kernel.sem這個參數,下面對些做簡單介紹:

sem實際上是semaphores的縮寫,查看當前設置

[Oracle@ebsse oracle]$ cat /proc/sys/kernel/sem

250 32000 100 128

4個數據分別對應

SEMMSL SEMMNS SEMOPM SEMMNI

如當Oracle DB初始化參數文件中PROCESSES參數設置較大時,須要調整SEMAPHORES設置

SEMMSL應該設置爲服務器中各個實例中最大的PROCESSES參數+10,例如,當最大的PROCESSES參數爲5000時,SEMMSL應設置爲5010。

SEMMNS參數應設置爲SEMMSL*SEMMNI,接上例SEMMSL爲5010,SEMMNS參數應爲(5010*128)=641280。

SEMOPM參數應設置與SEMMSL參數相同,接上例此處應設置爲5010

更改當前SEMAPHORES參數設置:

[Oracle@ebsse oracle]$ su

Password:

[root@ebsse Oracle]# echo "5010 641280 5010 128" > /proc/sys/kernel/sem

[root@ebsse Oracle]# cat /proc/sys/kernel/sem

5010 641280 5010 128

如需啓動時自動應用,可在/etc/sysctl.conf增長:

kernel.sem =5010 641280 5010 128

SEMMNI 100 Defines the maximum number of semaphore sets in the entire system.

SEMMNS 256 Defines the maximum semaphores on the system. This setting is a minimum recommended value, for initial installation only. The SEMMNS parameter should be set to the sum of the PROCESSES parameter for each Oracle database, adding the largest one twice, and then adding an additional 10 for each database.

SEMOPM 100 Defines the maximum number of operations for each semop call.

SEMMSL 100 Defines the minimum recommended value, for initial installation only.

SHMMAX 2147483648 Defines the maximum allowable size of one shared memory segment. 2 GB for SMP kernel. The recommended size is half the RAM size.

SHMMIN 1 Defines the minimum allowable size of a single shared memory segment.

SHMMNI 100 Defines the maximum number of shared memory segments in the entire system.

SHMSEG 4096 Defines the maximum number of shared memory segments one process can attach.

SHMVMX 32767 Defines the maximum value of a semaphore.

SEMMSL :每一個信號量集中的最大信號量數 200

SEMMNS :系統中信號量集的最大數 20000

SEMOPM :每一個semop調用所包含的最大操做數 200

SEMMNI :系統中信號量集的最小數 100

例子:

Linux X86-64操做系統,Oracle 10g數據庫,由8G加到16G,把kernel.shmmax參數改到17179869184(16G)後,發現只要修改sga_max_size和sga_target參數到超過8G,Oracle就會報內存不夠沒法啓動,檢查另外兩個共享內存參數相關參數:kernel.shmall和kernel.shmmni,kernel.shmall參數是控制共享內存頁數,kernel.shmmni參數是控制共享內存段總數,目前的參數值是4096,足夠大了,那麼問題應該是出在kernel.shmall上,用8589934592(8G)除以當前的參數值2097152,結果是4096,說明頁大小是4K,如今要把SGA調到大於8G,就要調大kernel.shmall參數,調整到當前值的2倍(4194304)後,就能夠成功地將sga設置到13G了。

b) 附件2:linux limits.conf 配置

limits.conf 文件實際是 Linux PAM(插入式認證模塊,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,並且只針對於單個會話。

limits.conf的格式以下:

username|@groupname type resource limit

username|@groupname:設置須要被限制的用戶名,組名前面加@和用戶名區別。也能夠用通配符*來作全部用戶的限制。

type:有 soft,hard 和 -,soft 指的是當前系統生效的設置值。hard 代表系統中所能設定的最大值。soft 的限制不能比hard 限制高。用 - 就代表同時設置了 soft 和 hard 的值。

resource:

core - 限制內核文件的大小

date - 最大數據大小

fsize - 最大文件大小

memlock - 最大鎖定內存地址空間

nofile - 打開文件的最大數目

rss - 最大持久設置大小

stack - 最大棧大小

cpu - 以分鐘爲單位的最多 CPU 時間

noproc - 進程的最大數目

as - 地址空間限制

maxlogins - 此用戶容許登陸的最大數目

要使 limits.conf 文件配置生效,必需要確保 pam_limits.so 文件被加入到啓動文件中。查看 /etc/pam.d/login 文件中有:

session required /lib/security/pam_limits.so

 

10. 使用oracle用戶登錄,輸入startx ,進入圖形界面,而後再進入安裝目錄輸入./runInstaller開始安裝.

 

11. 配置安全更新

p_w_picpath

12. 跳過軟件更新配置

p_w_picpath

13. 安裝選項選擇建立數據庫

p_w_picpath

14. 系統類型選擇服務器類型

p_w_picpath

15. 安裝單實例數據庫

p_w_picpath

16. 選擇是否自定義安裝

p_w_picpath

17. 產品語言選擇,english和simple chinese都選上

p_w_picpath

18. 數據庫版本選擇企業版

p_w_picpath

19. 安裝路徑以環境變量裏的配置爲準

p_w_picpath

20. 選擇oracle安裝組

p_w_picpath

21. 選擇數據庫類型爲oltp類型

p_w_picpath

22. 根據實際須要輸入數據庫實例名

p_w_picpath

23. 選擇字符集等參數

p_w_picpath

24. 選擇文件系統,暫不使用asm

p_w_picpath

25. 設置系統帳戶密碼

p_w_picpath

26. 選擇數據庫管理員組

p_w_picpath

27. 安裝檢查

p_w_picpath

28. 開始安裝

p_w_picpath

29. 在安裝中會彈出一個要求執行u01/oraInventory/oraInstRoot.sh和/u01/oracle/root.sh的提示框,以ROOT用戶執行這兩個文件後結束安裝
p_w_picpath

相關文章
相關標籤/搜索