天天看點

centos7 oracle11gr2 semmni,【參考資料】Linux(CentOS 7.0)安裝Oracle11g R2

// 注釋     # root使用者   $oracle使用者

1. 關閉安全措施

# chkconfig iptables off // 永久關閉防火牆

# serviceiptables stop // 暫時關閉防火牆,重新開機系統後會自動打開

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config // 關閉Selinux

2. 驗證硬體

2.1 記憶體:

要求:記憶體最小1G,推薦2G或者更高。

檢視指令:# grep MemTotal /proc/meminfo

2.2 Swap:

要求:

RAWSwap

1G至2G1.5倍

2G至16G同RAW相等

16G以上16G

檢視指令:# grep SwapTotal /proc/meminfo

# free

3. 驗證軟體

3.1 作業系統Asianux Server 3 SP2

Oracle Linux 4 Update 7

Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)

Oracle Linux 5 Update 5

Oracle Linux 6

Oracle Linux 6 (with Red Hat Compatible Kernel)

Red Hat Enterprise Linux 4 Update 7

Red Hat Enterprise Linux 5 Update 2

Red Hat Enterprise Linux 5 Update 5 (with the Oracle Unbreakable Enterprise Kernel for Linux)

Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 6 (with the Oracle Unbreakable Enterprise Kernel for Linux)

SUSE Linux Enterprise Server 10 SP2

SUSE Linux Enterprise Server 11

CentOS7本文按照Red Hat Enterprise Linux 6來配置。

# cat /proc/version // 檢視版本

3.2 核心On Oracle Linux 4 and Red Hat Enterprise Linux 4 2.6.9 or later

On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel 2.6.18 or later

On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel 2.6.18 or later

On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel 2.6.32-100.0.19 or later

On Oracle Linux 6 2.6.32-100.28.5.el6.x86_64 or later

On Oracle Linux 6 with Red Hat Compatible Kernel 2.6.32-71.el6.x86_64 or later

On Red Hat Enterprise Linux 5 Update 2 2.6.18 or later

On Red Hat Enterprise Linux 5 Update 5 2.6.18 or later

On Red Hat Enterprise Linux 5 Update 5 with Unbreakable Enterprise Kernel 2.6.32 or later

On Red Hat Enterprise Linux 6 2.6.32-71.el6.x86_64 or later

On Red Hat Enterprise Linux 6 with Unbreakable Enterprise Kernel 2.6.32-100.28.5.el6.x86_64 or later

On Asianux Server 3 2.6.18 or later

On SUSE Linux Enterprise Server 10 2.6.16.21 or later

On SUSE Linux Enterprise Server 11 2.6.27.19 or later

# uname -r   //檢視核心

3.3 驗證需要的包:

# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel // 驗證指令26個包kernel-headers-3.10.0-123.el7.x86_64

gcc-c++-4.8.2-16.el7.x86_64

numactl-devel-2.0.9-2.el7.x86_64

glibc-headers-2.17-55.el7.x86_64

glibc-common-2.17-55.el7.x86_64

binutils-2.23.52.0.1-16.el7.x86_64

unixODBC-devel-2.3.1-10.el7.x86_64

libaio-0.3.109-12.el7.x86_64

make-3.82-21.el7.x86_64

elfutils-libelf-0.158-3.el7.x86_64

elfutils-libelf-devel-0.158-3.el7.x86_64

sysstat-10.1.5-4.el7.x86_64

glibc-static-2.17-55.el7.x86_64

glibc-devel-2.17-55.el7.x86_64

glibc-2.17-55.el7.x86_64

elfutils-libelf-devel-static-0.158-3.el7.x86_64

libaio-0.3.109-12.el7.i686

gcc-4.8.2-16.el7.x86_64

libgcc-4.8.2-16.el7.i686

libstdc++-static-4.8.2-16.el7.x86_64

libaio-devel-0.3.109-12.el7.x86_64

libstdc++-4.8.2-16.el7.x86_64

libaio-devel-0.3.109-12.el7.i686

unixODBC-2.3.1-10.el7.x86_64

libstdc++-devel-4.8.2-16.el7.x86_64

compat-libstdc++-33-3.2.3-71.el7.x86_64

libgcc-4.8.2-16.el7.x86_64

libgomp-4.8.2-16.el7.x86_64

#rpm -ivh 安裝包名 // 安裝程式包

注:

(1)安裝glibc-2.17-55.el7.i686.rpm時,因為依賴包互相依賴,需要與依賴包同時安裝:rpm -ivh glibc-2.17-55.el7.i686.rpm nss-softokn-freebl-3.15.4-2.el7.i686.rpm(2)RHEL7中缺少包compat-libstdc++-33,可以在RHEL6中找到.(3)在Oracle資料庫軟體安裝時,ksh實際是用的pdksh,但ksh也是可以使用的,隻是安裝時會有警告,pdksh是一個早期的軟體包,可以在以下網站找到.http://rpm.pbone.net/

4. 建立組和使用者

# groupadd dba# groupadd oinstall# useradd -m -g oinstall -G dba oracle# passwd oracle// 如果nobody使用者不存在(id nobody指令檢視),則建立:# useradd nobody

