一次Linux虛擬機器安裝Oracle 11G資料庫經歷

abstractcyj發表於2015-10-21
10.20下午,接到任務,說是要在客戶的Linux系統上安裝Oracle 11G資料庫搭建一個測試環境。
趕緊聯絡客戶現場,遠端過去。
cat /etc/issue

發現是Oracle Enterprise Linux 6.0。
接著,想通過yum安裝Oracle的依賴包。

cd /etc/y/etc/yum.repos.d

wget http://public-yum.oracle.com/public-yum-ol6.repo

發現虛擬機器無法解析域名。將域名改成IP,也不可行。下載不了repo
檢查網路卡配置以及/etc/resolv.conf, 最後折騰了半天, 在/ect/resolv.conf中增加了一個nameserver 8.8.8.8

最終,可以成功的wget以及oracle-rdbms-server-11gR2-preinstall 

但是這個與oracle 12c原裝不同,預安裝完成後並沒有建立相關的使用者組與oracle使用者。

建立使用者組:groupadd oinstall
                 groupadd dba
                 groupadd oper

建立使用者:useradd -g oinstall -G dba,oper oracle

隨後修改oracle使用者密碼: passwd oracle

隨後增加必要的引數:
修改核心引數檔案:/etc/sysctl.conf
新增如下內容:
fs.file-max = 6815744 
fs.aio_max_nr=1048576 
kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
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 = 1048576
 
在安裝的時候漏掉了
kernel.shmmax = 2147483648 
導致預檢查以及建立資料庫的時候出錯了。

編輯系統資源限制配置檔案 vi /etc/security/limits.conf,在該檔案下新增如下行:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

編輯檔案 vi /etc/pam.d/login,新增如下行
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


編輯檔案 vi /home/oracle/.bash_profile,新增如下行:


ORACLE_BASE=/opt/oracle; #安裝目錄
ORACLE_HOME=$ORACLE_BASE/11g; 
ORACLE_SID=orcl; #例項名
LD_LIBRARY_PATH=$ORACLE_HOME/lib;
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin;
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH;

儲存退出後執行如下命令使以上設定立即生效:
source /home/oracle/.bash_profile

因為資料庫安裝檔案是放在光碟裡的,而且是掛載在另外一個使用者下的,沒許可權去訪問光碟檔案,
沒法子,只好把光碟裡的檔案通過root使用者拷貝到/home/oracle/install下,拷貝完成後通過
修改安裝檔案的owner
chown -R oracle:oinstall *
修改安裝檔案的許可權
chmod -R 755 *

通過圖形介面啟動安裝程式:
./runInstaller

這裡碰到了問題, 安裝程式啟動到了一半,崩潰了。
出現了類似錯誤:
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x00000036d1614d70, pid=4234, tid=140183010223888
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_17-b03 mixed mode)
# Problematic frame:
# C [ld-linux-x86-64.so.2+0x14d70]
#
# An error report file with more information is saved as hs_err_pid4234.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#


不知所以然,只好谷歌:
關鍵字:
 an unexpected error has been detected by hotspot virtual machine sigseg 

最後答案:
To fixed this error, execute this command on shell before launching the oracle runInstaller
export LD_BIND_NOW=1
設定個環境變數:

LD_BIND_NOW=1

此處需要科學上網:
http://www.mr2t.com/oracle-database-11gr2-runinstaller-an-unexpected-error-ld-linux-x86-64-so-20x14d70

接著啟動安裝程式,一路下一步。

因為引數
kernel.shmmax沒有設定引起的資料庫建立的錯誤,可以通過再新增這個引數,重新建立資料庫的方式去解決。
這個並不影響資料庫軟體的安裝。

 不過這些引數的意義,應該弄明白

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

相關文章