Centos7 靜默安裝Oracle11g以及可視化安裝常見問題

Linux安裝Oracle 11g (圖形,靜默兩種安裝方式)

環境:Centos 7.3
內存>1G
磁盤空間>7G
安裝Openssh
運行級別 runlevel 3 or runlevel 5
Oracle版本:linux.x64_11gR2
關閉SElinux 和 防火牆

修改內核參數:
Linux安裝文檔中給出的最小值:
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048586
可以直接添加到這個文件,然後sysctl –p使改動生效
[root@oracle ~]# sysctl –p
kernel.shmmax
是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的過低可能會導致需要創建多個共享內存段,這樣可能導致系統性能的下降。至於導致系統下降的主要原因爲在實例啓動以及ServerProcess創建的時候,多個小的共享內存段可能會導致當時輕微的系統性能的降低(在啓動的時候需要去創建多個虛擬地址段,在進程創建的時候要讓進程對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。
官方建議值:
32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,所以如果是32爲系統,一般可取值爲4294967295。32位系統對SGA大小有限制,所以SGA肯定可以包含在單個共享內存段中。
64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,一般取值大於SGA_MAX_SIZE即可,可以取物理內存-1byte。例如,如果爲12GB物理內存,可取1210241024*1024-1=12884901887,SGA肯定會包含在單個共享內存段中

oracle用戶設置限制:
[root@oracle ~]# 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
在文件末尾直接添上述文本即可

在/etc/pam.d/login 文件中,使用文本編輯器或vi命令增加或修改以下內容
session required /lib/security/pam_limits.so
session required pam_limits.so

在/etc/profile 文件中,使用文本編輯器或vi命令增加或修改以下內容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使設置生效 
source /etc/profile

官方建議的依賴包(可以是當前版本或者高於當前版本)
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
unixODBC-2.3.1 or later

我在本次操作中的查詢和安裝
查詢
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
安裝
yum install unixODBC unixODBC-devel compat-libstdc++ elfutils-libelf-devel glibc ksh libaio-devel sysstat compat-libstdc++-33 gcc gcc-c++ glibc-2.5 glibc-devel glibc-headers libstdc++-devel

在/etc/hosts裏面加主機名解析
[root@oracle ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.32 oracle

創建oracle用戶組和oracle所需的目錄,權限設置
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba oracle
passwd oracle

創建目錄結構
mkdir -p /u01
chown -R oracle:oinstall /u01
chmod -R 775 /u01
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app
安裝包存放路徑 /u01/OraDB12c/
mkdir -p /u01/OraDB12c/

去解壓目錄找模板
cd /u01/OraDB12c/database/response
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
拷貝三個模板到自己的目錄 /u01/myinstall
mkdir -p /u01/myinstall
cp .rsp /u01/myinstall/
chown oracle:oinstall /u01/myinstall/
.rsp
chmod 700 /u01/myinstall/*.rsp 

配置Oracle用戶環境變量:
su - oracle
 
vi ~/.bash_profile
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
使設置生效
source /home/oracle/.bash_profile

準備db_install.rsp
su - oracle
修改安裝Oracle軟件的響應文件/home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安裝類型
ORACLE_HOSTNAME=oracle //37 行 主機名稱
UNIX_GROUP_NAME=oinstall //42 行 安裝組
INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 選擇語言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home
ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=false //108行 自定義安裝
oracle.install.db.DBA_GROUP=dba //142行 dba用戶組
oracle.install.db.OPER_GROUP=oinstall //147行 oper用戶組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 數據庫類型
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.memoryLimit=512 //200行 自動管理內存的最小內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 設定所有數據庫用戶使用同一個密碼
DECLINE_SECURITY_UPDATES=true //385行 設置安全更新

靜默安裝oracle
/u01/OraDB12c/database/runInstaller -silent -responseFile /u01/myinstall/db_install.rsp
安裝中,如果提示[WARNING]不必理會,此時安裝程序仍在進行,如果出現[FATAL],則安裝程序已經停止了。
查看安裝日誌信息瞭解安裝進度
 cd $ORACLE_BASE/oraInventory/logs
tail -f install....log
出現類似如下提示表示安裝完成:
#-------------------------------------------------------------------
...
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:

  1. Open a terminal window 
  2. Log in as "root" 
  3. Run the scripts 
  4. Return to this window and hit "Enter" key to continue
     
    Successfully Setup Software.
    #-------------------------------------------------------------------
    如果執行安裝命令失敗的,失敗錯誤:

Centos7 靜默安裝Oracle11g以及可視化安裝常見問題

-ignorePrereq命令,就可以了,忽略掉了

/u01/OraDB12c/database/runInstaller -ignorePrereq -silent -responseFile /u01/myinstall/db_install.rap

使用root用戶執行root.sh
su root
/u01/app/oracle/product/11.2.0/db_1/root.sh
增加oracle環境變量
su - oracle
vi ~/.bash_profile
在最後加上以下內容
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
export DISPLAY=172.20.1.1:1.0
使設置生效
source /home/oracle/.bash_profile

靜默安裝監聽
netca.rsp 不用修改,默認就行
su – oracle
/u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /u01/myinstall/netca.rsp
監聽過程中可能會報錯,如下:
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
執行yum install libXp*
再次執行監聽命令。
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題

靜默dbca建庫
vi /u01/OraDB12c/database/response/dbca.rsp
SYSPASSWORD = "2018@Oracle"
SYSTEMPASSWORD =
SYSMANPASSWORD =
DBSNMPPASSWORD =
修改這四個選項,建議設置一致

$ORACLE_HOME/bin/dbca -silent -responsefile /u01/myinstall/dbca.rsp
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題

查看進程:
ps -ef | grep tnslsnr
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題

用sqlplus訪問
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
安裝成功

如果是圖形界面安裝的話,可能會出現消息框變成一條豎線
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
首先需要準備jdk
執行:./runInstaller -jreLoc /etc/alternatives/jre_1.8.0可以解決

還有一個比較容易出錯的地方是:
Centos7 靜默安裝Oracle11g以及可視化安裝常見問題
如果出現這個錯誤,需要修改一下兩個文件:
該軟件包包含一個靜態鏈接庫:/usr/lib64/libc.a
修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,將
ctxhx: $(CTXHXOBJ)
      $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改爲:
ctxhx: $(CTXHXOBJ)
      -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
點擊Retry繼續安裝。接着又提示”Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.' ,解決方法:在makefile中添加鏈接libnnz11庫的參數
修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,將
$(MK_EMAGENT_NMECTL)修改爲:$(MK_EMAGENT_NMECTL) -lnnz11
點擊Retry繼續安裝。
安裝成功!

可視化安裝步驟可以參考:
https://www.linuxidc.com/Linux/2017-06/144630.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章