5. 配置核心

注:配置大于系統資料需要配置更改,否則不需要配置。

要求配置:參數最小值檔案指令

semmslsemmnssemopmsemmni5032000100128/proc/sys/kernel/sem# /sbin/sysctl -a | grep sem

shmall2097152/proc/sys/kernel/shmall# /sbin/sysctl -a | grep shm

shmmax4294967296/proc/sys/kernel/shmmax// 最大共享記憶體,官方文檔建議是記憶體的1/2// 我的伺服器是8G記憶體,是以為4*1024*1024*1024// 最小值為536870912(1G記憶體/2)# /sbin/sysctl -a | grep shm

shmmni4096/proc/sys/kernel/shmmni# /sbin/sysctl -a | grep shm

file-max6815744/proc/sys/fs/file-max# /sbin/sysctl -a | grep file-max

ip_local_port_range9000 65500/proc/sys/net/ipv4/ip_local_port_range# /sbin/sysctl -a | grep ip_local_port_range

rmem_default262144/proc/sys/net/core/rmem_default# /sbin/sysctl -a | grep rmem_default

rmem_max4194304/proc/sys/net/core/rmem_max# /sbin/sysctl -a | grep rmem_max

wmem_default262144/proc/sys/net/core/wmem_default# /sbin/sysctl -a | grep wmem_default

wmem_max1048576/proc/sys/net/core/wmem_max# /sbin/sysctl -a | grep wmem_max

aio-max-nr1048576

# vi /etc/sysctl.conf

按照系統值對比添加:

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576

儲存後生效指令:

# /sbin/sysctl -p

6. 建立安裝目錄

# mkdir -p /opt/oracle/product/11.2.0.1# chown -R oracle:oinstall /opt/oracle

# mkdir /var/oracle# chown oracle:oinstall  /var/oracle# chmod 755 /var/oracle

7. 配置環境變量

vi /etc/profile

增加下面行:if [ $USER = "oracle" ]; then        if [ $SHELL = "/bin/ksh" ]; then              ulimit -p 16384              ulimit -n 65536        else              ulimit -u 16384 -n 65536        fifi

使用Oracle使用者登陸:su - oraclevi ~/.bash_profile以下是配置檔案的内容,裡面已有的部分就不必在次添加了。# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specific environment and startup programsumask 022# +--------------------------+# | SETUP ORACLE ENVIRONMENT |# +--------------------------+

TMP=/tmpTMPDIR=/tmpexport TMP TMPDIR# 如果安裝出現相關問題請屏蔽下面5行,# 安裝好後再取消屏蔽這些環境變量設定export ORACLE_HOME=/opt/oracle/product/11.2.0.1    //跟之前建立的目錄路徑一直export ORACLE_BASE=/opt/oracleexport ORACLE_SID=afcsc                           //根據自己的環境添加SID名稱export TNS_ADMIN=$ORACLE_HOME/network/adminexport NLS_ LINUX STUFF |# +--------------------------+export "GREETINGS" |# +-------------+echo ".bash_profile executed"

執行:source ~/.bash_profile

8. 設定程序數和最大會話數

編輯檔案:

# vi /etc/security/limits.conf 加入以下語句:oracle           soft    nproc           2047oracle           hard    nproc           16384oracle           soft    nofile          1024oracle           hard    nofile          65536

9. 關聯設定編輯檔案:vi /etc/pam.d/login 加入以下語句:session    required     pam_limits.so(注意:根據最後一條session規則的注釋,應該加在最後一條規則之前)

9. 解壓縮

将linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip移動到移動到/tmp目錄下進行解壓縮。

$ cd /tmp

$ unzip linux.x64_11gR2_database_1of2.zip

$ unzip linux.x64_11gR2_database_2of2.zip

10. 安裝

$ cd /tmp/database/

$ ./runInstaller

注意:選擇advance install資料庫home設定為/opt/oracle/product/11.2.0.1資料庫全局名稱設定為afcsc                         //跟之前.bash_profile内的值一緻字元集選Simplified Chinese ZHS16GBK

檢查後會運作圖形化安裝界面。

安裝過程中連接配接庫時會出現兩個錯誤:

第一個:

/lib64/libstdc++.so中[email protected]_2.4找不到。

問題:glibc是2.17的庫,連接配接找的是2.14的庫。

解決辦法:改成靜态連結。

檢視 /usr/lib64/libc.a是否存在。

修改oracle安裝目錄下:$ORACLE_HOME/ctx/lib/ins_ctx.mk

ctxhx: $(CTXHXOBJ)        $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

修改為:

ctxhx: $(CTXHXOBJ)        -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a

然後點選retry通過。

第二個:

問題:undefinied reference symbol'B_DestroyKeyObject',檢視日志,實際就是沒有找到nnz11這個庫。

解決辦法:

修改/opt/oracle/product/11.2.0.1/sysman/lib/ins_emagent

$(MK_EMAGENT_NMECTL)

修改為:

$(MK_EMAGENT_NMECTL) -lnnz11

然後點選retry通過。

注:安裝需要遠端圖形化連接配接安裝oracle,具體方式和軟體這裡不說了。