CentOS 7 安裝 Oracle 11g

新到的云主機(jī)環(huán)境,系統(tǒng)是CentOS 7 x86_64,需要安裝上安裝Oracle11.2g。摸索很長時(shí)間,終于折騰搞定了。


下載 Oracle

  1. 下載地址:Oracle 11.2.0.2 (因?yàn)椴皇且迅顿M(fèi)用戶,只能下載 11.2.0.2,不能下載最新的11.2.0.4。囧)

下載下來之后是有兩個(gè)壓縮包:

  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip
  1. 解壓

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

配置

增加oracle用戶和相關(guān)用戶組

  1. 切換到root用戶

    su - root

  2. 增加用戶組

    --required groups
    /usr/sbin/groupadd -g 501 oinstall
    /usr/sbin/groupadd -g 502 dba
    /usr/sbin/groupadd -g 503 oper

  3. 增加用戶

    /usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle

  4. 設(shè)置oracle用戶的密碼

    passwd oracle

    然后輸入想要設(shè)置的密碼。

系統(tǒng)配置

  1. 修改 /etc/sysctl.conf

    vim /etc/sysctl.conf

    增加以下內(nèi)容:

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

    使修改生效:

    /sbin/sysctl -p

  2. 修改 /etc/security/limits.conf

    vim /etc/security/limits.conf

    增加以下內(nèi)容

    oracle   soft   nproc    131072
    oracle   hard   nproc    131072
    oracle   soft   nofile   131072
    oracle   hard   nofile   131072
    oracle   soft   core     unlimited
    oracle   hard   core     unlimited
    oracle   soft   memlock  50000000
    oracle   hard   memlock  50000000
    
  3. 確保/etc/hosts中含有服務(wù)器機(jī)器名稱,像這樣(如果已經(jīng)含有了,就略過此步):

    <IP-address> <fully-qualified-machine-name> <machine-name>

    比如服務(wù)器名稱是centos7-001,曾可以配置成這樣:

    127.0.0.1 centos7-001 localhost localhost.localdomain

    然后ping一下試試:

    ping -c 1 centos7-001

    正確的結(jié)果:

     --- centos7 ping statistics ---
     1 packets transmitted, 1 received, 0% packet loss, time 0ms
    
  4. 修改/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
    
  5. 修改oracle用戶環(huán)境變量

    切換到 oracle 用戶

    su - oracle

    修改 .bash_profile,添加以下內(nèi)容:

    # Oracle Settings
    export TMP=/tmp
    
    umask 022
    export ORACLE_BASE=/data2/oracle/app                # 安裝路徑根據(jù)實(shí)際情況修改
    export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1    # 安裝路徑根據(jù)實(shí)際情況修改
    export ORACLE_HOME
    PATH=$PATH:$ORACLE_HOME/bin
    export PATH
    

    使之生效:

    source .bash_profile

  6. 創(chuàng)建安裝路徑并授權(quán)給oracle用戶

    su - root 
    
    mkdir -p /data2/oracle/app
    chown oracle:oinstall /data2/oracle/app
    chmod 775 /data2/oracle/app
    
    mkdir -p /data2/oracle/app/oracle
    chown oracle:oinstall /data2/oracle/app/oracle
    chmod 775 /data2/oracle/app/oracle
    
    mkdir -p /data2/oracle/app/oracle/product/11.2.0/db_1
    chown oracle:oinstall -R /data2/oracle/app/oracle
    

安裝依賴

> yum -y install binutils compat-libcap1  compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

安裝圖形界面

  1. CentOS 7 安裝GNOME圖形界面

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

  2. 安裝Gnome GUI使用時(shí)報(bào)錯(cuò):

    Transaction check error:
    file /usr/lib/systemd/system/blk-availability.service from install of  device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    
    Error Summary
    -------------
    

    解決辦法,先升級(jí)lvm2:

    yum -y install lvm2

安裝Oracle

  1. 因?yàn)槭褂玫氖沁h(yuǎn)程主機(jī),所以要遠(yuǎn)程Linux圖形桌面,我這里使用的是VNC

    在遠(yuǎn)程主機(jī)上安裝vnc:

    yum -y install vnc-server

    設(shè)置密碼:

    vncpasswd

    啟動(dòng)vncserver:

    vncserver

    設(shè)置DISPLAY:

    export DISPLAY=:1

    設(shè)置圖形桌面訪問權(quán)限

    xhost +

    vncserver默認(rèn)端口是5900 + 序號(hào),第一個(gè)即5901

    在本地的windows環(huán)境下安裝并運(yùn)行vnc客戶端,下載地址: https://www.realvnc.com/download/vnc/

  2. 使用vnc連接到遠(yuǎn)程主機(jī),在桌面上右鍵打開命令行,進(jìn)入到oracle所在路徑,然后:

    cd database
    export DISPLAY=:1
    ./runInstaller

    然后就可以啟動(dòng)oracle圖形界面安裝向?qū)Я恕?/p>

遇到的問題

  1. 安裝Gnome GUI使用時(shí)報(bào)錯(cuò):

    Transaction check error:
    file /usr/lib/systemd/system/blk-availability.service from install of  device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
    
    Error Summary
    -------------
    

    解決辦法,先升級(jí)lvm2:

    yum -y install lvm2

  2. 安裝oracle時(shí)報(bào)錯(cuò)memcpy@GLIBC_2.14未找到:

    INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
    collect2: error: ld returned 1 exit status
    INFO: make: *** [ctxhx] Error 1
    INFO: End output from spawned process.
    

    解決辦法,先查看 /usr/lib64/libc.a是否存在:

    ls /usr/lib64 | grep libc.a

    如果查找不到先安裝:glibc-static,如果有則略過此步

    yum -y install glibc-static

    修改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
    

    然后點(diǎn)擊retry通過

  3. 安裝oracle時(shí)報(bào)錯(cuò)Error in invoking target 'agent nmhs':

    Error in invoking target 'agent nmhs' of makefile '/data2/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'
    

    解決辦法:修改 $ORACLE_HOME/sysman/lib/ins_emagent.mk

    $(MK_EMAGENT_NMECTL)

    修改為

    $(MK_EMAGENT_NMECTL) -lnnz11

    然后點(diǎn)擊retry通過

  4. 至此,就可以使用sqldevelper等客戶端連接oracle了


參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容